$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r79766 - trunk/libs/xpressive/test
From: eric_at_[hidden]
Date: 2012-07-27 00:59:57
Author: eric_niebler
Date: 2012-07-27 00:59:56 EDT (Fri, 27 Jul 2012)
New Revision: 79766
URL: http://svn.boost.org/trac/boost/changeset/79766
Log:
make regress and c_traits tests smaller by factoring out wide-char tests
Added:
   trunk/libs/xpressive/test/c_traits_u.cpp   (contents, props changed)
   trunk/libs/xpressive/test/regress_u.cpp   (contents, props changed)
Text files modified: 
   trunk/libs/xpressive/test/Jamfile.v2  |     2 ++                                      
   trunk/libs/xpressive/test/regress.ipp |    34 +++++++++++-----------------------      
   2 files changed, 13 insertions(+), 23 deletions(-)
Modified: trunk/libs/xpressive/test/Jamfile.v2
==============================================================================
--- trunk/libs/xpressive/test/Jamfile.v2	(original)
+++ trunk/libs/xpressive/test/Jamfile.v2	2012-07-27 00:59:56 EDT (Fri, 27 Jul 2012)
@@ -25,7 +25,9 @@
 
 test-suite "xpressive"
        : [ run regress.cpp : : : <toolset>msvc:<cxxflags>/bigobj <dependency>regress.txt ]
+         [ run regress_u.cpp : : : <toolset>msvc:<cxxflags>/bigobj <dependency>regress.txt ]
          [ run c_traits.cpp : : : <toolset>msvc:<cxxflags>/bigobj <dependency>regress.txt ]
+         [ run c_traits_u.cpp : : : <toolset>msvc:<cxxflags>/bigobj <dependency>regress.txt ]
          [ run test1.cpp ]
          [ run test2.cpp ]
          [ run test3.cpp ]
Added: trunk/libs/xpressive/test/c_traits_u.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/xpressive/test/c_traits_u.cpp	2012-07-27 00:59:56 EDT (Fri, 27 Jul 2012)
@@ -0,0 +1,17 @@
+//////////////////////////////////////////////////////////////////////////////
+// c_traits.cpp
+//
+//  (C) Copyright Eric Niebler 2004.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+/*
+ Revision history:
+   6 January 2006 : Initial version.
+*/
+
+#define BOOST_XPRESSIVE_USE_C_TRAITS
+#define BOOST_XPRESSIVE_TEST_WREGEX
+#include "./regress.ipp"
+
Modified: trunk/libs/xpressive/test/regress.ipp
==============================================================================
--- trunk/libs/xpressive/test/regress.ipp	(original)
+++ trunk/libs/xpressive/test/regress.ipp	2012-07-27 00:59:56 EDT (Fri, 27 Jul 2012)
@@ -25,13 +25,13 @@
 # include <crtdbg.h>
 #endif
 
-#ifndef BOOST_XPRESSIVE_NO_WREGEX
+#if defined(BOOST_XPRESSIVE_TEST_WREGEX) && !defined(BOOST_XPRESSIVE_NO_WREGEX)
 namespace std
 {
     inline std::ostream &operator <<(std::ostream &sout, std::wstring const &wstr)
     {
         for(std::size_t n = 0; n < wstr.size(); ++n)
-            sout.put(sout.narrow(wstr[n], '?'));
+            sout.put(BOOST_USE_FACET(std::ctype<wchar_t>, std::locale()).narrow(wstr[n], '?'));
         return sout;
     }
 }
@@ -95,7 +95,7 @@
 
 test_case_formatter const case_ = {};
 
-#ifndef BOOST_XPRESSIVE_NO_WREGEX
+#if defined(BOOST_XPRESSIVE_TEST_WREGEX) && !defined(BOOST_XPRESSIVE_NO_WREGEX)
 ///////////////////////////////////////////////////////////////////////////////
 // widen
 //  make a std::wstring from a std::string by widening according to the
@@ -316,7 +316,7 @@
 
                 for(std::size_t i = 0; i < br.size() && i < test.br.size(); ++i)
                 {
-                    BOOST_XPR_CHECK(!br[i].matched && test.br[i] == empty || test.br[i] == br[i].str());
+                    BOOST_XPR_CHECK((!br[i].matched && test.br[i] == empty) || test.br[i] == br[i].str());
                 }
             }
 
@@ -355,7 +355,7 @@
 
                 for(std::size_t i = 0; i < what.size() && i < test.br.size(); ++i)
                 {
-                    BOOST_XPR_CHECK(!what[i].matched && test.br[i] == empty || test.br[i] == what[i].str());
+                    BOOST_XPR_CHECK((!what[i].matched && test.br[i] == empty) || test.br[i] == what[i].str());
                 }
             }
             else
@@ -374,31 +374,17 @@
 ///////////////////////////////////////////////////////////////////////////////
 // run_test_impl
 //   run the current test
-void run_test_a()
-{
-    run_test_impl(test);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// run_test_u
-//   widen the current test and run it
-void run_test_u()
+void run_test()
 {
-    #ifndef BOOST_XPRESSIVE_NO_WREGEX
+    #ifdef BOOST_XPRESSIVE_TEST_WREGEX
     xpr_test_case<wchar_t> wtest = ::widen(test);
     run_test_impl(wtest);
+    #else
+    run_test_impl(test);
     #endif
 }
 
 ///////////////////////////////////////////////////////////////////////////////
-// run_test
-void run_test()
-{
-    run_test_a();
-    run_test_u();
-}
-
-///////////////////////////////////////////////////////////////////////////////
 // open_test
 bool open_test()
 {
@@ -425,6 +411,7 @@
 //   read the tests from the input file and execute them
 void test_main()
 {
+    #if !defined(BOOST_XPRESSIVE_TEST_WREGEX) || !defined(BOOST_XPRESSIVE_NO_WREGEX)
     if(!open_test())
     {
         BOOST_ERROR("Error: unable to open input file.");
@@ -435,6 +422,7 @@
         run_test();
         ++test_count;
     }
+    #endif
 
     std::cout << test_count << " tests completed." << std::endl;
 }
Added: trunk/libs/xpressive/test/regress_u.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/xpressive/test/regress_u.cpp	2012-07-27 00:59:56 EDT (Fri, 27 Jul 2012)
@@ -0,0 +1,15 @@
+//////////////////////////////////////////////////////////////////////////////
+// regress_u.cpp
+//
+//  (C) Copyright Eric Niebler 2004.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+/*
+ Revision history:
+   6 January 2006 : Initial version.
+*/
+
+#define BOOST_XPRESSIVE_TEST_WREGEX
+#include "./regress.ipp"