Update of /cvsroot/boost/boost/libs/system/test
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv24787/test

Modified Files:
      Tag: c++0x
        error_code_test.cpp error_code_user_test.cpp 
        system_error_test.cpp 
Log Message:
error_code op== and != now distinguish between portable and specific cases. 
Revert some other changes as unhelpful.

Index: error_code_test.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/system/test/error_code_test.cpp,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -d -r1.1.2.6 -r1.1.2.7
--- error_code_test.cpp 26 Jul 2007 20:22:20 -0000      1.1.2.6
+++ error_code_test.cpp 30 Jul 2007 02:03:39 -0000      1.1.2.7
@@ -32,10 +32,8 @@
 #   include "winerror.h"
 #   include <boost/cerrno.hpp>
 #   define BOOST_ACCESS_ERROR_MACRO ERROR_ACCESS_DENIED
-#   define BOOST_ACCESS_ERROR_CONSTANT boost::system::sys::access_denied
 # elif defined( BOOST_POSIX_API )
 #   define BOOST_ACCESS_ERROR_MACRO EACCES
-#   define BOOST_ACCESS_ERROR_CONSTANT permission_denied
 # else
 #   error "Only supported for POSIX and Windows"
 # endif
@@ -59,29 +57,27 @@
 
 int test_main( int, char ** )
 {
-  // reality check:
-  BOOST_CHECK( BOOST_ACCESS_ERROR_MACRO == BOOST_ACCESS_ERROR_CONSTANT );
-
   // unit tests:
   error_code ec;
   BOOST_CHECK( !ec );
   BOOST_CHECK( ec.value() == 0 );
   BOOST_CHECK( ec.posix() == 0 );
   BOOST_CHECK( ec.posix() == posix::no_error );
-  BOOST_CHECK( ec.category() == system_category );
-  BOOST_CHECK( ec.category().name() == "system" );
+  BOOST_CHECK( ec == posix::no_error );
+  BOOST_CHECK( ec.category() == posix_category );
+  BOOST_CHECK( ec.category().name() == "POSIX" );
 
   error_code ec_0_system( 0, system_category );
   BOOST_CHECK( !ec_0_system );
   BOOST_CHECK( ec_0_system.value() == 0 );
   BOOST_CHECK( ec_0_system.posix() == 0 );
   BOOST_CHECK( ec_0_system.posix() == posix::no_error );
+  BOOST_CHECK( ec_0_system == posix::no_error );
   BOOST_CHECK( ec_0_system.category() == system_category );
   BOOST_CHECK( ec_0_system.category().name() == "system" );
   check_ostream( ec_0_system, "system:0" );
 
   BOOST_CHECK( ec_0_system == ec );
-  BOOST_CHECK( ec_0_system.category() == ec.category() );
 
   error_code ec_1_system( 1, system_category );
   BOOST_CHECK( ec_1_system );
@@ -91,48 +87,46 @@
   BOOST_CHECK( ec_0_system != ec_1_system );
   check_ostream( ec_1_system, "system:1" );
 
-  // These are critical use-case tests; if these break, the library is not
-  // useful in production code. Thus it is particularly important that
-  // "improvements" to the library do not break these tests.
-  error_code ec2( BOOST_ACCESS_ERROR_CONSTANT );
-  ec = BOOST_ACCESS_ERROR_CONSTANT;
-  BOOST_CHECK( ec == ec2 );
-  BOOST_CHECK( ec == BOOST_ACCESS_ERROR_CONSTANT );
-  BOOST_CHECK( ec2 == BOOST_ACCESS_ERROR_CONSTANT );
-  BOOST_CHECK( ec.value() == BOOST_ACCESS_ERROR_CONSTANT );
-  BOOST_CHECK( ec2.value() == BOOST_ACCESS_ERROR_CONSTANT );
+  ec = error_code( BOOST_ACCESS_ERROR_MACRO, system_category );
+  BOOST_CHECK( ec );
+  BOOST_CHECK( ec.value() == BOOST_ACCESS_ERROR_MACRO );
+  BOOST_CHECK( ec.posix() == static_cast<int>(posix::permission_denied) );
   BOOST_CHECK( ec.posix() == posix::permission_denied );
-  BOOST_CHECK( ec2.posix() == posix::permission_denied );
+  BOOST_CHECK( posix::permission_denied == ec.posix() );
+  BOOST_CHECK( ec == posix::permission_denied );
+  BOOST_CHECK( ec.category() == system_category );
+  BOOST_CHECK( ec.category().name() == "system" );
 
 #ifdef BOOST_WINDOWS_API
   // these tests probe the Windows posix decoder
   //   test the first entry in the decoder table:
   ec = error_code( ERROR_FILE_NOT_FOUND, system_category );
   BOOST_CHECK( ec.value() == ERROR_FILE_NOT_FOUND );
-  BOOST_CHECK( ec.value() == sys::file_not_found );
-  BOOST_CHECK( ec == sys::file_not_found );
+  BOOST_CHECK( ec == posix::no_such_file_or_directory );
   BOOST_CHECK( ec.posix() == posix::no_such_file_or_directory );
 
   //   test the second entry in the decoder table:
   ec = error_code( ERROR_PATH_NOT_FOUND, system_category );
   BOOST_CHECK( ec.value() == ERROR_PATH_NOT_FOUND );
-  BOOST_CHECK( ec.value() == sys::path_not_found );
-  BOOST_CHECK( ec == sys::path_not_found );
+  BOOST_CHECK( ec == posix::no_such_file_or_directory );
   BOOST_CHECK( ec.posix() == posix::no_such_file_or_directory );
 
   //   test the third entry in the decoder table:
   ec = error_code( ERROR_ACCESS_DENIED, system_category );
   BOOST_CHECK( ec.value() == ERROR_ACCESS_DENIED );
+  BOOST_CHECK( ec == posix::permission_denied );
   BOOST_CHECK( ec.posix() == posix::permission_denied );
 
   //   test the last regular entry in the decoder table:
   ec = error_code( ERROR_WRITE_PROTECT, system_category );
   BOOST_CHECK( ec.value() == ERROR_WRITE_PROTECT );
+  BOOST_CHECK( ec == posix::permission_denied );
   BOOST_CHECK( ec.posix() == posix::permission_denied );
 
   //   test not-in-table condition:
   ec = error_code( 1234567890, system_category );
   BOOST_CHECK( ec.value() == 1234567890 );
+  BOOST_CHECK( ec == posix::no_posix_equivalent );
   BOOST_CHECK( ec.posix() == posix::no_posix_equivalent );
 
 #else

Index: error_code_user_test.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/system/test/error_code_user_test.cpp,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -d -r1.1.2.3 -r1.1.2.4
--- error_code_user_test.cpp    26 Jul 2007 20:22:20 -0000      1.1.2.3
+++ error_code_user_test.cpp    30 Jul 2007 02:03:39 -0000      1.1.2.4
@@ -10,12 +10,11 @@
 //  ------------------------------------------------------------------------  
//
 //  This code demonstrates creation and use of a new category of error codes.
 
-//  The motivation was a Boost posting by Christopher Kohlhoff on June 28, 
2006.
+//  Motivation was a Boost posting by Christopher Kohlhoff on June 28, 2006.
 
 #include <boost/system/error_code.hpp>
 #include <boost/cerrno.hpp>
 
-
 //  ------------------------------------------------------------------------  
//
 
 //  header asio.hpp
@@ -65,9 +64,15 @@
           ? boost::system::posix::io_error
           : boost::system::posix::no_posix_equivalent;
       }
+      
+      std::string message( int ev ) const
+      {
+        return std::string("boo hoo");
+      }
     };
 
     const asio_error_category_imp asio_error_category_const;
+
     const boost::system::error_category & asio_error_category
       = asio_error_category_const;
   }
@@ -75,6 +80,17 @@
 
 //  ------------------------------------------------------------------------  
//
 
+//  user function that just passes through a code from the C-runtime
+
+#include <cstdio>
+
+boost::system::error_code always_fail()
+{
+  return boost::system::error_code( 1, boost::system::system_category );
+}
+
+//  ------------------------------------------------------------------------  
//
+
 //  a user program:
 
 
@@ -92,9 +108,16 @@
   BOOST_CHECK( ec.category() == boost::asio::asio_error_category );
 
   BOOST_CHECK( ec.posix() == boost::system::posix::io_error );
+  BOOST_CHECK( ec == boost::system::posix::io_error );
 
   boost::system::error_code ec2( boost::asio::boo_boo+1,
     boost::asio::asio_error_category );
   BOOST_CHECK( ec2.posix() == boost::system::posix::no_posix_equivalent );
+
+  ec = always_fail();
+  BOOST_CHECK( ec );
+  BOOST_CHECK( ec.value() == 1 );
+  BOOST_CHECK( ec.category() == boost::system::system_category );
+
   return 0;
 }

Index: system_error_test.cpp
===================================================================
RCS file: /cvsroot/boost/boost/libs/system/test/system_error_test.cpp,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -d -r1.2.2.2 -r1.2.2.3
--- system_error_test.cpp       26 Jul 2007 20:22:20 -0000      1.2.2.2
+++ system_error_test.cpp       30 Jul 2007 02:03:39 -0000      1.2.2.3
@@ -61,16 +61,6 @@
   system_error se_1_nm( 1, system_category, "" ); 
   system_error se_1u_m( uvalue, system_category, "se_1u_m" );
 
-# ifdef BOOST_POSIX_API
-    system_error se_2_m( boost::system::posix::address_in_use, "foobar" );
-    BOOST_CHECK( se_2_m.code() == boost::system::posix::address_in_use );
-# else
-  system_error se_2_m( boost::system::sys::lock_violation, "foobar" );
-    BOOST_CHECK( se_2_m.code() == boost::system::sys::lock_violation );
-# endif
-    BOOST_CHECK( std::string("foobar") == se_2_m.what() );
-    std::cout << "*" << se_2_m.what() << "*\n";
-
   TEST( se_0_m, 0, "se_0_m" );
   TEST( se_1_m, 1, "se_1_m: Operation not permitted" );
   TEST( se_0_nm, 0, "" );


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to