$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
                 <Configuration
@@ -161,6 +163,8 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
+				Description="Executing test $(TargetName).exe..."
+				CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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=""$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no"
                         />
                 </Configuration>
@@ -163,7 +163,7 @@
                         />
                         <Tool
                                 Name="VCPostBuildEventTool"
-				Description="run test"
+				Description="Executing test $(TargetName).exe..."
                                 CommandLine=""$(TargetDir)\$(TargetName).exe" --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