Boost logo

Boost-Commit :

From: bdawes_at_[hidden]
Date: 2008-08-29 16:10:10


Author: bemandawes
Date: 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
New Revision: 48463
URL: http://svn.boost.org/trac/boost/changeset/48463

Log:
Boost.Filesystem: change tests to define BOOST_FILESYSTEM_NO_DEPRECATED. Expand deprecated_test.
Text files modified:
   trunk/libs/filesystem/example/mbcopy.cpp | 5
   trunk/libs/filesystem/example/simple_ls.cpp | 19 ++-
   trunk/libs/filesystem/test/convenience_test.cpp | 37 +-------
   trunk/libs/filesystem/test/deprecated_test.cpp | 179 +++++++++++++++++++++++++++++++++++++++
   trunk/libs/filesystem/test/fstream_test.cpp | 3
   trunk/libs/filesystem/test/large_file_support_test.cpp | 3
   trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/deprecated_test/deprecated_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj | 4
   trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj | 4
   trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj | 4
   trunk/libs/filesystem/test/operations_test.cpp | 51 +++++-----
   trunk/libs/filesystem/test/path_test.cpp | 118 +------------------------
   trunk/libs/filesystem/test/wide_test.cpp | 3
   17 files changed, 256 insertions(+), 194 deletions(-)

Modified: trunk/libs/filesystem/example/mbcopy.cpp
==============================================================================
--- trunk/libs/filesystem/example/mbcopy.cpp (original)
+++ trunk/libs/filesystem/example/mbcopy.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -9,6 +9,9 @@
 // Copy the files in a directory, using mbpath to represent the new file names
 // See http://../doc/path.htm#mbpath for more information
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/config.hpp>
 # ifdef BOOST_FILESYSTEM_NARROW_ONLY
 # error This compiler or standard library does not support wide-character strings or paths
@@ -74,7 +77,7 @@
   {
     if ( fs::is_regular_file(it->status()) )
     {
- copy_file( *it, target_dir / it->filename() );
+ copy_file( *it, target_dir / it->path().filename() );
     }
   }
 

Modified: trunk/libs/filesystem/example/simple_ls.cpp
==============================================================================
--- trunk/libs/filesystem/example/simple_ls.cpp (original)
+++ trunk/libs/filesystem/example/simple_ls.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -8,6 +8,9 @@
 
 // See http://www.boost.org/libs/filesystem for documentation.
 
+// As an example program, we don't want to use any deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include "boost/filesystem/operations.hpp"
 #include "boost/filesystem/path.hpp"
 #include "boost/progress.hpp"
@@ -22,7 +25,7 @@
   fs::path full_path( fs::initial_path<fs::path>() );
 
   if ( argc > 1 )
- full_path = fs::system_complete( fs::path( argv[1], fs::native ) );
+ full_path = fs::system_complete( fs::path( argv[1] ) );
   else
     std::cout << "\nusage: simple_ls [path]" << std::endl;
 
@@ -33,14 +36,14 @@
 
   if ( !fs::exists( full_path ) )
   {
- std::cout << "\nNot found: " << full_path.native_file_string() << std::endl;
+ std::cout << "\nNot found: " << full_path.file_string() << std::endl;
     return 1;
   }
 
   if ( fs::is_directory( full_path ) )
   {
     std::cout << "\nIn directory: "
- << full_path.native_directory_string() << "\n\n";
+ << full_path.directory_string() << "\n\n";
     fs::directory_iterator end_iter;
     for ( fs::directory_iterator dir_itr( full_path );
           dir_itr != end_iter;
@@ -51,24 +54,24 @@
         if ( fs::is_directory( dir_itr->status() ) )
         {
           ++dir_count;
- std::cout << dir_itr->filename() << " [directory]\n";
+ std::cout << dir_itr->path().filename() << " [directory]\n";
         }
         else if ( fs::is_regular_file( dir_itr->status() ) )
         {
           ++file_count;
- std::cout << dir_itr->filename() << "\n";
+ std::cout << dir_itr->path().filename() << "\n";
         }
         else
         {
           ++other_count;
- std::cout << dir_itr->filename() << " [other]\n";
+ std::cout << dir_itr->path().filename() << " [other]\n";
         }
 
       }
       catch ( const std::exception & ex )
       {
         ++err_count;
- std::cout << dir_itr->filename() << " " << ex.what() << std::endl;
+ std::cout << dir_itr->path().filename() << " " << ex.what() << std::endl;
       }
     }
     std::cout << "\n" << file_count << " files\n"
@@ -78,7 +81,7 @@
   }
   else // must be a file
   {
- std::cout << "\nFound: " << full_path.native_file_string() << "\n";
+ std::cout << "\nFound: " << full_path.file_string() << "\n";
   }
   return 0;
 }

Modified: trunk/libs/filesystem/test/convenience_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/convenience_test.cpp (original)
+++ trunk/libs/filesystem/test/convenience_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -10,6 +10,9 @@
 
 #include <boost/config/warning_disable.hpp>
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/convenience.hpp>
 namespace fs = boost::filesystem;
 using fs::path;
@@ -52,8 +55,6 @@
 
 int test_main( int, char*[] )
 {
- path::default_name_check( fs::no_check ); // names below not valid on all O/S's
- // but they must be tested anyhow
 
 // create_directories() tests ----------------------------------------------//
 
@@ -77,41 +78,13 @@
 
   path is_a_file( "xx/uu" );
   {
- std::ofstream f( is_a_file.native_file_string().c_str() );
+ std::ofstream f( is_a_file.external_file_string().c_str() );
     BOOST_CHECK( !!f );
   }
   BOOST_CHECK( throws_fs_error(
     boost::bind( BOOST_BND(fs::create_directories), is_a_file ) ) );
   BOOST_CHECK( throws_fs_error(
     boost::bind( BOOST_BND(fs::create_directories), is_a_file / "aa" ) ) );
-
-// extension() tests ---------------------------------------------------------//
-
- BOOST_CHECK( fs::extension("a/b") == "" );
- BOOST_CHECK( fs::extension("a/b.txt") == ".txt" );
- BOOST_CHECK( fs::extension("a/b.") == "." );
- BOOST_CHECK( fs::extension("a.b.c") == ".c" );
- BOOST_CHECK( fs::extension("a.b.c.") == "." );
- BOOST_CHECK( fs::extension("") == "" );
- BOOST_CHECK( fs::extension("a/") == "." );
-
-// basename() tests ----------------------------------------------------------//
-
- BOOST_CHECK( fs::basename("b") == "b" );
- BOOST_CHECK( fs::basename("a/b.txt") == "b" );
- BOOST_CHECK( fs::basename("a/b.") == "b" );
- BOOST_CHECK( fs::basename("a.b.c") == "a.b" );
- BOOST_CHECK( fs::basename("a.b.c.") == "a.b.c" );
- BOOST_CHECK( fs::basename("") == "" );
-
-// change_extension tests ---------------------------------------------------//
-
- BOOST_CHECK( fs::change_extension("a.txt", ".tex").string() == "a.tex" );
- BOOST_CHECK( fs::change_extension("a.", ".tex").string() == "a.tex" );
- BOOST_CHECK( fs::change_extension("a", ".txt").string() == "a.txt" );
- BOOST_CHECK( fs::change_extension("a.b.txt", ".tex").string() == "a.b.tex" );
- // see the rationale in html docs for explanation why this works
- BOOST_CHECK( fs::change_extension("", ".png").string() == ".png" );
 
 // recursive_directory_iterator tests ----------------------------------------//
 
@@ -133,7 +106,7 @@
 
   for ( it = fs::recursive_directory_iterator( "xx" );
         it != fs::recursive_directory_iterator(); ++it )
- { std::cout << *it << '\n'; }
+ { std::cout << it->path() << '\n'; }
 
   it = fs::recursive_directory_iterator( "xx" );
   BOOST_CHECK( it->path() == "xx/yy" );

Modified: trunk/libs/filesystem/test/deprecated_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/deprecated_test.cpp (original)
+++ trunk/libs/filesystem/test/deprecated_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -13,11 +13,152 @@
 // important to preserve existing code that uses the old names.
 
 #include <boost/filesystem.hpp>
+#include <boost/test/minimal.hpp>
 
 namespace fs = boost::filesystem;
+using boost::filesystem::path;
 
-int main()
+#define PATH_CHECK( a, b ) check( a, b, __LINE__ )
+
+namespace
 {
+ std::string platform( BOOST_PLATFORM );
+
+ int errors;
+
+ void check( const fs::path & source,
+ const std::string & expected, int line )
+ {
+ if ( source.string()== expected ) return;
+
+ ++errors;
+
+ std::cout << '(' << line << ") source.string(): \"" << source.string()
+ << "\" != expected: \"" << expected
+ << "\"" << std::endl;
+ }
+
+ void check_normalize()
+ {
+ PATH_CHECK( path("").normalize(), "" );
+ PATH_CHECK( path("/").normalize(), "/" );
+ PATH_CHECK( path("//").normalize(), "//" );
+ PATH_CHECK( path("///").normalize(), "/" );
+ PATH_CHECK( path("f").normalize(), "f" );
+ PATH_CHECK( path("foo").normalize(), "foo" );
+ PATH_CHECK( path("foo/").normalize(), "foo/." );
+ PATH_CHECK( path("f/").normalize(), "f/." );
+ PATH_CHECK( path( "/foo" ).normalize(), "/foo" );
+ PATH_CHECK( path( "foo/bar" ).normalize(), "foo/bar" );
+ PATH_CHECK( path("..").normalize(), ".." );
+ PATH_CHECK( path("../..").normalize(), "../.." );
+ PATH_CHECK( path("/..").normalize(), "/.." );
+ PATH_CHECK( path("/../..").normalize(), "/../.." );
+ PATH_CHECK( path("../foo").normalize(), "../foo" );
+ PATH_CHECK( path("foo/..").normalize(), "." );
+ PATH_CHECK( path("foo/../").normalize(), "./." );
+ PATH_CHECK( (path("foo") / "..").normalize() , "." );
+ PATH_CHECK( path("foo/...").normalize(), "foo/..." );
+ PATH_CHECK( path("foo/.../").normalize(), "foo/.../." );
+ PATH_CHECK( path("foo/..bar").normalize(), "foo/..bar" );
+ PATH_CHECK( path("../f").normalize(), "../f" );
+ PATH_CHECK( path("/../f").normalize(), "/../f" );
+ PATH_CHECK( path("f/..").normalize(), "." );
+ PATH_CHECK( (path("f") / "..").normalize() , "." );
+ PATH_CHECK( path("foo/../..").normalize(), ".." );
+ PATH_CHECK( path("foo/../../").normalize(), "../." );
+ PATH_CHECK( path("foo/../../..").normalize(), "../.." );
+ PATH_CHECK( path("foo/../../../").normalize(), "../../." );
+ PATH_CHECK( path("foo/../bar").normalize(), "bar" );
+ PATH_CHECK( path("foo/../bar/").normalize(), "bar/." );
+ PATH_CHECK( path("foo/bar/..").normalize(), "foo" );
+ PATH_CHECK( path("foo/bar/../").normalize(), "foo/." );
+ PATH_CHECK( path("foo/bar/../..").normalize(), "." );
+ PATH_CHECK( path("foo/bar/../../").normalize(), "./." );
+ PATH_CHECK( path("foo/bar/../blah").normalize(), "foo/blah" );
+ PATH_CHECK( path("f/../b").normalize(), "b" );
+ PATH_CHECK( path("f/b/..").normalize(), "f" );
+ PATH_CHECK( path("f/b/../").normalize(), "f/." );
+ PATH_CHECK( path("f/b/../a").normalize(), "f/a" );
+ PATH_CHECK( path("foo/bar/blah/../..").normalize(), "foo" );
+ PATH_CHECK( path("foo/bar/blah/../../bletch").normalize(), "foo/bletch" );
+ PATH_CHECK( path( "//net" ).normalize(), "//net" );
+ PATH_CHECK( path( "//net/" ).normalize(), "//net/" );
+ PATH_CHECK( path( "//..net" ).normalize(), "//..net" );
+ PATH_CHECK( path( "//net/.." ).normalize(), "//net/.." );
+ PATH_CHECK( path( "//net/foo" ).normalize(), "//net/foo" );
+ PATH_CHECK( path( "//net/foo/" ).normalize(), "//net/foo/." );
+ PATH_CHECK( path( "//net/foo/.." ).normalize(), "//net/" );
+ PATH_CHECK( path( "//net/foo/../" ).normalize(), "//net/." );
+
+ PATH_CHECK( path( "/net/foo/bar" ).normalize(), "/net/foo/bar" );
+ PATH_CHECK( path( "/net/foo/bar/" ).normalize(), "/net/foo/bar/." );
+ PATH_CHECK( path( "/net/foo/.." ).normalize(), "/net" );
+ PATH_CHECK( path( "/net/foo/../" ).normalize(), "/net/." );
+
+ PATH_CHECK( path( "//net//foo//bar" ).normalize(), "//net/foo/bar" );
+ PATH_CHECK( path( "//net//foo//bar//" ).normalize(), "//net/foo/bar/." );
+ PATH_CHECK( path( "//net//foo//.." ).normalize(), "//net/" );
+ PATH_CHECK( path( "//net//foo//..//" ).normalize(), "//net/." );
+
+ PATH_CHECK( path( "///net///foo///bar" ).normalize(), "/net/foo/bar" );
+ PATH_CHECK( path( "///net///foo///bar///" ).normalize(), "/net/foo/bar/." );
+ PATH_CHECK( path( "///net///foo///.." ).normalize(), "/net" );
+ PATH_CHECK( path( "///net///foo///..///" ).normalize(), "/net/." );
+
+ if ( platform == "Windows" )
+ {
+ PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
+ PATH_CHECK( path( "c:foo/.." ).normalize(), "c:" );
+
+ PATH_CHECK( path( "c:foo/../" ).normalize(), "c:." );
+
+ PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:/" );
+ PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
+ PATH_CHECK( path( "c:/.." ).normalize(), "c:/.." );
+ PATH_CHECK( path( "c:/../" ).normalize(), "c:/../." );
+ PATH_CHECK( path( "c:/../.." ).normalize(), "c:/../.." );
+ PATH_CHECK( path( "c:/../../" ).normalize(), "c:/../../." );
+ PATH_CHECK( path( "c:/../foo" ).normalize(), "c:/../foo" );
+ PATH_CHECK( path( "c:/../foo/" ).normalize(), "c:/../foo/." );
+ PATH_CHECK( path( "c:/../../foo" ).normalize(), "c:/../../foo" );
+ PATH_CHECK( path( "c:/../../foo/" ).normalize(), "c:/../../foo/." );
+ PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
+ }
+ else // POSIX
+ {
+ PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
+ PATH_CHECK( path( "c:foo/.." ).normalize(), "." );
+ PATH_CHECK( path( "c:foo/../" ).normalize(), "./." );
+ PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:" );
+ PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
+ PATH_CHECK( path( "c:/.." ).normalize(), "." );
+ PATH_CHECK( path( "c:/../" ).normalize(), "./." );
+ PATH_CHECK( path( "c:/../.." ).normalize(), ".." );
+ PATH_CHECK( path( "c:/../../" ).normalize(), "../." );
+ PATH_CHECK( path( "c:/../foo" ).normalize(), "foo" );
+ PATH_CHECK( path( "c:/../foo/" ).normalize(), "foo/." );
+ PATH_CHECK( path( "c:/../../foo" ).normalize(), "../foo" );
+ PATH_CHECK( path( "c:/../../foo/" ).normalize(), "../foo/." );
+ PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
+ }
+ }
+} // unnamed namespace
+
+//----------------------------------------------------------------------------//
+
+int test_main( int /*argc*/, char * /*argv*/[] )
+{
+ // The choice of platform is make at runtime rather than compile-time
+ // so that compile errors for all platforms will be detected even though
+ // only the current platform is runtime tested.
+ platform = ( platform == "Win32" || platform == "Win64" || platform == "Cygwin" )
+ ? "Windows"
+ : "POSIX";
+ std::cout << "Platform is " << platform << '\n';
+
+ path::default_name_check( fs::no_check );
+
   fs::directory_entry de( "foo/bar" );
 
   de.replace_leaf( "", fs::file_status(), fs::file_status() );
@@ -25,5 +166,39 @@
   de.leaf();
   de.string();
 
- return 0;
+ fs::path ng( " no-way, Jose" );
+ BOOST_CHECK( !fs::is_regular( ng ) ); // verify deprecated name still works
+ BOOST_CHECK( !fs::symbolic_link_exists( "nosuchfileordirectory" ) );
+
+ check_normalize();
+
+// extension() tests ---------------------------------------------------------//
+
+ BOOST_CHECK( fs::extension("a/b") == "" );
+ BOOST_CHECK( fs::extension("a/b.txt") == ".txt" );
+ BOOST_CHECK( fs::extension("a/b.") == "." );
+ BOOST_CHECK( fs::extension("a.b.c") == ".c" );
+ BOOST_CHECK( fs::extension("a.b.c.") == "." );
+ BOOST_CHECK( fs::extension("") == "" );
+ BOOST_CHECK( fs::extension("a/") == "." );
+
+// basename() tests ----------------------------------------------------------//
+
+ BOOST_CHECK( fs::basename("b") == "b" );
+ BOOST_CHECK( fs::basename("a/b.txt") == "b" );
+ BOOST_CHECK( fs::basename("a/b.") == "b" );
+ BOOST_CHECK( fs::basename("a.b.c") == "a.b" );
+ BOOST_CHECK( fs::basename("a.b.c.") == "a.b.c" );
+ BOOST_CHECK( fs::basename("") == "" );
+
+// change_extension tests ---------------------------------------------------//
+
+ BOOST_CHECK( fs::change_extension("a.txt", ".tex").string() == "a.tex" );
+ BOOST_CHECK( fs::change_extension("a.", ".tex").string() == "a.tex" );
+ BOOST_CHECK( fs::change_extension("a", ".txt").string() == "a.txt" );
+ BOOST_CHECK( fs::change_extension("a.b.txt", ".tex").string() == "a.b.tex" );
+ // see the rationale in html docs for explanation why this works
+ BOOST_CHECK( fs::change_extension("", ".png").string() == ".png" );
+
+ return errors;
 }

Modified: trunk/libs/filesystem/test/fstream_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/fstream_test.cpp (original)
+++ trunk/libs/filesystem/test/fstream_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -9,6 +9,9 @@
 
 #include <boost/config/warning_disable.hpp>
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/fstream.hpp>
 #include <boost/filesystem/operations.hpp>
 #include <string>

Modified: trunk/libs/filesystem/test/large_file_support_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/large_file_support_test.cpp (original)
+++ trunk/libs/filesystem/test/large_file_support_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -8,6 +8,9 @@
 // See library home page at http://www.boost.org/libs/filesystem
 
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/operations.hpp>
 namespace fs = boost::filesystem;
 

Modified: trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/convenience_test/convenience_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/deprecated_test/deprecated_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/deprecated_test/deprecated_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/deprecated_test/deprecated_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,6 +86,8 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
+ Description="Executing test $(TargetName).exe..."
+ CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
                 <Configuration
@@ -161,6 +163,8 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
+ Description="Executing test $(TargetName).exe..."
+ CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
         </Configurations>

Modified: trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/fstream_test/fstream_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/large_file_support_test/large_file_support_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/mbcopy/mbcopy.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/operations_test/operations_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/path_test/path_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj
==============================================================================
--- trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj (original)
+++ trunk/libs/filesystem/test/msvc/wide_test/wide_test.vcproj 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -86,7 +86,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
- Description="run test"
+ Description="Executing test $(TargetName).exe..."
                                 CommandLine="&quot;$(TargetDir)\$(TargetName).exe&quot; --result_code=no --report_level=no"
                         />
                 </Configuration>

Modified: trunk/libs/filesystem/test/operations_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/operations_test.cpp (original)
+++ trunk/libs/filesystem/test/operations_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -9,6 +9,9 @@
 
 #include <boost/config/warning_disable.hpp>
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/operations.hpp>
 #include <boost/filesystem/convenience.hpp>
 #include <boost/cerrno.hpp>
@@ -215,7 +218,7 @@
   
   void bad_directory_size()
   {
- fs::file_size( fs::current_path() );
+ fs::file_size( fs::current_path<fs::path>() );
   }
   
   fs::path bad_create_directory_path;
@@ -301,7 +304,6 @@
   BOOST_CHECK( !fs::exists( ng ) );
   BOOST_CHECK( !fs::is_directory( ng ) );
   BOOST_CHECK( !fs::is_regular_file( ng ) );
- BOOST_CHECK( !fs::is_regular( ng ) ); // verify deprecated name still works
   BOOST_CHECK( !fs::is_symlink( ng ) );
   fs::file_status stat( fs::status( ng ) );
   BOOST_CHECK( fs::status_known( stat ) );
@@ -438,9 +440,6 @@
   BOOST_CHECK( !fs::is_symlink( dir ) );
   BOOST_CHECK( !fs::is_symlink( "nosuchfileordirectory" ) );
 
- BOOST_CHECK( !fs::symbolic_link_exists( dir ) );
- BOOST_CHECK( !fs::symbolic_link_exists( "nosuchfileordirectory" ) );
-
   fs::path d1( dir / "d1" );
   BOOST_CHECK( fs::create_directory( d1 ) );
   BOOST_CHECK( fs::exists( d1 ) );
@@ -477,7 +476,7 @@
     BOOST_CHECK( fs::is_directory( dir_itr->status() ) );
     BOOST_CHECK( fs::is_directory( fs::symlink_status(*dir_itr) ) );
     BOOST_CHECK( fs::is_directory( dir_itr->symlink_status() ) );
- BOOST_CHECK( dir_itr->filename() == "d1" );
+ BOOST_CHECK( dir_itr->path().filename() == "d1" );
   }
 
   // create a second directory named d2
@@ -497,21 +496,21 @@
     BOOST_CHECK( !fs::is_symlink(dir_itr->status()) );
 
     fs::directory_iterator dir_itr2( dir );
- BOOST_CHECK( dir_itr->filename() == "d1"
- || dir_itr->filename() == "d2" );
- BOOST_CHECK( dir_itr2->filename() == "d1" || dir_itr2->filename() == "d2" );
- if ( dir_itr->filename() == "d1" )
- {
- BOOST_CHECK( (++dir_itr)->filename() == "d2" );
- BOOST_CHECK( dir_itr2->filename() == "d1" );
- BOOST_CHECK( (++dir_itr2)->filename() == "d2" );
+ BOOST_CHECK( dir_itr->path().filename() == "d1"
+ || dir_itr->path().filename() == "d2" );
+ BOOST_CHECK( dir_itr2->path().filename() == "d1" || dir_itr2->path().filename() == "d2" );
+ if ( dir_itr->path().filename() == "d1" )
+ {
+ BOOST_CHECK( (++dir_itr)->path().filename() == "d2" );
+ BOOST_CHECK( dir_itr2->path().filename() == "d1" );
+ BOOST_CHECK( (++dir_itr2)->path().filename() == "d2" );
     }
     else
     {
- BOOST_CHECK( dir_itr->filename() == "d2" );
- BOOST_CHECK( (++dir_itr)->filename() == "d1" );
- BOOST_CHECK( (dir_itr2)->filename() == "d2" );
- BOOST_CHECK( (++dir_itr2)->filename() == "d1" );
+ BOOST_CHECK( dir_itr->path().filename() == "d2" );
+ BOOST_CHECK( (++dir_itr)->path().filename() == "d1" );
+ BOOST_CHECK( (dir_itr2)->path().filename() == "d2" );
+ BOOST_CHECK( (++dir_itr2)->path().filename() == "d1" );
     }
     BOOST_CHECK( ++dir_itr == fs::directory_iterator() );
     BOOST_CHECK( dir_itr2 != fs::directory_iterator() );
@@ -520,21 +519,21 @@
 
   { // *i++ must work to meet the standard's InputIterator requirements
     fs::directory_iterator dir_itr( dir );
- BOOST_CHECK( dir_itr->filename() == "d1"
- || dir_itr->filename() == "d2" );
- if ( dir_itr->filename() == "d1" )
+ BOOST_CHECK( dir_itr->path().filename() == "d1"
+ || dir_itr->path().filename() == "d2" );
+ if ( dir_itr->path().filename() == "d1" )
     {
- BOOST_CHECK( (*dir_itr++).filename() == "d1" );
- BOOST_CHECK( dir_itr->filename() == "d2" );
+ BOOST_CHECK( (*dir_itr++).path().filename() == "d1" );
+ BOOST_CHECK( dir_itr->path().filename() == "d2" );
     }
     else
     {
       // Check C++98 input iterator requirements
- BOOST_CHECK( (*dir_itr++).filename() == "d2" );
+ BOOST_CHECK( (*dir_itr++).path().filename() == "d2" );
       // input iterator requirements in the current WP would require this check:
       // BOOST_CHECK( implicit_cast<std::string const&>(*dir_itr++).filename() == "d1" );
 
- BOOST_CHECK( dir_itr->filename() == "d1" );
+ BOOST_CHECK( dir_itr->path().filename() == "d1" );
     }
 
     // test case reported in comment to SourceForge bug tracker [937606]
@@ -559,7 +558,7 @@
     bool found(false);
     do
     {
- if ( it->filename() == temp_dir_name ) found = true;
+ if ( it->path().filename() == temp_dir_name ) found = true;
     } while ( ++it != fs::directory_iterator() );
     BOOST_CHECK( found );
   }

Modified: trunk/libs/filesystem/test/path_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/path_test.cpp (original)
+++ trunk/libs/filesystem/test/path_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -13,6 +13,9 @@
 // on basename(), extension(), and change_extension() tests from the original
 // convenience_test.cpp by Vladimir Prus.
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/operations.hpp>
 #include <boost/utility.hpp>
 #include <iostream>
@@ -36,10 +39,10 @@
 
 namespace
 {
- int errors;
-
   std::string platform( BOOST_PLATFORM );
 
+ int errors;
+
   void check( const fs::path & source,
               const std::string & expected, int line )
   {
@@ -77,111 +80,6 @@
               << "\"" << std::endl;
   }
 
- void check_normalize()
- {
- PATH_CHECK( path("").normalize(), "" );
- PATH_CHECK( path("/").normalize(), "/" );
- PATH_CHECK( path("//").normalize(), "//" );
- PATH_CHECK( path("///").normalize(), "/" );
- PATH_CHECK( path("f").normalize(), "f" );
- PATH_CHECK( path("foo").normalize(), "foo" );
- PATH_CHECK( path("foo/").normalize(), "foo/." );
- PATH_CHECK( path("f/").normalize(), "f/." );
- PATH_CHECK( path( "/foo" ).normalize(), "/foo" );
- PATH_CHECK( path( "foo/bar" ).normalize(), "foo/bar" );
- PATH_CHECK( path("..").normalize(), ".." );
- PATH_CHECK( path("../..").normalize(), "../.." );
- PATH_CHECK( path("/..").normalize(), "/.." );
- PATH_CHECK( path("/../..").normalize(), "/../.." );
- PATH_CHECK( path("../foo").normalize(), "../foo" );
- PATH_CHECK( path("foo/..").normalize(), "." );
- PATH_CHECK( path("foo/../").normalize(), "./." );
- PATH_CHECK( (path("foo") / "..").normalize() , "." );
- PATH_CHECK( path("foo/...").normalize(), "foo/..." );
- PATH_CHECK( path("foo/.../").normalize(), "foo/.../." );
- PATH_CHECK( path("foo/..bar").normalize(), "foo/..bar" );
- PATH_CHECK( path("../f").normalize(), "../f" );
- PATH_CHECK( path("/../f").normalize(), "/../f" );
- PATH_CHECK( path("f/..").normalize(), "." );
- PATH_CHECK( (path("f") / "..").normalize() , "." );
- PATH_CHECK( path("foo/../..").normalize(), ".." );
- PATH_CHECK( path("foo/../../").normalize(), "../." );
- PATH_CHECK( path("foo/../../..").normalize(), "../.." );
- PATH_CHECK( path("foo/../../../").normalize(), "../../." );
- PATH_CHECK( path("foo/../bar").normalize(), "bar" );
- PATH_CHECK( path("foo/../bar/").normalize(), "bar/." );
- PATH_CHECK( path("foo/bar/..").normalize(), "foo" );
- PATH_CHECK( path("foo/bar/../").normalize(), "foo/." );
- PATH_CHECK( path("foo/bar/../..").normalize(), "." );
- PATH_CHECK( path("foo/bar/../../").normalize(), "./." );
- PATH_CHECK( path("foo/bar/../blah").normalize(), "foo/blah" );
- PATH_CHECK( path("f/../b").normalize(), "b" );
- PATH_CHECK( path("f/b/..").normalize(), "f" );
- PATH_CHECK( path("f/b/../").normalize(), "f/." );
- PATH_CHECK( path("f/b/../a").normalize(), "f/a" );
- PATH_CHECK( path("foo/bar/blah/../..").normalize(), "foo" );
- PATH_CHECK( path("foo/bar/blah/../../bletch").normalize(), "foo/bletch" );
- PATH_CHECK( path( "//net" ).normalize(), "//net" );
- PATH_CHECK( path( "//net/" ).normalize(), "//net/" );
- PATH_CHECK( path( "//..net" ).normalize(), "//..net" );
- PATH_CHECK( path( "//net/.." ).normalize(), "//net/.." );
- PATH_CHECK( path( "//net/foo" ).normalize(), "//net/foo" );
- PATH_CHECK( path( "//net/foo/" ).normalize(), "//net/foo/." );
- PATH_CHECK( path( "//net/foo/.." ).normalize(), "//net/" );
- PATH_CHECK( path( "//net/foo/../" ).normalize(), "//net/." );
-
- PATH_CHECK( path( "/net/foo/bar" ).normalize(), "/net/foo/bar" );
- PATH_CHECK( path( "/net/foo/bar/" ).normalize(), "/net/foo/bar/." );
- PATH_CHECK( path( "/net/foo/.." ).normalize(), "/net" );
- PATH_CHECK( path( "/net/foo/../" ).normalize(), "/net/." );
-
- PATH_CHECK( path( "//net//foo//bar" ).normalize(), "//net/foo/bar" );
- PATH_CHECK( path( "//net//foo//bar//" ).normalize(), "//net/foo/bar/." );
- PATH_CHECK( path( "//net//foo//.." ).normalize(), "//net/" );
- PATH_CHECK( path( "//net//foo//..//" ).normalize(), "//net/." );
-
- PATH_CHECK( path( "///net///foo///bar" ).normalize(), "/net/foo/bar" );
- PATH_CHECK( path( "///net///foo///bar///" ).normalize(), "/net/foo/bar/." );
- PATH_CHECK( path( "///net///foo///.." ).normalize(), "/net" );
- PATH_CHECK( path( "///net///foo///..///" ).normalize(), "/net/." );
-
- if ( platform == "Windows" )
- {
- PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
- PATH_CHECK( path( "c:foo/.." ).normalize(), "c:" );
-
- PATH_CHECK( path( "c:foo/../" ).normalize(), "c:." );
-
- PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:/" );
- PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
- PATH_CHECK( path( "c:/.." ).normalize(), "c:/.." );
- PATH_CHECK( path( "c:/../" ).normalize(), "c:/../." );
- PATH_CHECK( path( "c:/../.." ).normalize(), "c:/../.." );
- PATH_CHECK( path( "c:/../../" ).normalize(), "c:/../../." );
- PATH_CHECK( path( "c:/../foo" ).normalize(), "c:/../foo" );
- PATH_CHECK( path( "c:/../foo/" ).normalize(), "c:/../foo/." );
- PATH_CHECK( path( "c:/../../foo" ).normalize(), "c:/../../foo" );
- PATH_CHECK( path( "c:/../../foo/" ).normalize(), "c:/../../foo/." );
- PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
- }
- else // POSIX
- {
- PATH_CHECK( path( "c:.." ).normalize(), "c:.." );
- PATH_CHECK( path( "c:foo/.." ).normalize(), "." );
- PATH_CHECK( path( "c:foo/../" ).normalize(), "./." );
- PATH_CHECK( path( "c:/foo/.." ).normalize(), "c:" );
- PATH_CHECK( path( "c:/foo/../" ).normalize(), "c:/." );
- PATH_CHECK( path( "c:/.." ).normalize(), "." );
- PATH_CHECK( path( "c:/../" ).normalize(), "./." );
- PATH_CHECK( path( "c:/../.." ).normalize(), ".." );
- PATH_CHECK( path( "c:/../../" ).normalize(), "../." );
- PATH_CHECK( path( "c:/../foo" ).normalize(), "foo" );
- PATH_CHECK( path( "c:/../foo/" ).normalize(), "foo/." );
- PATH_CHECK( path( "c:/../../foo" ).normalize(), "../foo" );
- PATH_CHECK( path( "c:/../../foo/" ).normalize(), "../foo/." );
- PATH_CHECK( path( "c:/..foo" ).normalize(), "c:/..foo" );
- }
- }
 
   void exception_tests()
   {
@@ -343,12 +241,10 @@
     PATH_CHECK( path("c:") / "/foo", "c:/foo" );
   }
 
- check_normalize();
-
   if ( platform == "Windows" )
   {
- PATH_CHECK( path("c:", fs::native ) / "foo", "c:foo" );
- PATH_CHECK( path("c:", fs::native) / "/foo", "c:/foo" );
+ PATH_CHECK( path("c:") / "foo", "c:foo" );
+ PATH_CHECK( path("c:") / "/foo", "c:/foo" );
   }
 
   PATH_CHECK( "foo/bar", "foo/bar" );

Modified: trunk/libs/filesystem/test/wide_test.cpp
==============================================================================
--- trunk/libs/filesystem/test/wide_test.cpp (original)
+++ trunk/libs/filesystem/test/wide_test.cpp 2008-08-29 16:10:08 EDT (Fri, 29 Aug 2008)
@@ -10,6 +10,9 @@
 
 #include <boost/config/warning_disable.hpp>
 
+// See deprecated_test for tests of deprecated features
+#define BOOST_FILESYSTEM_NO_DEPRECATED
+
 #include <boost/filesystem/config.hpp>
 # ifdef BOOST_FILESYSTEM_NARROW_ONLY
 # error This compiler or standard library does not support wide-character strings or paths


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk