debug_assert.h: new file
authorBrent Verner <brent@rcfile.org>
Mon, 14 Aug 2000 19:59:26 +0000 (19:59 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 14 Aug 2000 19:59:26 +0000 (19:59 +0000)
2000-08-14  Brent Verner <brent@rcfile.org>

* testsuite/debug_assert.h: new file
* testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
changed conditional #include <c?assert.?h?> to
unconditional #include <debug_assert.h>
* mkcheck.in: added $SRC_DIR/testsuite to include search path
for testsuite compile command.

From-SVN: r35682

71 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/mkcheck.in
libstdc++-v3/testsuite/17_intro/header_ciso646.cc
libstdc++-v3/testsuite/17_intro/header_fstream.cc
libstdc++-v3/testsuite/17_intro/header_iomanip.cc
libstdc++-v3/testsuite/17_intro/header_ios.cc
libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
libstdc++-v3/testsuite/17_intro/header_iostream.cc
libstdc++-v3/testsuite/17_intro/header_istream.cc
libstdc++-v3/testsuite/17_intro/header_ostream.cc
libstdc++-v3/testsuite/17_intro/header_sstream.cc
libstdc++-v3/testsuite/17_intro/header_streambuf.cc
libstdc++-v3/testsuite/18_support/numeric_limits.cc
libstdc++-v3/testsuite/20_util/auto_ptr.cc
libstdc++-v3/testsuite/21_strings/append.cc
libstdc++-v3/testsuite/21_strings/capacity.cc
libstdc++-v3/testsuite/21_strings/char_traits.cc
libstdc++-v3/testsuite/21_strings/compare.cc
libstdc++-v3/testsuite/21_strings/ctor_copy_dtor.cc
libstdc++-v3/testsuite/21_strings/element_access.cc
libstdc++-v3/testsuite/21_strings/find.cc
libstdc++-v3/testsuite/21_strings/insert.cc
libstdc++-v3/testsuite/21_strings/inserters_extractors.cc
libstdc++-v3/testsuite/21_strings/invariants.cc
libstdc++-v3/testsuite/21_strings/nonmember.cc
libstdc++-v3/testsuite/21_strings/operations.cc
libstdc++-v3/testsuite/21_strings/replace.cc
libstdc++-v3/testsuite/21_strings/rfind.cc
libstdc++-v3/testsuite/21_strings/substr.cc
libstdc++-v3/testsuite/22_locale/ctype_char_members.cc
libstdc++-v3/testsuite/23_containers/bitset_ctor.cc
libstdc++-v3/testsuite/23_containers/bitset_shift.cc
libstdc++-v3/testsuite/23_containers/vector_capacity.cc
libstdc++-v3/testsuite/23_containers/vector_ctor.cc
libstdc++-v3/testsuite/23_containers/vector_modifiers.cc
libstdc++-v3/testsuite/24_iterators/istreambuf_iterator.cc
libstdc++-v3/testsuite/24_iterators/iterator.cc
libstdc++-v3/testsuite/25_algorithms/lower_bound.cc
libstdc++-v3/testsuite/25_algorithms/min_max.cc
libstdc++-v3/testsuite/26_numerics/c_math.cc
libstdc++-v3/testsuite/26_numerics/complex_inserters_extractors.cc
libstdc++-v3/testsuite/27_io/filebuf.cc
libstdc++-v3/testsuite/27_io/filebuf_members.cc
libstdc++-v3/testsuite/27_io/fpos.cc
libstdc++-v3/testsuite/27_io/ifstream_members.cc
libstdc++-v3/testsuite/27_io/ios_base_callbacks.cc
libstdc++-v3/testsuite/27_io/ios_base_members_static.cc
libstdc++-v3/testsuite/27_io/ios_ctor.cc
libstdc++-v3/testsuite/27_io/ios_manip_basefield.cc
libstdc++-v3/testsuite/27_io/ios_manip_fmtflags.cc
libstdc++-v3/testsuite/27_io/ios_members.cc
libstdc++-v3/testsuite/27_io/istream_extractor_arith.cc
libstdc++-v3/testsuite/27_io/istream_extractor_char.cc
libstdc++-v3/testsuite/27_io/istream_extractor_other.cc
libstdc++-v3/testsuite/27_io/istream_manip.cc
libstdc++-v3/testsuite/27_io/istream_seeks.cc
libstdc++-v3/testsuite/27_io/istream_sentry.cc
libstdc++-v3/testsuite/27_io/istream_unformatted.cc
libstdc++-v3/testsuite/27_io/istringstream_members.cc
libstdc++-v3/testsuite/27_io/narrow_stream_objects.cc
libstdc++-v3/testsuite/27_io/ofstream_members.cc
libstdc++-v3/testsuite/27_io/ostream_inserter_arith.cc
libstdc++-v3/testsuite/27_io/ostream_inserter_char.cc
libstdc++-v3/testsuite/27_io/ostream_inserter_other.cc
libstdc++-v3/testsuite/27_io/ostream_manip.cc
libstdc++-v3/testsuite/27_io/ostream_seeks.cc
libstdc++-v3/testsuite/27_io/ostream_unformatted.cc
libstdc++-v3/testsuite/27_io/streambuf.cc
libstdc++-v3/testsuite/27_io/stringbuf.cc
libstdc++-v3/testsuite/27_io/stringstream.cc
libstdc++-v3/testsuite/27_io/wide_stream_objects.cc

index 5758419e9f9ffd66870e8e68e7f70e5b82572536..d1cdc058f9fb8bb2c0b2a977d31a5ddf624f8a69 100644 (file)
@@ -1,3 +1,12 @@
+2000-08-14  Brent Verner <brent@rcfile.org>
+
+       * testsuite/debug_assert.h: new file
+       * testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
+       changed conditional #include <c?assert.?h?> to
+       unconditional #include <debug_assert.h>
+       * mkcheck.in: added $SRC_DIR/testsuite to include search path
+       for testsuite compile command.
+
 2000-08-14  Levente Farkas  <lfarkas@mindmaker.hu>
 
        * bits/std_fstream.h: Remove duplicate typdefs for ofstream and
index b716a14b5b79a5c38fb7fa1be70ac096686d631d..ef0950b7c7c6ec3ef9d5d5ddf8e43703c9efa1d7 100755 (executable)
@@ -55,7 +55,7 @@ fi
 
 # INC_PATH == include path to new headers for use on gcc command-line
 if [ $WHICH != "1" ]; then
-  INC_PATH="@CSHADOWFLAGS@ -I$BUILD_DIR -I$BUILD_DIR/libio -I$SRC_DIR/@ctype_include_dir@ -I$SRC_DIR/@cpu_include_dir@  -I$SRC_DIR/std -I$SRC_DIR -I$SRC_DIR/libio"
+  INC_PATH="@CSHADOWFLAGS@ -I$BUILD_DIR -I$BUILD_DIR/libio -I$SRC_DIR/@ctype_include_dir@ -I$SRC_DIR/@cpu_include_dir@  -I$SRC_DIR/std -I$SRC_DIR -I$SRC_DIR/libio -I$SRC_DIR/testsuite"
 elif [ $WHICH -eq 1 ]; then
   INC_PATH=""
 fi
index 8e4369090b576a4b2a003700c5ea2820f41ce04d..c82c076d76131893c85578531cb08cc590f9a0fb 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, ciso646
 
 #include <ciso646>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 // 2.11 Keywords
@@ -104,11 +102,11 @@ bool test02()
   int  int1 = 45;
   int  int2 = 0;
   
-  test &= arg1 && int1;
-  test &= arg1 and int1;
+  VERIFY( arg1 && int1 );
+  VERIFY( arg1 and int1 );
 
-  test &= (arg1 && arg2) == (arg1 and arg2);
-  test &= (arg1 && int1) == (arg1 and int1);
+  VERIFY( (arg1 && arg2) == (arg1 and arg2) );
+  VERIFY( (arg1 && int1) == (arg1 and int1) );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 7b7cf7c29a95625e782816c4b9bfdb74f8e0b3cb..6673521f779f34a3b32cf162dca000f0b85276d3 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, fstream
 
 #include <fstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 70fd774644398176cbbc395f1a0901c5a08244da..6ae692397e037eb40c420f313001f0ac63f0eac9 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, iomanip
 
 #include <iomanip>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index e761ea61da9b51b1776c4b9eb8b29fd6b75827ff..f60587393fb6468dbe8c6e2859f5d17ec60ab728 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, ios
 
 #include <ios>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 60f21f93ef974bf607a9dd2b1090b43784b57fcd..b9cb42d035d0e448a58bd5a791743b8797e9d0bc 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, iosfwd
 
 #include <iosfwd>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 549969d4aeeaf331ae6e005f24bd942306a5f2f4..51434eff47ee291dbfa21214fa26122ff5a69906 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, iostream
 
 #include <iostream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 1e64ebf46442a128137e81142cdcccb8e09b6499..b193f2954b663664ad53f8ca80f62f11a19ca46f 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, istream
 
 #include <istream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 0bc90b5a5ab04cfb93d1448d7fd8f37e4652c8f5..731a881fc4775422260425be70ef42b85354200b 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, ostream
 
 #include <ostream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index b04e5ea324b3dc86f20cfd92836da3ca07941d0e..697b8c36db98a57b0d8a0735ce44f8f3c5519c09 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, sstream
 
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index 0847156eceb601742202a6f31892e82e6632d7f2..b8af9f4c6df67db5e56e2c2b24367d7c616c2a48 100644 (file)
@@ -21,9 +21,7 @@
 // 17.4.1.2 Headers, streambuf
 
 #include <streambuf>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 int main(void)
index d5ae37104acf1fc2f4a164612ee159ac6c617337..fce32abb2b021843b3d373661c7aa784ad46beb5 100644 (file)
@@ -21,9 +21,7 @@
 // 18.2.1.1 template class numeric_limits
 
 #include <limits>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 template<typename T>
@@ -44,36 +42,36 @@ bool test01()
   bool test = true;
   std::numeric_limits< A<B> > obj;
 
-  test &= !obj.is_specialized;
-  test &= obj.min() == 0;
-  test &= obj.max() == 0;
-  test &= obj.digits ==  0;
-  test &= obj.digits10 == 0;
-  test &= !obj.is_signed;
-  test &= !obj.is_integer;
-  test &= !obj.is_exact;
-  test &= obj.radix == 0;
-  test &= obj.epsilon() == 0;
-  test &= obj.round_error() == 0;
-  test &= obj.min_exponent == 0;
-  test &= obj.min_exponent10 == 0;
-  test &= obj.max_exponent == 0;
-  test &= obj.max_exponent10 == 0;
-  test &= !obj.has_infinity;
-  test &= !obj.has_quiet_NaN;
-  test &= !obj.has_signaling_NaN;
-  test &= !obj.has_denorm;
-  test &= !obj.has_denorm_loss;
-  test &= obj.infinity() == 0;
-  test &= obj.quiet_NaN() == 0;
-  test &= obj.signaling_NaN() == 0;
-  test &= obj.denorm_min() == 0;
-  test &= !obj.is_iec559;
-  test &= !obj.is_bounded;
-  test &= !obj.is_modulo;
-  test &= !obj.traps;
-  test &= !obj.tinyness_before;
-  test &= obj.round_style == std::round_toward_zero;
+  VERIFY( !obj.is_specialized );
+  VERIFY( obj.min() == 0 );
+  VERIFY( obj.max() == 0 );
+  VERIFY( obj.digits ==  0 );
+  VERIFY( obj.digits10 == 0 );
+  VERIFY( !obj.is_signed );
+  VERIFY( !obj.is_integer );
+  VERIFY( !obj.is_exact );
+  VERIFY( obj.radix == 0 );
+  VERIFY( obj.epsilon() == 0 );
+  VERIFY( obj.round_error() == 0 );
+  VERIFY( obj.min_exponent == 0 );
+  VERIFY( obj.min_exponent10 == 0 );
+  VERIFY( obj.max_exponent == 0 );
+  VERIFY( obj.max_exponent10 == 0 );
+  VERIFY( !obj.has_infinity );
+  VERIFY( !obj.has_quiet_NaN );
+  VERIFY( !obj.has_signaling_NaN );
+  VERIFY( !obj.has_denorm );
+  VERIFY( !obj.has_denorm_loss );
+  VERIFY( obj.infinity() == 0 );
+  VERIFY( obj.quiet_NaN() == 0 );
+  VERIFY( obj.signaling_NaN() == 0 );
+  VERIFY( obj.denorm_min() == 0 );
+  VERIFY( !obj.is_iec559 );
+  VERIFY( !obj.is_bounded );
+  VERIFY( !obj.is_modulo );
+  VERIFY( !obj.traps );
+  VERIFY( !obj.tinyness_before );
+  VERIFY( obj.round_style == std::round_toward_zero );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 53edd5565f87439689fd60e50b6712024b7d0f2b..a6aa338df1e94a11ff199de6e5471a77346de1b1 100644 (file)
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
 #include <memory>
-#ifdef DEBUG_ASSERT
-#  include <assert.h>
-#endif
-
+#include <debug_assert.h>
 
 struct A
 {
@@ -60,41 +57,43 @@ struct reset_count_struct
 // 20.4.5.1 auto_ptr constructors [lib.auto.ptr.cons]
 
 // Construction from pointer
-bool test01()
+int
+test01()
 {
   reset_count_struct reset;
   bool test = true;
 
   std::auto_ptr<A> A_default;
-  test &= A_default.get() == 0;
-  test &= A::ctor_count == 0;
-  test &= A::dtor_count == 0;
-  test &= B::ctor_count == 0;
-  test &= B::dtor_count == 0;
+  VERIFY( A_default.get() == 0 );
+  VERIFY( A::ctor_count == 0 );
+  VERIFY( A::dtor_count == 0 );
+  VERIFY( B::ctor_count == 0 );
+  VERIFY( B::dtor_count == 0 );
 
   std::auto_ptr<A> A_from_A(new A);
-  test &= A_from_A.get() != 0;
-  test &= A::ctor_count == 1;
-  test &= A::dtor_count == 0;
-  test &= B::ctor_count == 0;
-  test &= B::dtor_count == 0;
+  VERIFY( A_from_A.get() != 0 );
+  VERIFY( A::ctor_count == 1 );
+  VERIFY( A::dtor_count == 0 );
+  VERIFY( B::ctor_count == 0 );
+  VERIFY( B::dtor_count == 0 );
 
   std::auto_ptr<A> A_from_B(new B);
-  test &= A_from_B.get() != 0;
-  test &= A::ctor_count == 2;
-  test &= A::dtor_count == 0;
-  test &= B::ctor_count == 1;
-  test &= B::dtor_count == 0;
+  VERIFY( A_from_B.get() != 0 );
+  VERIFY( A::ctor_count == 2 );
+  VERIFY( A::dtor_count == 0 );
+  VERIFY( B::ctor_count == 1 );
+  VERIFY( B::dtor_count == 0 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 // Construction from std::auto_ptr
-bool test02()
+int
+test02()
 {
   reset_count_struct reset;
   bool test = true;
@@ -104,24 +103,25 @@ bool test02()
 
   std::auto_ptr<A> A_from_ptr_A(A_from_A);
   std::auto_ptr<A> A_from_ptr_B(B_from_B);
-  test &= A_from_A.get() == 0;
-  test &= B_from_B.get() == 0;
-  test &= A_from_ptr_A.get() != 0;
-  test &= A_from_ptr_B.get() != 0;
-  test &= A::ctor_count == 2;
-  test &= A::dtor_count == 0;
-  test &= B::ctor_count == 1;
-  test &= B::dtor_count == 0;
+  VERIFY( A_from_A.get() == 0 );
+  VERIFY( B_from_B.get() == 0 );
+  VERIFY( A_from_ptr_A.get() != 0 );
+  VERIFY( A_from_ptr_B.get() != 0 );
+  VERIFY( A::ctor_count == 2 );
+  VERIFY( A::dtor_count == 0 );
+  VERIFY( B::ctor_count == 1 );
+  VERIFY( B::dtor_count == 0 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 // Assignment from std::auto_ptr
-bool test03()
+int
+test03()
 {
   reset_count_struct reset;
   bool test = true;
@@ -133,24 +133,25 @@ bool test03()
 
   A_from_ptr_A = A_from_A;
   A_from_ptr_B = B_from_B;
-  test &= A_from_A.get() == 0;
-  test &= B_from_B.get() == 0;
-  test &= A_from_ptr_A.get() != 0;
-  test &= A_from_ptr_B.get() != 0;
-  test &= A::ctor_count == 2;
-  test &= A::dtor_count == 0;
-  test &= B::ctor_count == 1;
-  test &= B::dtor_count == 0;
+  VERIFY( A_from_A.get() == 0 );
+  VERIFY( B_from_B.get() == 0 );
+  VERIFY( A_from_ptr_A.get() != 0 );
+  VERIFY( A_from_ptr_B.get() != 0 );
+  VERIFY( A::ctor_count == 2 );
+  VERIFY( A::dtor_count == 0 );
+  VERIFY( B::ctor_count == 1 );
+  VERIFY( B::dtor_count == 0 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 // Destruction
-bool test04()
+int
+test04()
 {
   reset_count_struct reset;
   bool test = true;
@@ -161,16 +162,16 @@ bool test04()
     std::auto_ptr<B> B_from_B(new B);
   }/*destructors called here*/
 
-  test &= A::ctor_count == 3;
-  test &= A::dtor_count == 3;
-  test &= B::ctor_count == 2;
-  test &= B::dtor_count == 2;
+  VERIFY( A::ctor_count == 3 );
+  VERIFY( A::dtor_count == 3 );
+  VERIFY( B::ctor_count == 2 );
+  VERIFY( B::dtor_count == 2 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 // Class member construction/destruction
@@ -183,58 +184,60 @@ private:
   std::auto_ptr<T> p_impl;
 };
 
-bool test05()
+int 
+test05()
 {
   bool test = true;
   reset_count_struct reset;
 
   pimpl<A>();
   pimpl<B>();
-  test &= A::ctor_count == 2;
-  test &= A::dtor_count == 2;
-  test &= B::ctor_count == 1;
-  test &= B::dtor_count == 1;
+  VERIFY( A::ctor_count == 2 );
+  VERIFY( A::dtor_count == 2 );
+  VERIFY( B::ctor_count == 1 );
+  VERIFY( B::dtor_count == 1 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 
 // 20.4.5.2 auto_ptr members [lib.auto.ptr.members]
 
 // Member access
-bool test06()
+int
+test06()
 {
   reset_count_struct reset;
   bool test = true;
 
   std::auto_ptr<A> A_from_A(new A);
   std::auto_ptr<A> A_from_A_ptr(A_from_A.release());
-  test &= A_from_A.get() == 0;
-  test &= A_from_A_ptr.get() != 0;
-  test &= A_from_A->ctor_count == 1;
-  test &= (*A_from_A).dtor_count == 0;
+  VERIFY( A_from_A.get() == 0 );
+  VERIFY( A_from_A_ptr.get() != 0 );
+  VERIFY( A_from_A->ctor_count == 1 );
+  VERIFY( (*A_from_A).dtor_count == 0 );
 
   A* A_ptr = A_from_A_ptr.get();
 
   A_from_A_ptr.reset(A_ptr);
-  test &= A_from_A_ptr.get() == A_ptr;
-  test &= A_from_A_ptr->ctor_count == 1;
-  test &= (*A_from_A_ptr).dtor_count == 0;
+  VERIFY( A_from_A_ptr.get() == A_ptr );
+  VERIFY( A_from_A_ptr->ctor_count == 1 );
+  VERIFY( (*A_from_A_ptr).dtor_count == 0 );
 
   A_from_A_ptr.reset(new A);
-  test &= A_from_A_ptr.get() != A_ptr;
-  test &= A_from_A_ptr->ctor_count == 2;
-  test &= (*A_from_A_ptr).dtor_count == 1;
+  VERIFY( A_from_A_ptr.get() != A_ptr );
+  VERIFY( A_from_A_ptr->ctor_count == 2 );
+  VERIFY( (*A_from_A_ptr).dtor_count == 1 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
 
@@ -251,7 +254,8 @@ template <typename T>
 static void drain(std::auto_ptr<T>)
 {}
 
-bool test07()
+int
+test07()
 {
   bool test = true;
   reset_count_struct reset;
@@ -259,30 +263,29 @@ bool test07()
   drain(source<A>());
   drain<A>(source<B>());
   drain(source<B>());
-  test &= A::ctor_count == 3;
-  test &= A::dtor_count == 3;
-  test &= B::ctor_count == 2;
-  test &= B::dtor_count == 2;
+  VERIFY( A::ctor_count == 3 );
+  VERIFY( A::dtor_count == 3 );
+  VERIFY( B::ctor_count == 2 );
+  VERIFY( B::dtor_count == 2 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
-
-int main()
+int 
+main()
 {
-  bool test = true;
-
-  test &= test01();
-  test &= test02();
-  test &= test03();
-  test &= test04();
-  test &= test05();
-  test &= test06();
-  test &= test07();
-
-  return test ? 0 : 1;
+  test01();
+  test02();
+  test03();
+  test04();
+  test05();
+  test06();
+  test07();
+
+  return 0;
 }
+
index 4dc4aa909eabe5dd99c17540b888441f5450d1d0..07b170674a4727e64070024801bfca0f2ff1ee12 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -45,14 +43,14 @@ bool test01(void)
   // string& append(const string&)
   str05 = str02;
   str05.append(str05); 
-  test &= str05 == "corpus, corpus, ";
+  VERIFY( str05 == "corpus, corpus, " );
   str05.append(str01);
-  test &= str05 == "corpus, corpus, point bolivar, texas";
+  VERIFY( str05 == "corpus, corpus, point bolivar, texas" );
   str05.append(str03);
-  test &= str05 == "corpus, corpus, point bolivar, texas";
+  VERIFY( str05 == "corpus, corpus, point bolivar, texas" );
   std::string str06;
   str06.append(str05);
-  test &= str06 == str05;
+  VERIFY( str06 == str05 );
 
 
   // string& append(const string&, size_type pos, size_type n)
@@ -61,78 +59,78 @@ bool test01(void)
   csz01 = str03.size();
   try {
     str06.append(str03, csz01 + 1, 0);
-    test &= false
+    VERIFY( false )
   }
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   csz01 = str01.size();
   try {
     str06.append(str01, csz01 + 1, 0);
-    test &= false
+    VERIFY( false )
   }
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   str05 = str02;
   str05.append(str01, 0, std::string::npos);
-  test &= str05 == "corpus, point bolivar, texas";
-  test &= str05 != str02;
+  VERIFY( str05 == "corpus, point bolivar, texas" );
+  VERIFY( str05 != str02 );
 
   str06 = str02;
   str06.append(str01, 15, std::string::npos);
-  test &= str06 == "corpus, texas";
-  test &= str02 != str06;
+  VERIFY( str06 == "corpus, texas" );
+  VERIFY( str02 != str06 );
 
 
   // string& append(const char* s)
   str05.erase();
   str06.erase();
   str05.append("");
-  test &= str05 == str03;
+  VERIFY( str05 == str03 );
 
   str05.append(str_lit01);
-  test &= str05 == str01;
+  VERIFY( str05 == str01 );
 
   str06 = str02;
   str06.append("corpus, ");
-  test &= str06 == "corpus, corpus, ";
+  VERIFY( str06 == "corpus, corpus, " );
 
 
   // string& append(const char* s, size_type n)
   str05.erase();
   str06.erase();
   str05.append("", 0);
-  test &= str05.size() == 0;
-  test &= str05 == str03;
+  VERIFY( str05.size() == 0 );
+  VERIFY( str05 == str03 );
   
   str05.append(str_lit01, sizeof(str_lit01) - 1);
-  test &= str05 == str01;
+  VERIFY( str05 == str01 );
 
   str06 = str02;
   str06.append("corpus, ", 6);
-  test &= str06 == "corpus, corpus";
+  VERIFY( str06 == "corpus, corpus" );
 
   str06 = str02;
   str06.append("corpus, ", 12);
-  test &= str06 != "corpus, corpus, ";
+  VERIFY( str06 != "corpus, corpus, " );
 
 
   // string& append(size_type n, char c)
   str05.erase();
   str06.erase();
   str05.append(0, 'a');
-  test &= str05 == str03;
+  VERIFY( str05 == str03 );
   str06.append(8, '.');
-  test &= str06 == "........";
+  VERIFY( str06 == "........" );
 
 
   // template<typename InputIter>
@@ -140,18 +138,18 @@ bool test01(void)
   str05.erase();
   str06.erase();
   str05.append(str03.begin(), str03.end());
-  test &= str05 == str03;
+  VERIFY( str05 == str03 );
 
   str06 = str02;
   str06.append(str01.begin(), str01.begin() + str01.find('r')); 
-  test &= str06 == "corpus, point boliva";
-  test &= str06 != str01;
-  test &= str06 != str02;
+  VERIFY( str06 == "corpus, point boliva" );
+  VERIFY( str06 != str01 );
+  VERIFY( str06 != str02 );
 
   str05 = str01;
   str05.append(str05.begin(), str05.begin() + str05.find('r')); 
-  test &= str05 ==  "point bolivar, texaspoint boliva";
-  test &= str05 != str01;
+  VERIFY( str05 ==  "point bolivar, texaspoint boliva" );
+  VERIFY( str05 != str01 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 5673434db87c69667aab1330b8d177d58916d0f6..b93e6fe64c890e1c24d21fc299046f42e0a728be 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <cstdio>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 template<typename T>
   struct A { };
@@ -49,27 +47,27 @@ bool test01()
   size_type_s sz01 = str01.capacity();
   str01.reserve(100);
   size_type_s sz02 = str01.capacity();
-  test &= sz02 >= sz01;
-  test &= sz02 >= 100;
+  VERIFY( sz02 >= sz01 );
+  VERIFY( sz02 >= 100 );
   str01.reserve();
   sz01 = str01.capacity();
-  test &= sz01 >= 0;
+  VERIFY( sz01 >= 0 );
 
   sz01 = str01.size() + 5;
   str01.resize(sz01);
   sz02 = str01.size();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
 
   sz01 = str01.size() - 5;
   str01.resize(sz01);
   sz02 = str01.size();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
 
   std::string str05(30, 'q');
   std::string str06 = str05;
   str05 = str06 + str05;
-  test &= str05.capacity() >= str05.size();
-  test &= str06.capacity() >= str06.size();
+  VERIFY( str05.capacity() >= str05.size() );
+  VERIFY( str06.capacity() >= str06.size() );
 
   // 2 non POD types : resize, capacity, reserve
   std::basic_string< A<B> > str02;
@@ -80,50 +78,50 @@ bool test01()
   sz03 = str02.capacity();
   str02.reserve(100);
   sz04 = str02.capacity();
-  test &= sz04 >= sz03;
-  test &= sz04 >= 100;
+  VERIFY( sz04 >= sz03 );
+  VERIFY( sz04 >= 100 );
   str02.reserve();
   sz03 = str02.capacity();
-  test &= sz03 >= 0;
+  VERIFY( sz03 >= 0 );
 
   sz03 = str02.size() + 5;
   str02.resize(sz03);
   sz04 = str02.size();
-  test &= sz03 == sz04;
+  VERIFY( sz03 == sz04 );
 
   sz03 = str02.size() - 5;
   str02.resize(sz03);
   sz04 = str02.size();
-  test &= sz03 == sz04;
+  VERIFY( sz03 == sz04 );
 
   A<B> inst_obj;
   std::basic_string<A<B> > str07(30, inst_obj);
   std::basic_string<A<B> > str08 = str07;
   str07 = str08 + str07;
-  test &= str07.capacity() >= str07.size();
-  test &= str08.capacity() >= str08.size();
+  VERIFY( str07.capacity() >= str07.size() );
+  VERIFY( str08.capacity() >= str08.size() );
 
   // 3 POD types: size, length, max_size, clear(), empty()
   bool b01;
   std::string str011;
   b01 = str01.empty();  
-  test &= b01 == true;
+  VERIFY( b01 == true );
   sz01 = str01.size();
   sz02 = str01.length();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
   str01.c_str();
   sz01 = str01.size();
   sz02 = str01.length();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
 
   sz01 = str01.length();
   str01.c_str();
   str011 = str01 +  "_addendum_";
   str01.c_str();
   sz02 = str01.length();    
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
   sz02 = str011.length();
-  test &= sz02 > sz01;
+  VERIFY( sz02 > sz01 );
     
   // trickster allocator (__USE_MALLOC, luke) issues involved with these:
   std::string str3 = "8-chars_8-chars_";
@@ -133,36 +131,36 @@ bool test01()
   
   sz01 = str01.size();
   sz02 = str01.max_size();  
-  test &= sz02 >= sz01;
+  VERIFY( sz02 >= sz01 );
 
   sz01 = str01.size();
   str01.clear();  
   b01 = str01.empty(); 
-  test &= b01 == true;
+  VERIFY( b01 == true );
   sz02 = str01.size();  
-  test &= sz01 >= sz02;
+  VERIFY( sz01 >= sz02 );
 
 
   // 4 non-POD types: size, length, max_size, clear(), empty()
   b01 = str02.empty();  
-  test &= b01 == true;
+  VERIFY( b01 == true );
   sz03 = str02.size();
   sz04 = str02.length();
-  test &= sz03 == sz04;
+  VERIFY( sz03 == sz04 );
   str02.c_str();
   sz03 = str02.size();
   sz04 = str02.length();
-  test &= sz03 == sz04;
+  VERIFY( sz03 == sz04 );
 
   sz03 = str02.max_size();  
-  test &= sz03 >= sz04;
+  VERIFY( sz03 >= sz04 );
 
   sz03 = str02.size();
   str02.clear();  
   b01 = str02.empty(); 
-  test &= b01 == true;
+  VERIFY( b01 == true );
   sz04 = str02.size();  
-  test &= sz03 >= sz04;
+  VERIFY( sz03 >= sz04 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 0ad8425c7bbd4b9d702697f12710242dcf952d66..1978bda41b3be90bc76853cfb5048dac8f5e7ab0 100644 (file)
@@ -21,9 +21,7 @@
 // 21.1 Characher traits
 
 #include <string>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 int test01(void)
 {
@@ -47,9 +45,9 @@ int test01(void)
   // assigns c = d;
   char c1 = 'z';
   char c2 = 'u';
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   std::char_traits<char>::assign(c1,c2);
-  test &= c1 == 'u';
+  VERIFY( c1 == 'u' );
 
   // char* X::move(char* s, const char* p, size_t n)
   // for each i in [0,n) performs X::assign(s[i], p[i]). Copies
@@ -59,35 +57,35 @@ int test01(void)
   int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
   char array2[len];
 
-  test &= str_lit1[0] == 'm';
+  VERIFY( str_lit1[0] == 'm' );
   c1 = array2[0];
   c2 = str_lit1[0];
   char c3 = array2[1];
   char c4 = str_lit1[1];
   std::char_traits<char>::move(array2, str_lit1, 0);
-  test &= array2[0] == c1;
-  test &= str_lit1[0] == c2;
+  VERIFY( array2[0] == c1 );
+  VERIFY( str_lit1[0] == c2 );
   std::char_traits<char>::move(array2, str_lit1, 1);
-  test &= array2[0] == c2;
-  test &= str_lit1[0] == c2;
-  test &= array2[1] == c3;
-  test &= str_lit1[1] == c4;
+  VERIFY( array2[0] == c2 );
+  VERIFY( str_lit1[0] == c2 );
+  VERIFY( array2[1] == c3 );
+  VERIFY( str_lit1[1] == c4 );
   std::char_traits<char>::move(array2, str_lit1, 2);
-  test &= array2[0] == c2;
-  test &= str_lit1[0] == c2;
-  test &= array2[1] == c4;
-  test &= str_lit1[1] == c4;
+  VERIFY( array2[0] == c2 );
+  VERIFY( str_lit1[0] == c2 );
+  VERIFY( array2[1] == c4 );
+  VERIFY( str_lit1[1] == c4 );
 
   char* pc1 = array1 + 1;
   c1 = pc1[0];
   c2 = array1[0];
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   char* pc2 = std::char_traits<char>::move(array1, pc1, 0);
   c3 = pc1[0];
   c4 = array1[0];
-  test &= c1 == c3;
-  test &= c2 == c4;
-  test &= pc2 == array1;
+  VERIFY( c1 == c3 );
+  VERIFY( c2 == c4 );
+  VERIFY( pc2 == array1 );
 
   c1 = pc1[0];
   c2 = array1[0];
@@ -95,13 +93,13 @@ int test01(void)
   pc2 = std::char_traits<char>::move(array1, pc1, 10);
   c3 = pc1[0];
   c4 = array1[0];
-  test &= c1 != c3; // underlying char array changed.
-  test &= c4 != c3;
-  test &= pc2 == array1;
-  test &= pc3 == pc1; // but pointers o-tay
+  VERIFY( c1 != c3 ); // underlying char array changed.
+  VERIFY( c4 != c3 );
+  VERIFY( pc2 == array1 );
+  VERIFY( pc3 == pc1 ); // but pointers o-tay
   c1 = *(str_01.data());
   c2 = array1[0];
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -132,9 +130,9 @@ int test02(void)
   // assigns c = d;
   wchar_t c1 = L'z';
   wchar_t c2 = L'u';
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   std::char_traits<wchar_t>::assign(c1,c2);
-  test &= c1 == L'u';
+  VERIFY( c1 == L'u' );
 
   // char* X::move(char* s, const char* p, size_t n)
   // for each i in [0,n) performs X::assign(s[i], p[i]). Copies
@@ -144,35 +142,35 @@ int test02(void)
   int len = sizeof(str_lit1) + sizeof(array1) - 1; // two terminating chars
   wchar_t array2[len];
 
-  test &= str_lit1[0] == 'm';
+  VERIFY( str_lit1[0] == 'm' );
   c1 = array2[0];
   c2 = str_lit1[0];
   wchar_t c3 = array2[1];
   wchar_t c4 = str_lit1[1];
   std::char_traits<wchar_t>::move(array2, str_lit1, 0);
-  test &= array2[0] == c1;
-  test &= str_lit1[0] == c2;
+  VERIFY( array2[0] == c1 );
+  VERIFY( str_lit1[0] == c2 );
   std::char_traits<wchar_t>::move(array2, str_lit1, 1);
-  test &= array2[0] == c2;
-  test &= str_lit1[0] == c2;
-  test &= array2[1] == c3;
-  test &= str_lit1[1] == c4;
+  VERIFY( array2[0] == c2 );
+  VERIFY( str_lit1[0] == c2 );
+  VERIFY( array2[1] == c3 );
+  VERIFY( str_lit1[1] == c4 );
   std::char_traits<wchar_t>::move(array2, str_lit1, 2);
-  test &= array2[0] == c2;
-  test &= str_lit1[0] == c2;
-  test &= array2[1] == c4;
-  test &= str_lit1[1] == c4;
+  VERIFY( array2[0] == c2 );
+  VERIFY( str_lit1[0] == c2 );
+  VERIFY( array2[1] == c4 );
+  VERIFY( str_lit1[1] == c4 );
  
   wchar_t* pc1 = array1 + 1;
   c1 = pc1[0];
   c2 = array1[0];
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   wchar_t* pc2 = std::char_traits<wchar_t>::move(array1, pc1, 0);
   c3 = pc1[0];
   c4 = array1[0];
-  test &= c1 == c3;
-  test &= c2 == c4;
-  test &= pc2 == array1;
+  VERIFY( c1 == c3 );
+  VERIFY( c2 == c4 );
+  VERIFY( pc2 == array1 );
 
   c1 = pc1[0];
   c2 = array1[0];
@@ -180,13 +178,13 @@ int test02(void)
   pc2 = std::char_traits<wchar_t>::move(array1, pc1, 10);
   c3 = pc1[0];
   c4 = array1[0];
-  test &= c1 != c3; // underlying wchar_t array changed.
-  test &= c4 != c3;
-  test &= pc2 == array1;
-  test &= pc3 == pc1; // but pointers o-tay
+  VERIFY( c1 != c3 ); // underlying wchar_t array changed.
+  VERIFY( c4 != c3 );
+  VERIFY( pc2 == array1 );
+  VERIFY( pc3 == pc1 ); // but pointers o-tay
   c1 = *(str_01.data());
   c2 = array1[0];
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
  
 #ifdef DEBUG_ASSERT
   assert(test);
index b3d81a08f2bc28da6067b9e4c81d0906900f2637..822d3682b79f93b5cf5231be9c978a4f4812b979 100644 (file)
 // things would be sorted in a dictionary.
 
 #include <string>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 enum want_value {lt=0, z=1, gt=2};
 
-void test_value(int result, want_value expected);
-void test_value(int result, want_value expected) {
+int
+test_value(int result, want_value expected);
+
+int
+test_value(int result, want_value expected)
+{
   bool pass = false;
 
   switch (expected) {
@@ -61,11 +63,14 @@ void test_value(int result, want_value expected) {
 #ifdef DEBUG_ASSERT
   assert(pass);
 #endif
+  
+  return 0;
 }
  
 
-int test01(void) {
-
+int 
+test01()
+{
   std::string  str_0("costa rica");
   std::string  str_1("costa marbella");
   std::string  str_2;
@@ -121,8 +126,12 @@ int test01(void) {
 }
 
 
-int main() {
+int 
+main() 
+{
   test01();
+  
+  return 0;
 }
 
 
index 24edff4ec9de72b291f2214df9ad8dfadcb5d0c8..095c88090aff50d01d5bec261cf099a37977b285 100644 (file)
@@ -23,9 +23,7 @@
 #include <new>
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 int test01(void)
 {
@@ -43,22 +41,22 @@ int test01(void)
   csz01 = str01.size();
   try {
     std::string str03(str01, csz01 + 1);
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   try {
     std::string str03(str01, csz01);
-    test &= str03.size() == 0;
-    test &= str03.size() <= str03.capacity();
+    VERIFY( str03.size() == 0 );
+    VERIFY( str03.size() <= str03.capacity() );
   }             
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 
@@ -68,13 +66,13 @@ int test01(void)
   // should not crash, but what gets constructed is a bit arbitrary.
   try {
     std::string str03(str_lit01, csz01 + 1);
-    test &= true;
+    VERIFY( true );
   }             
   catch(std::length_error& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   // NB: As strlen(str_lit01) != csz01, this test is undefined. It
@@ -82,79 +80,79 @@ int test01(void)
   // The "maverick's" of all string objects.
   try {
     std::string str04(str_lit01, npos); 
-    test &= true;
+    VERIFY( true );
   }             
   catch(std::length_error& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   // Build a maxsize-1 lengthed string consisting of all A's
   try {
     std::string str03(csz01 - 1, 'A');
-    test &= str03.size() == csz01 - 1;
-    test &= str03.size() <= str03.capacity();
+    VERIFY( str03.size() == csz01 - 1 );
+    VERIFY( str03.size() <= str03.capacity() );
   }             
   // NB: bad_alloc is regrettable but entirely kosher for
   // out-of-memory situations.
   catch(std::bad_alloc& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 
   // basic_string(const char* s, const allocator& a = allocator())
   std::string str04(str_lit01);
-  test &= str01 == str04;
+  VERIFY( str01 == str04 );
 
 
   // basic_string(size_type n, char c, const allocator& a = allocator())
   csz01 = str01.max_size();
   try {
     std::string str03(csz01 + 1, 'z');
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::length_error& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   try {
     std::string str04(npos, 'b'); // the "maverick's" of all string objects.
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::length_error& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   try {
     std::string str03(csz01 - 1, 'z');
-    test &= str03.size() != 0;
-    test &= str03.size() <= str03.capacity();
+    VERIFY( str03.size() != 0 );
+    VERIFY( str03.size() <= str03.capacity() );
   }             
   // NB: bad_alloc is regrettable but entirely kosher for
   // out-of-memory situations.
   catch(std::bad_alloc& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 
   // template<typename _InputIter>
   //   basic_string(_InputIter begin, _InputIter end, const allocator& a)
   std::string str06(str01.begin(), str01.end());
-  test &= str06 == str01;
+  VERIFY( str06 == str01 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -170,7 +168,7 @@ void test02()
   //   basic_string(_InputIter begin, _InputIter end, const allocator& a)
   // where _InputIter is integral [21.3.1 para 15]
   std::string s(10,0);
-  test &= s.size() == 10;
+  VERIFY( s.size() == 10 );
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
index 6f1ba0657ac0c68ca9b80a270d833adbf3ea7dea..34d63923a9420788cb93df3b17684e507215776d 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -42,45 +40,45 @@ bool test01(void)
   // const_reference operator[] (size_type pos) const;
   csz01 = str01.size();
   cref cref1 = str01[csz01 - 1];
-  test &= cref1 == 'a';
+  VERIFY( cref1 == 'a' );
   cref cref2 = str01[csz01];
-  test &= cref2 == char();
+  VERIFY( cref2 == char() );
 
   // reference operator[] (size_type pos);
   csz02 = str02.size();
   ref ref1 = str02[csz02 - 1];
-  test &= ref1 == 'a';
+  VERIFY( ref1 == 'a' );
   ref ref2 = str02[1];
-  test &= ref2 == '4';
+  VERIFY( ref2 == '4' );
 
   // const_reference at(size_type pos) const;
   csz01 = str01.size();
   cref cref3 = str01.at(csz01 - 1);
-  test &= cref3 == 'a';
+  VERIFY( cref3 == 'a' );
   try {
     cref cref4 = str01.at(csz01);
-    test &= false; // Should not get here, as exception thrown.
+    VERIFY( false ); // Should not get here, as exception thrown.
   }
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   // reference at(size_type pos);
   csz01 = str02.size();
   ref ref3 = str02.at(csz02 - 1);
-  test &= ref3 == 'a';
+  VERIFY( ref3 == 'a' );
   try {
     ref ref4 = str02.at(csz02);
-    test &= false; // Should not get here, as exception thrown.
+    VERIFY( false ); // Should not get here, as exception thrown.
   }
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 #ifdef DEBUG_ASSERT
index 1d63ac515b3297efdecf843a7258a303f415392c..8bafeb4ab1010c11ba27f9e43168cc7bdd0cfb62 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -43,71 +41,71 @@ bool test01(void)
 
   // size_type find(const string&, size_type pos = 0) const;
   csz01 = str01.find(str01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find(str01, 4);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
   csz01 = str01.find(str02, 0);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find(str02, 3);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
   csz01 = str01.find(str03, 0);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
   csz01 = str01.find(str03, 3);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
   csz01 = str01.find(str03, 12);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
 
   // An empty string consists of no characters
   // therefore it should be found at every point in a string,
   // except beyond the end
   csz01 = str01.find(str04, 0);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find(str04, 5);
-  test &= csz01 == 5;
+  VERIFY( csz01 == 5 );
   csz01 = str01.find(str04, str01.size());
-  test &= csz01 == str01.size(); 
+  VERIFY( csz01 == str01.size() ); 
   csz01 = str01.find(str04, str01.size()+1);
-  test &= csz01 == npos
+  VERIFY( csz01 == npos )
   
   // size_type find(const char* s, size_type pos, size_type n) const;
   csz01 = str01.find(str_lit01, 0, 3);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find(str_lit01, 3, 0);
-  test &= csz01 == 3;
+  VERIFY( csz01 == 3 );
 
   // size_type find(const char* s, size_type pos = 0) const;
   csz01 = str01.find(str_lit01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find(str_lit01, 3);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
 
   // size_type find(char c, size_type pos = 0) const;
   csz01 = str01.find('z');
   csz02 = str01.size() - 1;
-  test &= csz01 == csz02;
+  VERIFY( csz01 == csz02 );
   csz01 = str01.find('/');
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
    
   // size_type find_first_of(const string&, size_type pos = 0) const;
   std::string str05("xena rulez");
   csz01 = str01.find_first_of(str01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find_first_of(str01, 4);
-  test &= csz01 == 4;
+  VERIFY( csz01 == 4 );
   csz01 = str01.find_first_of(str02, 0);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find_first_of(str02, 3);
-  test &= csz01 == 3;
+  VERIFY( csz01 == 3 );
   csz01 = str01.find_first_of(str03, 0);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
   csz01 = str01.find_first_of(str03, 3);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
   csz01 = str01.find_first_of(str03, 12);
-  test &= csz01 == 16;
+  VERIFY( csz01 == 16 );
   csz01 = str01.find_first_of(str05, 0);
-  test &= csz01 == 1;
+  VERIFY( csz01 == 1 );
   csz01 = str01.find_first_of(str05, 4);
-  test &= csz01 == 4;
+  VERIFY( csz01 == 4 );
 
   // An empty string consists of no characters
   // therefore it should be found at every point in a string,
@@ -115,26 +113,26 @@ bool test01(void)
   // However, str1.find_first_of(str2,pos) finds the first character in 
   // str1 (starting at pos) that exists in str2, which is none for empty str2
   csz01 = str01.find_first_of(str04, 0);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
   csz01 = str01.find_first_of(str04, 5);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
   
   // size_type find_first_of(const char* s, size_type pos, size_type n) const;
   csz01 = str01.find_first_of(str_lit01, 0, 3);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find_first_of(str_lit01, 3, 0);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
 
   // size_type find_first_of(const char* s, size_type pos = 0) const;
   csz01 = str01.find_first_of(str_lit01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.find_first_of(str_lit01, 3);
-  test &= csz01 == 3;
+  VERIFY( csz01 == 3 );
 
   // size_type find_first_of(char c, size_type pos = 0) const;
   csz01 = str01.find_first_of('z');
   csz02 = str01.size() - 1;
-  test &= csz01 == csz02;
+  VERIFY( csz01 == csz02 );
 
   // size_type find_last_of(const string& str, size_type pos = 0) const;
   // size_type find_last_of(const char* s, size_type pos, size_type n) const;
@@ -146,45 +144,45 @@ bool test01(void)
   std::string x;
   std::string::size_type pos;
   pos = x.find_last_not_of('X');
-  test &= pos == npos;
+  VERIFY( pos == npos );
   pos = x.find_last_not_of("XYZ");
-  test &= pos == npos;
+  VERIFY( pos == npos );
 
   std::string y("a");
   pos = y.find_last_not_of('X');
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = y.find_last_not_of('a');
-  test &= pos == npos;
+  VERIFY( pos == npos );
   pos = y.find_last_not_of("XYZ");
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = y.find_last_not_of("a");
-  test &= pos == npos;
+  VERIFY( pos == npos );
 
   std::string z("ab");
   pos = z.find_last_not_of('X');
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_not_of("XYZ");
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_not_of('b');
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = z.find_last_not_of("Xb");
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = z.find_last_not_of("Xa");
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_of("ab");
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_of("Xa");
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = z.find_last_of("Xb");
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_of("XYZ");
-  test &= pos == std::string::npos;
+  VERIFY( pos == std::string::npos );
   pos = z.find_last_of('a');
-  test &= pos == 0;
+  VERIFY( pos == 0 );
   pos = z.find_last_of('b');
-  test &= pos == 1;
+  VERIFY( pos == 1 );
   pos = z.find_last_of('X');
-  test &= pos == std::string::npos;
+  VERIFY( pos == std::string::npos );
 #endif
 
 #ifdef DEBUG_ASSERT
index 71617d675f153fb9cf56f964340d8f03815d0a87..da51000bd0856d76bced68f3bcdfa621ff378abd 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 int test01(void)
 {
@@ -56,13 +54,13 @@ int test01(void)
   csz02 = str02.size();
   try {
     str03.insert(csz01 + 1, str02, 0, 5);
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   str03 = str01; 
@@ -70,13 +68,13 @@ int test01(void)
   csz02 = str02.size();
   try {
     str03.insert(0, str02, csz02 + 1, 5);
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   csz01 = str01.max_size();
@@ -86,39 +84,39 @@ int test01(void)
     csz02 = str02.size();
     try {
       str03.insert(0, str02, 0, 5);
-      test &= false;
+      VERIFY( false );
     }           
     catch(std::length_error& fail) {
-      test &= true;
+      VERIFY( true );
     }
     catch(...) {
-      test &= false;
+      VERIFY( false );
     }
   }
   catch(std::bad_alloc& failure){
-    test &= true
+    VERIFY( true )
   }
   catch(std::exception& failure){
-    test &= false;
+    VERIFY( false );
   }
 
   str03 = str01; 
   csz01 = str03.size();
   csz02 = str02.size();
   str03.insert(13, str02, 0, 12); 
-  test&= str03 == "rodeo beach, baker beach,marin";
+  VERIFY( str03 == "rodeo beach, baker beach,marin" );
 
   str03 = str01; 
   csz01 = str03.size();
   csz02 = str02.size();
   str03.insert(0, str02, 0, 12); 
-  test&= str03 == "baker beach,rodeo beach, marin";
+  VERIFY( str03 == "baker beach,rodeo beach, marin" );
 
   str03 = str01; 
   csz01 = str03.size();
   csz02 = str02.size();
   str03.insert(csz01, str02, 0, csz02); 
-  test&= str03 == "rodeo beach, marinbaker beach, san francisco";
+  VERIFY( str03 == "rodeo beach, marinbaker beach, san francisco" );
 
   // string& insert(size_type __p, const string& string);
   // insert(p1, str, 0, npos)
@@ -126,47 +124,47 @@ int test01(void)
   csz01 = str03.size();
   csz02 = str02.size();
   str03.insert(csz01, str02); 
-  test&= str03 == "rodeo beach, marinbaker beach, san francisco";
+  VERIFY( str03 == "rodeo beach, marinbaker beach, san francisco" );
 
   str03 = str01; 
   csz01 = str03.size();
   csz02 = str02.size();
   str03.insert(0, str02); 
-  test&= str03 == "baker beach, san franciscorodeo beach, marin";
+  VERIFY( str03 == "baker beach, san franciscorodeo beach, marin" );
 
   // string& insert(size_type __p, const char* s, size_type n);
   // insert(p1, string(s,n))
   str03 = str02; 
   csz01 = str03.size();
   str03.insert(0, "-break at the bridge", 20); 
-  test&= str03 == "-break at the bridgebaker beach, san francisco";
+  VERIFY( str03 == "-break at the bridgebaker beach, san francisco" );
 
   // string& insert(size_type __p, const char* s);
   // insert(p1, string(s))
   str03 = str02; 
   str03.insert(0, "-break at the bridge"); 
-  test&= str03 == "-break at the bridgebaker beach, san francisco";
+  VERIFY( str03 == "-break at the bridgebaker beach, san francisco" );
 
   // string& insert(size_type __p, size_type n, char c)
   // insert(p1, string(n,c))
   str03 = str02; 
   csz01 = str03.size();
   str03.insert(csz01, 5, 'z'); 
-  test&= str03 == "baker beach, san franciscozzzzz";
+  VERIFY( str03 == "baker beach, san franciscozzzzz" );
 
   // iterator insert(iterator p, char c)
   // inserts a copy of c before the character referred to by p
   str03 = str02; 
   citerator cit01 = str03.begin();
   str03.insert(cit01, 'u'); 
-  test&= str03 == "ubaker beach, san francisco";
+  VERIFY( str03 == "ubaker beach, san francisco" );
 
   // iterator insert(iterator p, size_type n,  char c)
   // inserts n copies of c before the character referred to by p
   str03 = str02; 
   cit01 = str03.begin();
   str03.insert(cit01, 5, 'u'); 
-  test&= str03 == "uuuuubaker beach, san francisco";
+  VERIFY( str03 == "uuuuubaker beach, san francisco" );
 
   // template<inputit>
   //   void 
@@ -176,12 +174,12 @@ int test01(void)
   str03 = str02; 
   csz01 = str03.size();
   str03.insert(str03.begin(), str01.begin(), str01.end()); 
-  test&= str03 == "rodeo beach, marinbaker beach, san francisco";
+  VERIFY( str03 == "rodeo beach, marinbaker beach, san francisco" );
 
   str03 = str02; 
   csz01 = str03.size();
   str03.insert(str03.end(), str01.begin(), str01.end()); 
-  test&= str03 == "baker beach, san franciscorodeo beach, marin";
+  VERIFY( str03 == "baker beach, san franciscorodeo beach, marin" );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 4256d07880aa210db65789ea5f5e0d49cc9496fb..6b1c2d8dbfea9dd6e5d0b77d9b8fac7a76837168 100644 (file)
@@ -29,9 +29,7 @@
 #include <sstream>
 #include <fstream>
 #include <iostream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -54,91 +52,91 @@ bool test01(void)
   // istream& operator>>(istream&, string&)
   std::istringstream istrs01(str01);
   istrs01 >> str10;
-  test &= str10 == str02;
+  VERIFY( str10 == str02 );
   try {
     std::istringstream::int_type i01 = istrs01.peek(); //a-boo
-    test &= std::istringstream::traits_type::to_char_type(i01) == ' ';
+    VERIFY( std::istringstream::traits_type::to_char_type(i01) == ' ' );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   istrs01 >> str10; 
-  test &= str10 == str03
+  VERIFY( str10 == str03 )
   istrs01 >> str10; 
-  test &= str10 == str04; // sentry picks out the white spaces. . 
+  VERIFY( str10 == str04 ); // sentry picks out the white spaces. . 
 
   std::istringstream istrs02(str05); // empty
   istrs02 >> str10;
-  test &= str10 == str04;
+  VERIFY( str10 == str04 );
  
   // istream& getline(istream&, string&, char)
   // istream& getline(istream&, string&)
   try {
     getline(istrs01, str10);
-    test &= !istrs01.fail();
-    test &= !istrs01.eof();
-    test &= istrs01.good();
-    test &= str10 == " bay";
+    VERIFY( !istrs01.fail() );
+    VERIFY( !istrs01.eof() );
+    VERIFY( istrs01.good() );
+    VERIFY( str10 == " bay" );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   try {
     istrs01.clear();
     getline(istrs01, str10,'\t');
-    test &= !istrs01.fail();
-    test &= !istrs01.eof();
-    test &= istrs01.good();
-    test &= str10 == str05;
+    VERIFY( !istrs01.fail() );
+    VERIFY( !istrs01.eof() );
+    VERIFY( istrs01.good() );
+    VERIFY( str10 == str05 );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   try {
     istrs01.clear();
     getline(istrs01, str10,'\t');
-    test &= !istrs01.fail();
-    test &= !istrs01.eof();
-    test &= istrs01.good();
-    test &= str10 == str05;
+    VERIFY( !istrs01.fail() );
+    VERIFY( !istrs01.eof() );
+    VERIFY( istrs01.good() );
+    VERIFY( str10 == str05 );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   try {
     istrs01.clear();
     getline(istrs01, str10, '.');
-    test &= !istrs01.fail();
-    test &= istrs01.eof();
-    test &= !istrs01.good();
-    test &= str10 == "\t    from Elk Rapids to the point reminds me of miles";
+    VERIFY( !istrs01.fail() );
+    VERIFY( istrs01.eof() );
+    VERIFY( !istrs01.good() );
+    VERIFY( str10 == "\t    from Elk Rapids to the point reminds me of miles" );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   try {
     getline(istrs02, str10);
-    test &= istrs02.fail();
-    test &= istrs02.eof();
-    test &= str10 == "\t    from Elk Rapids to the point reminds me of miles";
+    VERIFY( istrs02.fail() );
+    VERIFY( istrs02.eof() );
+    VERIFY( str10 == "\t    from Elk Rapids to the point reminds me of miles" );
   }
   catch(std::exception& fail) {
-    test &= false; // shouldn't throw
+    VERIFY( false ); // shouldn't throw
   }
 
   // ostream& operator<<(ostream&, const basic_string&)
   std::ostringstream ostrs01;
   try {
     ostrs01 << str01;
-    test &= ostrs01.str() == str01;
+    VERIFY( ostrs01.str() == str01 );
   }
   catch(std::exception& fail) {
-    test &= false;
+    VERIFY( false );
   }
 
   std::string hello_world;
@@ -161,8 +159,8 @@ void test04(int size)
   std::ostringstream oss(str);
   
   // sanity checks
-  test &= str.size() == size;
-  test &= oss.good();
+  VERIFY( str.size() == size );
+  VERIFY( oss.good() );
 
   // stress test
   oss << str << std::endl;
@@ -173,10 +171,10 @@ void test04(int size)
   if (!oss.good()) 
     test = false;
 
-  test &= str.size() == size;
-  test &= oss.good();
+  VERIFY( str.size() == size );
+  VERIFY( oss.good() );
   std::string str_tmp = oss.str();
-  test &= str_tmp.size() == expected_size;
+  VERIFY( str_tmp.size() == expected_size );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -196,8 +194,8 @@ void test05(int size)
   std::string str(size, fillc);
 
   // sanity checks
-  test &= str.size() == size;
-  test &= ofs.good();
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
 
   // stress test
   ofs << str << std::endl;
@@ -208,8 +206,8 @@ void test05(int size)
   if (!ofs.good()) 
     test = false;
 
-  test &= str.size() == size;
-  test &= ofs.good();
+  VERIFY( str.size() == size );
+  VERIFY( ofs.good() );
 
   ofs.close();
 
@@ -229,7 +227,7 @@ void test05(int size)
        break;
     }
 
-  test &= count == 2 * size;
+  VERIFY( count == 2 * size );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -251,16 +249,16 @@ void test06(void)
   str01.erase(0, 1);
   size_type i03 = str01.size();
   size_type i04 = str01.capacity();
-  test &= i01 - 1 == i03;
-  test &= i02 >= i04;
+  VERIFY( i01 - 1 == i03 );
+  VERIFY( i02 >= i04 );
 
   std::istringstream is(str01);
   std::string str02;
   is >> str02 >> std::ws;
   size_type i05 = str02.size();
   size_type i06 = str02.capacity();
-  test &= i05 == i03;
-  test &= i06 <= i04;
+  VERIFY( i05 == i03 );
+  VERIFY( i06 <= i04 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -281,8 +279,8 @@ void test07(void)
   while (iss >> s) 
     ++i;
 
-  test &= i < 3;
-  test &= static_cast<bool>(iss.rdstate() & std::ios_base::failbit);
+  VERIFY( i < 3 );
+  VERIFY( static_cast<bool>(iss.rdstate() & std::ios_base::failbit) );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 1eeabd3d0263dd3ce18d99abee2a731be75ab671..5a00281170f1011dfe496fb89bc28bb6f03e34e8 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 // Do a quick sanity check on known problems with element access and
 // ref-counted strings. These should all pass, regardless of the
@@ -60,48 +58,48 @@ bool test01(void)
   str03 = str01;
   it1 = str01.begin();
   *it1 = 'x';
-  test &= str01[0] == 'x';
-  test &= str03[0] == 'm';
+  VERIFY( str01[0] == 'x' );
+  VERIFY( str03[0] == 'm' );
 
   str03 = str01; 
   csz01 = str01.size();
   rit1 = str01.rbegin(); // NB: Pointing at one-past the end, so ...
   *rit1 = 'z';                  // ... but it's taken care of here 
-  test &= str01[csz01 - 1] == 'z';
-  test &= str03[csz01 - 1] == 'y';
+  VERIFY( str01[csz01 - 1] == 'z' );
+  VERIFY( str03[csz01 - 1] == 'y' );
 
   str03 = str01;
   csz01 = str01.size();
   std::string::reference r1 = str01.at(csz01 - 2);
-  test &= str03 == str01;
+  VERIFY( str03 == str01 );
   r1 = 'd';
-  test &= str01[csz01 - 2] == 'd';
-  test &= str03[csz01 - 2] == 'a';
+  VERIFY( str01[csz01 - 2] == 'd' );
+  VERIFY( str03[csz01 - 2] == 'a' );
 
   str03 = str01; 
   csz01 = str01.size();
   std::string::reference r2 = str01[csz01 - 3];
-  test &= str03 == str01;
+  VERIFY( str03 == str01 );
   r2 = 'w'; 
-  test &= str01[csz01 - 3] == 'w';
-  test &= str03[csz01 - 3] == 'b';
+  VERIFY( str01[csz01 - 3] == 'w' );
+  VERIFY( str03[csz01 - 3] == 'b' );
 
   str03 = str01;
   csz02 = str01.size();
   it1 = str01.end();
-  test &= str03 == str01;
+  VERIFY( str03 == str01 );
   --it1;
   *it1 = 'q'; 
-  test &= str01[csz02 - 1] == 'q';
-  test &= str03[csz02 - 1] == 'z';
+  VERIFY( str01[csz02 - 1] == 'q' );
+  VERIFY( str03[csz02 - 1] == 'z' );
 
   str03 = str01;
   rit1 = str01.rend();
-  test &= str03 == str01;
+  VERIFY( str03 == str01 );
   --rit1;      
   *rit1 = 'p'; 
-  test &= str01[0] == 'p';
-  test &= str03[0] == 'x';
+  VERIFY( str01[0] == 'p' );
+  VERIFY( str03[0] == 'x' );
 
   // need to also test for const begin/const end
 #ifdef DEBUG_ASSERT
@@ -129,39 +127,39 @@ bool test02(void)
   std::string str05 = str02; // optional, so that begin below causes a mutate
   std::string::iterator p = str02.insert(str02.begin(), ' ');
   std::string str03 = str02;
-  test &= str03 == str02;
+  VERIFY( str03 == str02 );
   *p = '!';
-  test &= *str03.c_str() == ' ';
+  VERIFY( *str03.c_str() == ' ' );
   str03[0] = '@';
-  test &= str02[0] == '!';
-  test &= *p == '!';
-  test &= str02 != str05;
-  test &= str02 != str03;
+  VERIFY( str02[0] == '!' );
+  VERIFY( *p == '!' );
+  VERIFY( str02 != str05 );
+  VERIFY( str02 != str03 );
 
   std::string str10 = str01;
   std::string::iterator p2 = str10.insert(str10.begin(), 'a');
   std::string str11 = str10;
   *p2 = 'e';
-  test &= str11 != str10;
+  VERIFY( str11 != str10 );
 
   std::string str06 = str01;
   std::string str07 = str06; // optional, so that begin below causes a mutate
   p = str06.erase(str06.begin());
   std::string str08 = str06;
-  test &= str08 == str06;
+  VERIFY( str08 == str06 );
   *p = '!';
-  test &=  *str08.c_str() == 't';
+  VERIFY( *str08.c_str() == 't' );
   str08[0] = '@';
-  test &= str06[0] == '!';
-  test &= *p == '!';
-  test &= str06 != str07;
-  test &= str06 != str08;
+  VERIFY( str06[0] == '!' );
+  VERIFY( *p == '!' );
+  VERIFY( str06 != str07 );
+  VERIFY( str06 != str08 );
 
   std::string str12 = str01;
   p2 = str12.erase(str12.begin(), str12.begin() + str12.size() - 1);
   std::string str13 = str12;
   *p2 = 'e';
-  test &= str12 != str13;
+  VERIFY( str12 != str13 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 2116839e7f1556c5d76e7d6d23d2ea5cab9730f4..61704fda6ccccb15d347e6c850cabe7591b16052 100644 (file)
@@ -111,9 +111,7 @@ template<class charT, class traits, class Allocator>
 */
 
 #include <string>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 int test01(void)
 {
@@ -126,114 +124,114 @@ int test01(void)
   
   str_4 = str_0;
   //comparisons between string objects
-  test &= !(str_0 == str_1);
-  test &= !(str_0 == str_2);
-  test &= !(str_0 == str_3);
-  test &= !(str_1 == str_0);
-  test &= !(str_2 == str_0);
-  test &= !(str_3 == str_0);
-  test &= str_4 == str_0;
-  test &= str_0 == str_4;
-
-  test &= str_0 != str_1;
-  test &= str_0 != str_2;
-  test &= str_0 != str_3;
-  test &= str_1 != str_0;
-  test &= str_2 != str_0;
-  test &= str_3 != str_0;
-  test &= !(str_0 != str_4);
-  test &= !(str_4 != str_0);
+  VERIFY( !(str_0 == str_1) );
+  VERIFY( !(str_0 == str_2) );
+  VERIFY( !(str_0 == str_3) );
+  VERIFY( !(str_1 == str_0) );
+  VERIFY( !(str_2 == str_0) );
+  VERIFY( !(str_3 == str_0) );
+  VERIFY( str_4 == str_0 );
+  VERIFY( str_0 == str_4 );
+
+  VERIFY( str_0 != str_1 );
+  VERIFY( str_0 != str_2 );
+  VERIFY( str_0 != str_3 );
+  VERIFY( str_1 != str_0 );
+  VERIFY( str_2 != str_0 );
+  VERIFY( str_3 != str_0 );
+  VERIFY( !(str_0 != str_4) );
+  VERIFY( !(str_4 != str_0) );
    
-  test &= str_0 > str_1; //true cuz r>m
-  test &= str_0 > str_2;
-  test &= !(str_0 > str_3);
-  test &= !(str_1 > str_0); //false cuz m<r
-  test &= !(str_2 > str_0);
-  test &= str_3 > str_0;
-  test &= !(str_0 > str_4);
-  test &= !(str_4 > str_0);
-
-  test &= !(str_0 < str_1); //false cuz r>m
-  test &= !(str_0 < str_2);
-  test &= str_0 < str_3;
-  test &= str_1 < str_0; //true cuz m<r
-  test &= str_2 < str_0;
-  test &= !(str_3 < str_0);
-  test &= !(str_0 < str_4);
-  test &= !(str_4 < str_0);
-
-  test &= str_0 >= str_1; //true cuz r>m
-  test &= str_0 >= str_2;
-  test &= !(str_0 >= str_3);
-  test &= !(str_1 >= str_0);//false cuz m<r
-  test &= !(str_2 >= str_0);
-  test &= str_3 >= str_0;
-  test &= str_0 >= str_4;
-  test &= str_4 >= str_0;
-
-  test &= !(str_0 <= str_1);//false cuz r>m
-  test &= !(str_0 <= str_2);
-  test &= str_0 <= str_3;
-  test &= str_1 <= str_0;//true cuz m<r
-  test &= str_2 <= str_0;
-  test &= !(str_3 <= str_0);
-  test &= str_0 <= str_4;
-  test &= str_4 <= str_0;
+  VERIFY( str_0 > str_1 ); //true cuz r>m
+  VERIFY( str_0 > str_2 );
+  VERIFY( !(str_0 > str_3) );
+  VERIFY( !(str_1 > str_0) ); //false cuz m<r
+  VERIFY( !(str_2 > str_0) );
+  VERIFY( str_3 > str_0 );
+  VERIFY( !(str_0 > str_4) );
+  VERIFY( !(str_4 > str_0) );
+
+  VERIFY( !(str_0 < str_1) ); //false cuz r>m
+  VERIFY( !(str_0 < str_2) );
+  VERIFY( str_0 < str_3 );
+  VERIFY( str_1 < str_0 ); //true cuz m<r
+  VERIFY( str_2 < str_0 );
+  VERIFY( !(str_3 < str_0) );
+  VERIFY( !(str_0 < str_4) );
+  VERIFY( !(str_4 < str_0) );
+
+  VERIFY( str_0 >= str_1 ); //true cuz r>m
+  VERIFY( str_0 >= str_2 );
+  VERIFY( !(str_0 >= str_3) );
+  VERIFY( !(str_1 >= str_0) );//false cuz m<r
+  VERIFY( !(str_2 >= str_0) );
+  VERIFY( str_3 >= str_0 );
+  VERIFY( str_0 >= str_4 );
+  VERIFY( str_4 >= str_0 );
+
+  VERIFY( !(str_0 <= str_1) );//false cuz r>m
+  VERIFY( !(str_0 <= str_2) );
+  VERIFY( str_0 <= str_3 );
+  VERIFY( str_1 <= str_0 );//true cuz m<r
+  VERIFY( str_2 <= str_0 );
+  VERIFY( !(str_3 <= str_0) );
+  VERIFY( str_0 <= str_4 );
+  VERIFY( str_4 <= str_0 );
 
   //comparisons between string object and string literal
-  test &= !(str_0 == "costa marbella");
-  test &= !(str_0 == "cost");
-  test &= !(str_0 == "costa ricans");
-  test &= !("costa marbella" == str_0);
-  test &= !("cost" == str_0);
-  test &= !("costa ricans" == str_0);
-  test &= "costa rica" == str_0;
-  test &= str_0 == "costa rica";
-
-  test &= str_0 != "costa marbella";
-  test &= str_0 != "cost";
-  test &= str_0 != "costa ricans";
-  test &= "costa marbella" != str_0;
-  test &= "cost" != str_0;
-  test &= "costa ricans" != str_0;
-  test &= !("costa rica" != str_0);
-  test &= !(str_0 != "costa rica");
-
-  test &= str_0 > "costa marbella"; //true cuz r>m
-  test &= str_0 > "cost";
-  test &= !(str_0 > "costa ricans");
-  test &= !("costa marbella" > str_0);//false cuz m<r
-  test &= !("cost" > str_0);
-  test &= "costa ricans" > str_0;
-  test &= !("costa rica" > str_0);
-  test &= !(str_0 > "costa rica");
-
-  test &= !(str_0 < "costa marbella");//false cuz r>m
-  test &= !(str_0 < "cost");
-  test &= str_0 < "costa ricans";
-  test &= "costa marbella" < str_0;//true cuz m<r
-  test &= "cost" < str_0;
-  test &= !("costa ricans" < str_0);
-  test &= !("costa rica" < str_0);
-  test &= !(str_0 < "costa rica");
-
-  test &= str_0 >= "costa marbella";//true cuz r>m
-  test &= str_0 >= "cost";
-  test &= !(str_0 >= "costa ricans");
-  test &= !("costa marbella" >= str_0);//false cuz m<r
-  test &= !("cost" >= str_0);
-  test &= "costa ricans" >= str_0;
-  test &= "costa rica" >= str_0;
-  test &= str_0 >= "costa rica";
-
-  test &= !(str_0 <= "costa marbella");//false cuz r>m
-  test &= !(str_0 <= "cost");
-  test &= str_0 <= "costa ricans";
-  test &= "costa marbella" <= str_0;//true cuz m<r
-  test &= "cost" <= str_0;
-  test &= !("costa ricans" <= str_0);
-  test &= "costa rica" <= str_0;
-  test &= str_0 <= "costa rica";
+  VERIFY( !(str_0 == "costa marbella") );
+  VERIFY( !(str_0 == "cost") );
+  VERIFY( !(str_0 == "costa ricans") );
+  VERIFY( !("costa marbella" == str_0) );
+  VERIFY( !("cost" == str_0) );
+  VERIFY( !("costa ricans" == str_0) );
+  VERIFY( "costa rica" == str_0 );
+  VERIFY( str_0 == "costa rica" );
+
+  VERIFY( str_0 != "costa marbella" );
+  VERIFY( str_0 != "cost" );
+  VERIFY( str_0 != "costa ricans" );
+  VERIFY( "costa marbella" != str_0 );
+  VERIFY( "cost" != str_0 );
+  VERIFY( "costa ricans" != str_0 );
+  VERIFY( !("costa rica" != str_0) );
+  VERIFY( !(str_0 != "costa rica") );
+
+  VERIFY( str_0 > "costa marbella" ); //true cuz r>m
+  VERIFY( str_0 > "cost" );
+  VERIFY( !(str_0 > "costa ricans") );
+  VERIFY( !("costa marbella" > str_0) );//false cuz m<r
+  VERIFY( !("cost" > str_0) );
+  VERIFY( "costa ricans" > str_0 );
+  VERIFY( !("costa rica" > str_0) );
+  VERIFY( !(str_0 > "costa rica") );
+
+  VERIFY( !(str_0 < "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 < "cost") );
+  VERIFY( str_0 < "costa ricans" );
+  VERIFY( "costa marbella" < str_0 );//true cuz m<r
+  VERIFY( "cost" < str_0 );
+  VERIFY( !("costa ricans" < str_0) );
+  VERIFY( !("costa rica" < str_0) );
+  VERIFY( !(str_0 < "costa rica") );
+
+  VERIFY( str_0 >= "costa marbella" );//true cuz r>m
+  VERIFY( str_0 >= "cost" );
+  VERIFY( !(str_0 >= "costa ricans") );
+  VERIFY( !("costa marbella" >= str_0) );//false cuz m<r
+  VERIFY( !("cost" >= str_0) );
+  VERIFY( "costa ricans" >= str_0 );
+  VERIFY( "costa rica" >= str_0 );
+  VERIFY( str_0 >= "costa rica" );
+
+  VERIFY( !(str_0 <= "costa marbella") );//false cuz r>m
+  VERIFY( !(str_0 <= "cost") );
+  VERIFY( str_0 <= "costa ricans" );
+  VERIFY( "costa marbella" <= str_0 );//true cuz m<r
+  VERIFY( "cost" <= str_0 );
+  VERIFY( !("costa ricans" <= str_0) );
+  VERIFY( "costa rica" <= str_0 );
+  VERIFY( str_0 <= "costa rica" );
 
   // 21.3.7.1 operator+
 /*
@@ -262,19 +260,19 @@ template<class charT, class traits, class Allocator>
 */
 
   str_4 = str_0 + "ns";
-  test &= str_4 == str_3;
+  VERIFY( str_4 == str_3 );
 
   const std::string str_5(" marbella");
   str_4 = "costa" + str_5;
-  test &= str_4 == str_1;
+  VERIFY( str_4 == str_1 );
 
   std::string str_6("ns");
   str_4 = str_0 + str_6;
-  test &= str_4 == str_3;
+  VERIFY( str_4 == str_3 );
 
   str_4 = str_0 + 'n';
   str_4 = str_4 + 's';
-  test &= str_4 == str_3;
+  VERIFY( str_4 == str_3 );
 
   str_4 = 'a' + str_6;
   str_4 = 'c' + str_4;
@@ -286,7 +284,7 @@ template<class charT, class traits, class Allocator>
   str_4 = 's' + str_4;
   str_4 = 'o' + str_4;
   str_4 = 'c' + str_4;
-  test &= str_4 == str_3;
+  VERIFY( str_4 == str_3 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 06e811f5ca46bf91cf24d26e20173efa436dba9a..996d7d566ef5127f0f16d13b76970db02ee85890 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <cstdio>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 int test01(void)
 {
index b2d1096a090c7681e0d19b41901adeb1272d283d..2ad1ab61a6590d91872dd68d7e6b8d4c54361181 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -60,23 +58,23 @@ bool test01(void)
   std::string x = X;
 
   char ch = x[0];
-  test &= ch == 'H';
+  VERIFY( ch == 'H' );
 
   std::string z = x.substr(2, 3);
-  test &= z == "llo";
+  VERIFY( z == "llo" );
 
   x.replace(2, 2, "r");
-  test &= x == "Hero";
+  VERIFY( x == "Hero" );
 
   x = X;
   x.replace(0, 1, "j");
-  test &= x == "jello";
+  VERIFY( x == "jello" );
 
   int ar[] = { 'H', 'e', 'l', 'l', 'o' };
   x.replace(std::find(x.begin(), x.end(), 'l'), 
            std::find(x.rbegin(), x.rend(), 'l').base(), ar, 
            ar + sizeof(ar) / sizeof(ar[0]));
-  test &= x == "jeHelloo";
+  VERIFY( x == "jeHelloo" );
 #endif
 
 #ifdef DEBUG_ASSERT
index eb54295ee7dae3d59ca9a4a16201d93f68d44b6f..cf826dda52cac4df82ceb85607ab63786b834c95 100644 (file)
@@ -20,9 +20,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 // 21.3.6.2 basic_string rfind
 bool test01(void)
@@ -42,50 +40,50 @@ bool test01(void)
 
   // size_type rfind(const string&, size_type pos = 0) const;
   csz01 = str01.rfind(str01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str01, 4);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str02,3);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str02);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str03);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
   csz01 = str01.rfind(str03, 3);
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
   csz01 = str01.rfind(str03, 12);
-  test &= csz01 == 8;
+  VERIFY( csz01 == 8 );
 
   // An empty string consists of no characters
   // therefore it should be found at every point in a string,
   // except beyond the end
   csz01 = str01.rfind(str04, 0);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str04, 5);
-  test &= csz01 == 5;
+  VERIFY( csz01 == 5 );
   csz01 = str01.rfind(str04, str01.size());
-  test &= csz01 == str01.size();
+  VERIFY( csz01 == str01.size() );
   csz01 = str01.rfind(str04, str01.size()+1);
-  test &= csz01 == str01.size();
+  VERIFY( csz01 == str01.size() );
 
   // size_type rfind(const char* s, size_type pos, size_type n) const;
   csz01 = str01.rfind(str_lit01, 0, 3);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str_lit01, 3, 0);
-  test &= csz01 == 3;
+  VERIFY( csz01 == 3 );
 
   // size_type rfind(const char* s, size_type pos = 0) const;
   csz01 = str01.rfind(str_lit01);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
   csz01 = str01.rfind(str_lit01, 3);
-  test &= csz01 == 0;
+  VERIFY( csz01 == 0 );
 
   // size_type rfind(char c, size_type pos = 0) const;
   csz01 = str01.rfind('z');
   csz02 = str01.size() - 1;
-  test &= csz01 == csz02;
+  VERIFY( csz01 == csz02 );
   csz01 = str01.rfind('/');
-  test &= csz01 == npos;
+  VERIFY( csz01 == npos );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 354dbb2e7cf63a15e65202178553a77256ed10f2..5c643576276b4a0ca51f0254d3d6a8a758e16f25 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -43,30 +41,30 @@ bool test01(void)
   //  substr(size_type pos = 0, size_type n = npos) const;
   csz01 = str01.size();
   str02 = str01.substr(0, 1);
-  test &= str02 == "r";
+  VERIFY( str02 == "r" );
   str02 = str01.substr(10);
-  test &= str02 == "pacifica";
+  VERIFY( str02 == "pacifica" );
 
   try {
     str02 = str01.substr(csz01 + 1);
-    test &= false
+    VERIFY( false )
   }
   catch(std::out_of_range& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
  try {
     str02 = str01.substr(csz01);
-    test &= str02.size() == 0;
+    VERIFY( str02.size() == 0 );
   }
   catch(std::out_of_range& fail) {
-    test &= false;
+    VERIFY( false );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 #ifdef DEBUG_ASSERT
index 06ce7c394137f4026e8a94be1298d8e85aa0e9d3..2e91710c795075db4c53336129ae3f873e56538d 100644 (file)
@@ -31,9 +31,7 @@
 
 #include <locale>
 // NB: Don't include any other headers in this file.
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 class gnu_ctype: public std::ctype<char> {};
 
@@ -59,37 +57,37 @@ void test01()
   char c_array[len + 1];
 
   // bool is(mask m, char c) const;
-  test &= gctype.is(std::ctype_base::space, c30);
-  test &= gctype.is(std::ctype_base::upper, c00);
-  test &= gctype.is(std::ctype_base::lower, c10);
-  test &= gctype.is(std::ctype_base::digit, c20);
-  test &= gctype.is(std::ctype_base::punct, c40);
-  test &= gctype.is(std::ctype_base::alpha, c50);
-  test &= gctype.is(std::ctype_base::alpha, c60);
-  test &= gctype.is(std::ctype_base::xdigit, c20);
-  test &= !gctype.is(std::ctype_base::xdigit, c80);
-  test &= gctype.is(std::ctype_base::alnum, c50);
-  test &= gctype.is(std::ctype_base::alnum, c20);
-  test &= gctype.is(std::ctype_base::graph, c40);
-  test &= gctype.is(std::ctype_base::graph, c20);
+  VERIFY( gctype.is(std::ctype_base::space, c30) );
+  VERIFY( gctype.is(std::ctype_base::upper, c00) );
+  VERIFY( gctype.is(std::ctype_base::lower, c10) );
+  VERIFY( gctype.is(std::ctype_base::digit, c20) );
+  VERIFY( gctype.is(std::ctype_base::punct, c40) );
+  VERIFY( gctype.is(std::ctype_base::alpha, c50) );
+  VERIFY( gctype.is(std::ctype_base::alpha, c60) );
+  VERIFY( gctype.is(std::ctype_base::xdigit, c20) );
+  VERIFY( !gctype.is(std::ctype_base::xdigit, c80) );
+  VERIFY( gctype.is(std::ctype_base::alnum, c50) );
+  VERIFY( gctype.is(std::ctype_base::alnum, c20) );
+  VERIFY( gctype.is(std::ctype_base::graph, c40) );
+  VERIFY( gctype.is(std::ctype_base::graph, c20) );
 
   // char toupper(char c) const
   c100 = gctype.toupper(c10);
-  test &= c100 == c00;
+  VERIFY( c100 == c00 );
 
   // char tolower(char c) const
   c100 = gctype.tolower(c00);
-  test &= c100 == c10;
+  VERIFY( c100 == c10 );
 
   // char toupper(char* low, const char* hi) const
   std::char_traits<char>::copy(c_array, strlit02, len + 1);
   gctype.toupper(c_array, c_array + len);
-  test &= !std::char_traits<char>::compare(c_array, strlit01, len - 1);
+  VERIFY( !std::char_traits<char>::compare(c_array, strlit01, len - 1) );
 
   // char tolower(char* low, const char* hi) const
   std::char_traits<char>::copy(c_array, strlit01, len + 1);
   gctype.tolower(c_array, c_array + len);
-  test &= !std::char_traits<char>::compare(c_array, strlit02, len - 1);
+  VERIFY( !std::char_traits<char>::compare(c_array, strlit02, len - 1) );
 
 
 #ifdef DEBUG_ASSERT
index d044777a71015416a3043388dea839281d99bb6e..9741f24b4630602f9e5f00ffd40e1b5fec1d5a1c 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <bitset>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -34,15 +32,15 @@ bool test01(void)
   const size_t n1 = 5;
   std::bitset<n1> bit01;
   for (int i = 0; i < n1; ++i)
-    test &= !bit01.test(i);
+    VERIFY( !bit01.test(i) );
 
   // bitset(unsigned long)
   const size_t n2 = 32;
   unsigned long ul1 = 2;
   std::bitset<n2> bit02(ul1);
-  test &= !bit02.test(0);
-  test &= bit02.test(1);
-  test &= !bit02.test(2);
+  VERIFY( !bit02.test(0) );
+  VERIFY( bit02.test(1) );
+  VERIFY( !bit02.test(2) );
 
   // template<_CharT, _Traits, _Alloc>
   // explicit bitset(const basic_string<_C,_T,_A>&, size_type pos, size_type n)
@@ -52,10 +50,10 @@ bool test01(void)
     std::bitset<n3> bit03(str01, 5);
   }
   catch(std::invalid_argument& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test&= false;
+    VERIFY( false );
   }
 
   std::string str02("010101000011");
@@ -66,13 +64,13 @@ bool test01(void)
     for (int i = 0; i < sz; ++i)
       str03 += (bit03.test(i) ? '1' : '0');
     std::reverse(str03.begin(), str03.end());
-    test &= str03 == str02;
+    VERIFY( str03 == str02 );
   }
   catch(std::invalid_argument& fail) {
-    test &= false;
+    VERIFY( false );
   }
   catch(...) {
-    test&= false;
+    VERIFY( false );
   }
   
 
index d439edba369b3eeff60ee402e6a245be3843d03c..3ca2ee3db185dc4c8a13f93981c606065d4ef85c 100644 (file)
@@ -22,9 +22,7 @@
 #include <set>
 #include <bitset>
 
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 static char original_bits[1024];
 static char left_shifted[1024];
@@ -78,13 +76,13 @@ template <size_t size>
       shifted <<= shift_step;
       //correct = std::string(left_shifted);
       correct = std::bitset<size> (std::string(left_shifted));
-      test &= shifted == correct;
+      VERIFY( shifted == correct );
 
       shifted = original;
       shifted >>= shift_step;
       //correct = std::string(right_shifted);
       correct = std::bitset<size> (std::string(right_shifted));
-      test &= shifted == correct;
+      VERIFY( shifted == correct );
     }
 
     return test;
@@ -94,13 +92,13 @@ bool
 test01() {
   bool test = true;
 
-  test &= do_test<32>();
-  test &= do_test<48>();
-  test &= do_test<64>();
+  VERIFY( do_test<32>() );
+  VERIFY( do_test<48>() );
+  VERIFY( do_test<64>() );
 
-  test &= do_test<511>();
-  test &= do_test<513>();
-  test &= do_test<997>();
+  VERIFY( do_test<511>() );
+  VERIFY( do_test<513>() );
+  VERIFY( do_test<997>() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index c5207f41361fe233d82c252b0209c6182fcdbf3f..b69e2abf1bb906195983682bec345115158e7004 100644 (file)
@@ -22,9 +22,7 @@
 // 23.2.4.2 vector capacity
 
 #include <vector>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 template<typename T>
   struct A { };
@@ -42,17 +40,17 @@ bool test01()
   size_type sz01 = vec01.capacity();
   vec01.reserve(100);
   size_type sz02 = vec01.capacity();
-  test &= sz02 >= sz01;
+  VERIFY( sz02 >= sz01 );
   
   sz01 = vec01.size() + 5;
   vec01.resize(sz01);
   sz02 = vec01.size();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
 
   sz01 = vec01.size() - 5;
   vec01.resize(sz01);
   sz02 = vec01.size();
-  test &= sz01 == sz02;
+  VERIFY( sz01 == sz02 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 204ab55286e7c37234041dd409767e8719a821ac..aa9b94ef3e7cfd0a73e04e10cd3636ce9c90eff5 100644 (file)
@@ -22,9 +22,7 @@
 // 23.2.4.1 vector constructors, copy, and assignment
 
 #include <vector>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 template<typename T>
   struct A { };
index b72d749c503ac542c2c3acdde4148082296e8de1..f1ba0229d6185909174651ccb5cba258c878c3d1 100644 (file)
@@ -21,9 +21,7 @@
 // 23.2.4.3 vector modifiers
 
 #include <vector>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 template<typename T>
   struct A { };
index 6338015d365d93aa71d3b8a60bcee502fcf1f8fe..78d36331604ea1accd22d1b93c2c753ff4e7111f 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <sstream>
 #include <iterator>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -41,55 +39,55 @@ bool test01(void)
   cistreambuf_iter istrb_it01(istrs00);
   cistreambuf_iter istrb_it02;
   std::string tmp(istrb_it01, istrb_it02); 
-  test &= tmp == str01;
+  VERIFY( tmp == str01 );
 
   cistreambuf_iter istrb_it03(0);
   cistreambuf_iter istrb_it04;
-  test &= istrb_it03 == istrb_it04;
+  VERIFY( istrb_it03 == istrb_it04 );
 
   cistreambuf_iter istrb_it05(istrs01);
   cistreambuf_iter istrb_it06(istrs01.rdbuf());
-  test &= istrb_it05 == istrb_it06;
+  VERIFY( istrb_it05 == istrb_it06 );
   
   // bool equal(istreambuf_iter& b)
   cistreambuf_iter istrb_it07(0);
   cistreambuf_iter istrb_it08;
-  test &= istrb_it07.equal(istrb_it08);
+  VERIFY( istrb_it07.equal(istrb_it08) );
   cistreambuf_iter istrb_it09(0);
   cistreambuf_iter istrb_it10;
-  test &= istrb_it10.equal(istrb_it09);
+  VERIFY( istrb_it10.equal(istrb_it09) );
 
   cistreambuf_iter istrb_it11(istrs01);
   cistreambuf_iter istrb_it12(istrs01.rdbuf());
-  test &= istrb_it11.equal(istrb_it12);
+  VERIFY( istrb_it11.equal(istrb_it12) );
   cistreambuf_iter istrb_it13(istrs01);
   cistreambuf_iter istrb_it14(istrs01.rdbuf());
-  test &= istrb_it14.equal(istrb_it13);
+  VERIFY( istrb_it14.equal(istrb_it13) );
 
   cistreambuf_iter istrb_it15(istrs01);
   cistreambuf_iter istrb_it16;
-  test &= !(istrb_it15.equal(istrb_it16));
+  VERIFY( !(istrb_it15.equal(istrb_it16)) );
   cistreambuf_iter istrb_it17(istrs01);
   cistreambuf_iter istrb_it18;
-  test &= !(istrb_it18.equal(istrb_it17));
+  VERIFY( !(istrb_it18.equal(istrb_it17)) );
 
   // bool operator==(const istreambuf_iterator&a, const istreambuf_iterator& b)
   // bool operator!=(const istreambuf_iterator&a, const istreambuf_iterator& b)
   cistreambuf_iter istrb_it19(0);
   cistreambuf_iter istrb_it20;
-  test &= istrb_it19 == istrb_it20;
+  VERIFY( istrb_it19 == istrb_it20 );
 
   cistreambuf_iter istrb_it21(istrs01);
   cistreambuf_iter istrb_it22(istrs01.rdbuf());
-  test &= istrb_it22 == istrb_it21;
+  VERIFY( istrb_it22 == istrb_it21 );
 
   cistreambuf_iter istrb_it23(istrs01);
   cistreambuf_iter istrb_it24;
-  test &= istrb_it23 != istrb_it24;
+  VERIFY( istrb_it23 != istrb_it24 );
 
   cistreambuf_iter istrb_it25(0);
   cistreambuf_iter istrb_it26(istrs01.rdbuf());
-  test &= istrb_it25 != istrb_it26;
+  VERIFY( istrb_it25 != istrb_it26 );
 
   // charT operator*() const
   // istreambuf_iterator& operator++();
@@ -99,7 +97,7 @@ bool test01(void)
   for (int i = 0; i < sizeof(slit01) - 2; ++i)
     {
       c = *istrb_it27++;
-      test &= c == slit01[i];
+      VERIFY( c == slit01[i] );
     }
 
   std::istringstream istrs02(str01);
@@ -107,7 +105,7 @@ bool test01(void)
   for (int i = 0; i < sizeof(slit01) - 3;)
     {
       c = *++istrb_it28;
-      test &= c == slit01[++i];
+      VERIFY( c == slit01[++i] );
     }
 
 #ifdef DEBUG_ASSERT
index fe60704fd7787eaccec9c83d4a91e1e6cd6ef806..4930f149a0b8b8ddabc150d59b5ac8cd5b1b70e0 100644 (file)
 
 #include <string>
 #include <vector>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
-int string_stuff()
+int 
+string_stuff()
 {
    int failures(0);
 
@@ -250,7 +249,8 @@ int string_stuff()
    return failures;
 }
 
-int vector_stuff()
+int 
+vector_stuff()
 {
    int failures(0);
 
@@ -487,7 +487,8 @@ int vector_stuff()
    return failures;
 }
 
-int reverse_stuff()
+int 
+reverse_stuff()
 {
    int failures(0);
 
@@ -512,7 +513,8 @@ int reverse_stuff()
 
 // the following should be compiler errors
 // flag runtime errors in case they slip through the compiler
-int wrong_stuff()
+int 
+wrong_stuff()
 {
    int failures(0);
 
@@ -575,7 +577,8 @@ int wrong_stuff()
    return failures;
 }
 
-int main(int argc, char **argv)
+int
+main(int argc, char **argv)
 {
    int failures(0);
 
@@ -594,6 +597,3 @@ int main(int argc, char **argv)
    return failures ? 1 : 0;
 }
 
-
-
-
index bd8813593d3fb539f13774023b556e15a8279f4e..c6e12dcc38a1fd34cff4a8585a016080ebea1125 100644 (file)
@@ -17,9 +17,7 @@
 // USA.
 
 #include <algorithm>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 // http://sourceware.cygnus.com/ml/libstdc++/2000-06/msg00316.html
 struct foo { };
index a5219bf80b1191e5c3b7a155496761257a7d6ff1..04cd6302a349b75ca81269108f0d3bcd3ca0e256 100644 (file)
 // USA.
 
 #include <algorithm>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 void test01()
 {
   bool test = true;
   const int& x = std::max(1, 2);
   const int& y = std::max(3, 4);
-  test &= x == 2;
-  test &= y == 4;
+  VERIFY( x == 2 );
+  VERIFY( y == 4 );
 
   const int& z = std::min(1, 2);
   const int& w = std::min(3, 4);
-  test &= z == 1;
-  test &= w == 3;
+  VERIFY( z == 1 );
+  VERIFY( w == 3 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 0ccdd3f718605e3cc55ae3d4a5eb09e32cc78712..423adf122ba5eb2954d4136b0991a95fe33adac8 100644 (file)
 // USA.
 
 #include <cmath>
-#include <cassert>
+#include <debug_assert.h>
 
 // test compilation.
-void test01()
+int
+test01()
 {
-    float a = 1.f;
-    float b;
-    std::modf(a, &b);
+  float a = 1.f;
+  float b;
+  std::modf(a, &b);
+  return 0;
 }
 
 // need more extravagant checks than this, of course, but this used to core...
-void test02()
+int
+test02()
 {
   sin(static_cast<float>(0));
+  return 0;
 }
 
 // as did this.
-void test03()
+int
+test03()
 {
   double powtest = pow(2., 0);
+  return 0;
 }
 
 // this used to abort.
-void test04()
+int
+test04()
 {
+  bool test = true;
   float x[2] = {1, 2};
   float y = 3.4;
   std::modf(y, &x[0]);
-  assert (x[1] == 2);
+  VERIFY(x[1] == 2);
+  return 0;
 }
 
-int main()
+int 
+main()
 {
   test01();
   test02();
@@ -59,3 +69,4 @@ int main()
   test04();
   return 0;
 }
+
index 7aff69a1a4e694a0750b705fb7b3f4986ab82384..795759102597a44d9bc9c1c341cdcb2dbc83c50b 100644 (file)
@@ -24,9 +24,7 @@
 #include <string>
 #include <sstream>
 #include <complex>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 #include <cmath>
 
 template<typename R>
@@ -37,25 +35,28 @@ inline bool flteq(R x, R y)
 }
 
 template<typename R>
-void test_good(std::string str, R x, R y)
+int
+test_good(std::string str, R x, R y)
 {
   bool test = true;
   std::complex<R> z;
   char ch;
   std::istringstream iss(str);
   iss >> z >> ch;
-  test &= iss.good();
-  test &= flteq(z.real(), x);
-  test &= flteq(z.imag(), y);
-  test &= ch == '#';
+  VERIFY( iss.good() );
+  VERIFY( flteq(z.real(), x) );
+  VERIFY( flteq(z.imag(), y) );
+  VERIFY( ch == '#' );
   
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
+  return 0;
 }
 
 template<typename R>
-void test_fail(std::string str)
+int
+test_fail(std::string str)
 {
   std::complex<R> z;
   std::istringstream iss(str);
@@ -63,10 +64,12 @@ void test_fail(std::string str)
 #ifdef DEBUG_ASSERT
   assert(iss.fail() && !iss.bad());
 #endif
+  return 0;
 }
 
 template<typename R>
-void testall()
+int
+testall()
 {
   test_good<R>("(-1.1,3.7)#", -1.1, 3.7);
   test_good<R>("(  .7e6  ,  \n-3.1)#", .7e6, -3.1);
@@ -82,9 +85,11 @@ void testall()
   test_fail<R>("|1,1)");
   test_fail<R>("(1|1)");
   test_fail<R>("(1,1|");
+  return 0;
 }
 
-int main()
+int
+main()
 {
   testall<float>();
   testall<double>();
@@ -92,5 +97,3 @@ int main()
   return 0;
 }
 
-
-
index 3e0450e388ffd5569ad17d4346b15a86cc54d058..bba2fbd60344b49fe6d843f27673bf76e835f8fb 100644 (file)
@@ -23,9 +23,7 @@
 // simulated a bit more readily.
 
 #include <fstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 const char carray_01[] = "santa cruz or sandiego?";
 const char carray_02[] = "memphis, new orleans, and savanah";
@@ -72,9 +70,9 @@ bool test02() {
   bool                         test = true;
 
   // bool is_open()
-  test &= !fb_01.is_open();
-  test &= !fb_02.is_open();
-  test &= !fb_03.is_open();
+  VERIFY( !fb_01.is_open() );
+  VERIFY( !fb_02.is_open() );
+  VERIFY( !fb_03.is_open() );
 
   // filebuf_type* open(const char* __s, ios_base::openmode __mode)
   fb_01.open(name_01, std::ios_base::in | std::ios_base::ate);
@@ -83,17 +81,17 @@ bool test02() {
   // Should keep the old file attached, and disregard attempt to overthrow.
   fb_02.open(name_03, std::ios_base::in | std::ios_base::out);
   fb_03.open(name_03, std::ios_base::out | std::ios_base::trunc);
-  test &= fb_01.is_open();
-  test &= fb_02.is_open();
-  test &= fb_03.is_open();
+  VERIFY( fb_01.is_open() );
+  VERIFY( fb_02.is_open() );
+  VERIFY( fb_03.is_open() );
 
   // filebuf_type* close()
   fb_01.close();
   fb_02.close();
   fb_03.close();
-  test &= !fb_01.is_open();
-  test &= !fb_02.is_open();
-  test &= !fb_03.is_open();
+  VERIFY( !fb_01.is_open() );
+  VERIFY( !fb_02.is_open() );
+  VERIFY( !fb_03.is_open() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -131,35 +129,35 @@ bool test03() {
   // else return showmanyc.
   strmof_1 = fb_01.in_avail();
   strmof_2 = fb_02.in_avail();
-  test &= strmof_1 == -1;
-  test &= strmof_1 == strmof_2; //fail because not open
+  VERIFY( strmof_1 == -1 );
+  VERIFY( strmof_1 == strmof_2 ); //fail because not open
   strmof_1 = fb_03.in_avail();
-  test &= strmof_1 == strmof_2;
+  VERIFY( strmof_1 == strmof_2 );
   fb_01.open(name_01, std::ios_base::in);
   fb_02.open(name_02, std::ios_base::out | std::ios_base::trunc);
   fb_03.open(name_03, std::ios_base::out | std::ios_base::in | std::ios_base::trunc); 
   strmof_1 = fb_01.in_avail();
   strmof_2 = fb_02.in_avail();
-  test &= strmof_1 != strmof_2;
-  test &= strmof_1 >= 0;
-  test &= strmof_2 == -1;  // empty file
+  VERIFY( strmof_1 != strmof_2 );
+  VERIFY( strmof_1 >= 0 );
+  VERIFY( strmof_2 == -1 );  // empty file
   strmof_1 = fb_03.in_avail(); 
-  test &= strmof_1  == -1; // empty file
+  VERIFY( strmof_1  == -1 ); // empty file
 
   // int_type sbumpc()
   // if read_cur not avail returns uflow(), else return *read_cur & increment
   int_type c1 = fb_01.sbumpc();
   int_type c2 = fb_02.sbumpc();
-  test &= c1 != c2;
-  test &= c1 == '/';
-  test &= c2 == -1;
+  VERIFY( c1 != c2 );
+  VERIFY( c1 == '/' );
+  VERIFY( c2 == -1 );
   int_type c3 = fb_01.sbumpc();
   int_type c4 = fb_02.sbumpc();
-  test &= c3 != c4;
-  test &= c1 == c3; // fluke, both happen to be '/'
-  test &= c2 == c4;
+  VERIFY( c3 != c4 );
+  VERIFY( c1 == c3 ); // fluke, both happen to be '/'
+  VERIFY( c2 == c4 );
   int_type c5 = fb_03.sbumpc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
   // XXX should do some kind of test to make sure that internal
   // buffers point ot the same thing, to check consistancy.
 
@@ -167,29 +165,29 @@ bool test03() {
   // if read_cur not avail, return uflow(), else return *read_cur  
   int_type c6 = fb_01.sgetc();
   int_type c7 = fb_02.sgetc();
-  test &= c6 != c3;
-  test &= c7 == c4; // both -1
+  VERIFY( c6 != c3 );
+  VERIFY( c7 == c4 ); // both -1
   int_type c8 = fb_01.sgetc();
   int_type c9 = fb_02.sgetc();
-  test &= c6 == c8;
-  test &= c7 == c9;
+  VERIFY( c6 == c8 );
+  VERIFY( c7 == c9 );
   c5 = fb_03.sgetc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
 
   // int_type snextc()
   // calls sbumpc and if sbumpc != eof, return sgetc
   c6 = fb_01.snextc();
   c7 = fb_02.snextc();
-  test &= c6 != c8;
-  test &= c7 == c9; // -1
-  test &= c6 == '9';
+  VERIFY( c6 != c8 );
+  VERIFY( c7 == c9 ); // -1
+  VERIFY( c6 == '9' );
   c6 = fb_01.snextc();
   c7 = fb_02.snextc();
-  test &= c6 != c8;
-  test &= c7 == c9; // -1
-  test &= c6 == '9';
+  VERIFY( c6 != c8 );
+  VERIFY( c7 == c9 ); // -1
+  VERIFY( c6 == '9' );
   c5 = fb_03.snextc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
 
   // streamsize sgetn(char_type *s, streamsize n)
   // streamsize xsgetn(char_type *s, streamsize n)
@@ -202,30 +200,30 @@ bool test03() {
   strmsz_1 = fb_01.sgetn(carray1, 10);
   char carray2[buffer_size] = "";
   strmsz_2 = fb_02.sgetn(carray2, 10);
-  test &= strmsz_1 != strmsz_2;
-  test &= strmsz_1 == 10;
-  test &= strmsz_2 == 0;
+  VERIFY( strmsz_1 != strmsz_2 );
+  VERIFY( strmsz_1 == 10 );
+  VERIFY( strmsz_2 == 0 );
   c1 = fb_01.sgetc();
   c2 = fb_02.sgetc();
-  test &= c1 == '\n';  
-  test &= c7 == c2; // n != i
+  VERIFY( c1 == '\n' );  
+  VERIFY( c7 == c2 ); // n != i
   strmsz_1 = fb_03.sgetn(carray1, 10);
-  test &= !strmsz_1; //zero
+  VERIFY( !strmsz_1 ); //zero
   strmsz_1 = fb_01.in_avail();
   strmsz_2 = fb_01.sgetn(carray2, strmsz_1 + 5);
-  test &= strmsz_1 == strmsz_2 - 5
+  VERIFY( strmsz_1 == strmsz_2 - 5 )
   c4 = fb_01.sgetc(); // buffer should have underflowed from above.
-  test &= c4 == 'i';
+  VERIFY( c4 == 'i' );
   strmsz_1 = fb_01.in_avail();
-  test &= strmsz_1 > 0;
+  VERIFY( strmsz_1 > 0 );
   strmsz_2 = fb_01.sgetn(carray2, strmsz_1 + 5);
-  test &= strmsz_1 == strmsz_2; //at the end of the actual file 
+  VERIFY( strmsz_1 == strmsz_2 ); //at the end of the actual file 
   strmsz_1 = fb_02.in_avail();
   strmsz_2 = fb_02.sgetn(carray2, strmsz_1 + 5);
-  test &= strmsz_1 == -1;
-  test &= strmsz_2 == 0;
+  VERIFY( strmsz_1 == -1 );
+  VERIFY( strmsz_2 == 0 );
   c4 = fb_02.sgetc(); // should be EOF
-  test &= c4 == traits_type::eof();
+  VERIFY( c4 == traits_type::eof() );
 
   // PUT
   // int_type sputc(char_type c)
@@ -235,12 +233,12 @@ bool test03() {
   // strmsz_1 = fb_03.in_avail();  // XXX valid for in|out??
   c1 = fb_02.sputc('a'); 
   c2 = fb_03.sputc('b'); 
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   c1 = fb_02.sputc('c'); 
   c2 = fb_03.sputc('d'); 
-  test &= c1 != c2;
+  VERIFY( c1 != c2 );
   // strmsz_2 = fb_03.in_avail();
-  // test &= strmsz_1 != strmsz_2;
+  // VERIFY( strmsz_1 != strmsz_2 );
   for (int i = 50; i <= 90; ++i) 
     c2 = fb_02.sputc(char(i));
   // 27filebuf-2.txt == ac23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX
@@ -249,30 +247,30 @@ bool test03() {
   for (int i = 50; i <= 90; ++i) 
     c2 = fb_03.sputc(char(i));
   strmsz_2 = fb_03.in_avail();
-  // test &= strmsz_1 != strmsz_2;
-  // test &= strmsz_1 > 0;
-  // test &= strmsz_2 > 0;
+  // VERIFY( strmsz_1 != strmsz_2 );
+  // VERIFY( strmsz_1 > 0 );
+  // VERIFY( strmsz_2 > 0 );
   // 27filebuf-2.txt == bd23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX
   // fb_02._M_out_cur = '2'
   c3 = fb_01.sputc('a'); // should be EOF because this is read-only
-  test &= c3 == traits_type::eof();
+  VERIFY( c3 == traits_type::eof() );
 
   // streamsize sputn(const char_typs* s, streamsize n)
   // write up to n chars to out_cur from s, returning number assigned
   // NB *sputn will happily put '\0' into your stream if you give it a chance*
   strmsz_1 = fb_03.sputn("racadabras", 10);//"abracadabras or what?"
-  test &= strmsz_1 == 10;
+  VERIFY( strmsz_1 == 10 );
   strmsz_2 = fb_03.sputn(", i wanna reach out and", 10);
-  test &= strmsz_2 == 10;
-  test &= strmsz_1 == strmsz_2
+  VERIFY( strmsz_2 == 10 );
+  VERIFY( strmsz_1 == strmsz_2 )
   // fb_03._M_out_beg = "YZracadabras, i wanna FGHIJKLMNOPQRSTUVW"
   // fb_03._M_out_cur = "FGHIJKLMNOPQRSTUVW"
   strmsz_1 = fb_02.sputn("racadabras", 10);
-  test &= strmsz_1 == 10;  
+  VERIFY( strmsz_1 == 10 );  
   // fb_02._M_out_beg = "YZracadabras<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
   // fb_02._M_out_cur = "<=>?@ABCDEFGHIJKLMNOPQRSTUVW"
   strmsz_1 = fb_01.sputn("racadabra", 10);
-  test &= strmsz_1 == 0;  
+  VERIFY( strmsz_1 == 0 );  
 
   // PUTBACK
   // int_type pbfail(int_type c)
@@ -293,9 +291,9 @@ bool test03() {
   c2 = fb_03.sputbackc('z');
   strmsz_2 = fb_03.in_avail();
   c3 = fb_03.sgetc();
-  test &= c3 == c2;
-  test &= c1 != c3;
-  test &= 1 == strmsz_2;
+  VERIFY( c3 == c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( 1 == strmsz_2 );
   //test for _in_cur == _in_beg
   // fb_03._M_out_beg = "bd23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZracada" etc
   fb_03.pubseekoff(10, std::ios_base::beg, 
@@ -307,11 +305,11 @@ bool test03() {
   c2 = fb_03.sputbackc('z');  
   strmsz_2 = fb_03.in_avail(); 
   c3 = fb_03.sgetc();  
-  test &= c1 != c2;
-  test &= c3 == c2;
-  test &= c1 != c3;
-  test &= c2 == 'z';
-  test &= strmsz_1 == strmsz_2;
+  VERIFY( c1 != c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( c2 == 'z' );
+  VERIFY( strmsz_1 == strmsz_2 );
   // test for replacing char with identical one
   fb_03.snextc();
   fb_03.sputc('u');
@@ -321,13 +319,13 @@ bool test03() {
   c2 = fb_03.sputbackc('a');
   strmsz_2 = fb_03.in_avail();
   c3 = fb_03.sgetc();
-  test &= c3 == c2;
-  test &= strmsz_1 + 1 == strmsz_2;
+  VERIFY( c3 == c2 );
+  VERIFY( strmsz_1 + 1 == strmsz_2 );
   //test for ios_base::out
   c1 = fb_02.sgetc(); // undefined
   c2 = fb_02.sputbackc('a');
-  test &= c1 == c2;
-  test &= c1 == -1;
+  VERIFY( c1 == c2 );
+  VERIFY( c1 == -1 );
 
   // int_type sungetc()
   // if in_cur not avail, return pbackfail(), else decrement and
@@ -337,8 +335,8 @@ bool test03() {
   strmsz_1 = fb_03.in_avail();
   c2 = fb_03.sungetc(); // delete the 'a'
   strmsz_2 = fb_03.in_avail();
-  test &= c2 == 'v'; //  test &= c2 != traits_type::eof();
-  test &= strmsz_1 + 1 == strmsz_2;
+  VERIFY( c2 == 'v' ); //  VERIFY( c2 != traits_type::eof() );
+  VERIFY( strmsz_1 + 1 == strmsz_2 );
   //test for _in_cur == _in_beg
   for (int i = 50; i < 32 + 29; ++i)
     fb_02.sputc(char(i));
@@ -348,11 +346,11 @@ bool test03() {
   c2 = fb_02.sungetc();
   strmsz_2 = fb_02.in_avail();
   c3 = fb_02.sgetc();
-  test &= c1 == c2;
-  test &= c3 == c2;
-  test &= c1 == c3;
-  test &= c2 == traits_type::eof();
-  test &= strmsz_1 == strmsz_2;
+  VERIFY( c1 == c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( c1 == c3 );
+  VERIFY( c2 == traits_type::eof() );
+  VERIFY( strmsz_1 == strmsz_2 );
   //test for _in_cur == _in_end
   fb_03.pubseekoff(0, std::ios_base::end);
   strmsz_1 = fb_03.in_avail(); // -1 cuz at the end
@@ -360,10 +358,10 @@ bool test03() {
   c2 = fb_03.sungetc();
   strmsz_2 = fb_03.in_avail(); // 1
   c3 = fb_03.sgetc();
-  test &= c1 != c2;
-  // test &= c2 == c3 || c2 == traits_type::not_eof(int(c3));
-  test &= strmsz_2 != strmsz_1;
-  test &= strmsz_2 == 1;
+  VERIFY( c1 != c2 );
+  // VERIFY( c2 == c3 || c2 == traits_type::not_eof(int(c3)) );
+  VERIFY( strmsz_2 != strmsz_1 );
+  VERIFY( strmsz_2 == 1 );
   //test for ios_base::out
 
   // BUFFER MANAGEMENT & POSITIONING
@@ -373,21 +371,21 @@ bool test03() {
   strmsz_1 = fb_01.in_avail(); 
   fb_01.pubsync();
   strmsz_2 = fb_01.in_avail();
-  test &= strmsz_2 == strmsz_1;
+  VERIFY( strmsz_2 == strmsz_1 );
   strmsz_1 = fb_02.in_avail(); 
   fb_02.pubsync();             
   // 27filebuf-2.txt == 53 bytes after this.
   strmsz_2 = fb_02.in_avail();
-  test &= strmsz_2 == -1;
-  test &= strmsz_2 == strmsz_1;
+  VERIFY( strmsz_2 == -1 );
+  VERIFY( strmsz_2 == strmsz_1 );
   strmsz_1 = fb_03.in_avail(); 
   fb_03.pubsync();
   // 27filebuf-3.txt 
   // bd23456789mzuva?@ABCDEFGHIJKLMNOPQRSTUVWXYZracadabras, i wannaz 
   // 63 bytes.
   strmsz_2 = fb_03.in_avail();
-  test &= strmsz_1 == 1;
-  test &= strmsz_2 == 1;
+  VERIFY( strmsz_1 == 1 );
+  VERIFY( strmsz_2 == 1 );
 
   // setbuf
   // pubsetbuf(char_type* s, streamsize n)
@@ -412,42 +410,42 @@ bool test03() {
   pt_1 = fb_03.pubseekoff(2, std::ios_base::beg);
   strmsz_2 = fb_03.in_avail(); 
   off_1 = pt_1;
-  test &= off_1 > 0;
+  VERIFY( off_1 > 0 );
   c1 = fb_03.snextc(); //current in pointer +1
-  test &= c1 == '3';
+  VERIFY( c1 == '3' );
   c2 = fb_03.sputc('\n');  //current in pointer +1
   c3 = fb_03.sgetc();
-  test &= c2 != c3
-  test &= c3 == '4';
+  VERIFY( c2 != c3 )
+  VERIFY( c3 == '4' );
   fb_03.pubsync(); 
   c1 = fb_03.sgetc();
-  test &= c1 == c3;
+  VERIFY( c1 == c3 );
   //cur
   // 27filebuf-3.txt = bd2\n456789:;<=>?...
   pt_2 = fb_03.pubseekoff(2, std::ios_base::cur);
   off_2 = pt_2;
-  test &= (off_2 == (off_1 + 2 + 1 + 1));
+  VERIFY( (off_2 == (off_1 + 2 + 1 + 1)) );
   c1 = fb_03.snextc(); //current in pointer +1
-  test &= c1 == '7';
+  VERIFY( c1 == '7' );
   c2 = fb_03.sputc('x');  //test current out pointer
   c3 = fb_03.sputc('\n');
   c1 = fb_03.sgetc();
   fb_03.pubsync(); 
   c3 = fb_03.sgetc();
-  test &= c1 == c3;
+  VERIFY( c1 == c3 );
   //end
   // 27filebuf-3.txt = "bd2\n456x\n9" 
   pt_2 = fb_03.pubseekoff(0, std::ios_base::end, 
                          std::ios_base::in|std::ios_base::out);
   off_1 = pt_2;
-  test &= off_1 > off_2; //weak, but don't know exactly where it ends
+  VERIFY( off_1 > off_2 ); //weak, but don't know exactly where it ends
   c3 = fb_03.sputc('\n');
   strmsz_1 = fb_03.sputn("because because because. . .", 28);  
-  test &= strmsz_1 == 28;
+  VERIFY( strmsz_1 == 28 );
   c1 = fb_03.sungetc();
   fb_03.pubsync(); 
   c3 = fb_03.sgetc();
-  test &= c1 == c3;
+  VERIFY( c1 == c3 );
   // IN
   // OUT
 
@@ -459,20 +457,20 @@ bool test03() {
   //beg
   pt_1 = fb_03.pubseekoff(78, std::ios_base::beg);
   off_1 = pt_1;
-  test &= off_1 > 0;
+  VERIFY( off_1 > 0 );
   c1 = fb_03.snextc();                 //current in pointer +1
-  test &= c1 == ' ';
+  VERIFY( c1 == ' ' );
   c2 = fb_03.sputc('\n');      //test current out pointer
   c3 = fb_03.sgetc();
   fb_03.pubsync();             //resets pointers
   pt_2 = fb_03.pubseekpos(pt_1);
   off_2 = pt_2;
-  test &= off_1 == off_2;
+  VERIFY( off_1 == off_2 );
   c3 = fb_03.snextc();                 //current in pointer +1
-  test &= c2 == c3;
+  VERIFY( c2 == c3 );
   pt_1 = fb_03.pubseekoff(0, std::ios_base::end);
   off_1 = pt_1;
-  test &= off_1 > off_2;
+  VERIFY( off_1 > off_2 );
   fb_03.sputn("\nof the wonderful things he does!!\nok", 37);
   fb_03.pubsync();
 
@@ -494,9 +492,9 @@ bool test03() {
   fb_01.close();
   fb_02.close();
   fb_03.close();
-  test &= !fb_01.is_open();
-  test &= !fb_02.is_open();
-  test &= !fb_03.is_open();
+  VERIFY( !fb_01.is_open() );
+  VERIFY( !fb_02.is_open() );
+  VERIFY( !fb_03.is_open() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -514,8 +512,8 @@ bool test04()
   ifstream ifs(name_02);
   char buffer[] = "xxxxxxxxxx";
   int_type len1 = ifs.rdbuf()->sgetn(buffer, sizeof(buffer));
-  test &= len1 == sizeof(buffer);
-  test &= buffer[0] == 'a';
+  VERIFY( len1 == sizeof(buffer) );
+  VERIFY( buffer[0] == 'a' );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 5933bfd8607a31d25a5a02862f4d52f66069df92..beaf6da6600b5c3819a8a42788ce7827ae304305 100644 (file)
@@ -25,7 +25,7 @@
 #include <cassert>
 #include <unistd.h>
 #include <fcntl.h>
-
+#include <debug_assert.h>
 
 // verify that std::filebuf doesn't close files that it didn't open
 // when using the following std::filebuf ctor:
@@ -48,29 +48,29 @@ test_01()
 
   // read (ext)
   int fd = open(name_01, O_RDONLY);
-  test &= fd >= 0;
+  VERIFY( fd >= 0 );
 
   {
     std::filebuf fb(fd, "double_read", std::ios_base::in);
   }
   
   close_num = close(fd);
-  test &= close_num == 0;
+  VERIFY( close_num == 0 );
 
 
   // read (standard)
   FILE* f = fopen(name_01, "r");
-  test &= f != NULL;
+  VERIFY( f != NULL );
 
   {
     std::ifstream ifstream1(name_01);
-    test &= ifstream1.is_open();
+    VERIFY( ifstream1.is_open() );
     std::ios_base::iostate st01 = ifstream1.rdstate();
-    test &= st01 == std::ios_base::goodbit;
+    VERIFY( st01 == std::ios_base::goodbit );
   }
   
   close_num = fclose(f);
-  test &= close_num == 0;
+  VERIFY( close_num == 0 );
 
   
 #ifdef DEBUG_ASSERT
index 2e8c2759611b3210e86ce9334307a03d5d1760e5..54c152476ea58c591d37228e6ac7818007386123 100644 (file)
@@ -30,9 +30,7 @@
 // 27.4.3 template class fpos
 
 #include <ios>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 void test01()
 {
@@ -61,7 +59,7 @@ void test01()
 // operators, increment and deincrement operators need to be in place.
   pos01.state(state02);
   state01 = pos01.state();
-  test &= state01 == state02;
+  VERIFY( state01 == state02 );
 #endif
   
 #ifdef DEBUG_ASSERT
@@ -87,43 +85,43 @@ void test02()
   // p(i), p = i
   std::streampos pos01(i02);
   std::streampos pos02 = i02;
-  test &= pos01 == pos02;
+  VERIFY( pos01 == pos02 );
   
   // p(o), p = o 
   // NB: P(o) is only required.
   std::streampos pos03(off02);
   std::streampos pos04 = off02;
-  test &= pos03 == pos04;
+  VERIFY( pos03 == pos04 );
   
   // O(p)
   std::streamoff off03(pos04);
-  test &= off03 == off02;
+  VERIFY( off03 == off02 );
 
   // p == q, p!= q
-  test &= pos01 == pos02;
-  test &= pos02 != pos03;
+  VERIFY( pos01 == pos02 );
+  VERIFY( pos02 != pos03 );
 
   // q = p + o
   // p += o
   pos03 = pos03 + off02;
   pos04 += off02;
-  test &= pos03 == pos04;
+  VERIFY( pos03 == pos04 );
 
   // q = p - o
   // p -= o
   pos03 = pos03 - off02;
   pos04 -= off02;
-  test &= pos03 == pos04;
+  VERIFY( pos03 == pos04 );
 
   // o = p - q
-  test &= 0 == pos03 - pos04;
+  VERIFY( 0 == pos03 - pos04 );
 
   // streamsize -> streamoff
   // streamoff -> streamsize 
   off01 = off02;
   std::streamsize size01(off02);
   std::streamoff off04(size01);
-  test &= off01 == off04;
+  VERIFY( off01 == off04 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -152,14 +150,14 @@ void test03()
   // equality/inequality with const args
   const std::streampos pos02(54);
   std::streampos pos03(44);
-  test &= !(pos03 == pos02);
-  test &= pos03 != pos02;
-  test &= !(pos02 == pos03);
-  test &= pos02 != pos03;
+  VERIFY( !(pos03 == pos02) );
+  VERIFY( pos03 != pos02 );
+  VERIFY( !(pos02 == pos03) );
+  VERIFY( pos02 != pos03 );
 
   // default values
   std::streampos pos04;
-  test &= (std::streamoff)pos04 == 0
+  VERIFY( (std::streamoff)pos04 == 0 )
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 79e683a9e5ccd0b27317700222c6cd308041bd8c..b9d788c1ebdfa77c1a89bc73d3d2789ff8e461df 100644 (file)
@@ -20,9 +20,7 @@
 
 #include <istream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 const char name_01[] = "testsuite/ifstream_members-1.tst";
 const char name_02[] = "testsuite/ifstream_members-1.txt";
@@ -35,15 +33,15 @@ bool test00()
   ifs1.close();
   
   // false as expected:
-  test &= !ifs1.is_open();
+  VERIFY( !ifs1.is_open() );
    // this is now true:
-  test &= !(ifs1);
+  VERIFY( !(ifs1) );
   
   ifs1.open(name_01);
-  test &= ifs1.is_open();
+  VERIFY( ifs1.is_open() );
   // fail bit still true
-  test &= !(ifs1);
-  test &= ifs1.rdstate() == std::ios_base::failbit;
+  VERIFY( !(ifs1) );
+  VERIFY( ifs1.rdstate() == std::ios_base::failbit );
 
   ifs1.close();
 
@@ -63,7 +61,7 @@ bool test01()
   for(int i = 0; ++i < more_than_max_open_files;)
     {
       std::ifstream ifs(name_01);
-      test &= static_cast<bool>(ifs);
+      VERIFY( static_cast<bool>(ifs) );
     }
 
 #ifdef DEBUG_ASSERT
index 5f7aeabb0547cc57f2abd1edaf3b9bd4ee811fbe..298574982dbaa35caec3344d477160521cb66675 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <string>
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 const std::string str01("the nubians of plutonia");
 std::string str02;
@@ -52,7 +50,7 @@ bool test01()
   ios01.register_callback(callb02, 1);
   ios01.register_callback(callb01, 1);
   ios01.imbue(locco);
-  test &= str01 == str02;
+  VERIFY( str01 == str02 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index f01372c07c36240d8da6b9a9236da0e94ed4cf11..e3cb4bbbc7a91405ac3ae2f4d38c394beab5af54 100644 (file)
@@ -24,9 +24,7 @@
 #include <sstream>
 #include <iostream>
 
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01() 
 {
@@ -36,15 +34,15 @@ bool test01()
   std::ios             ios01(&strbuf01);
 
   // 1: basic invocation
-  test &= ios01.sync_with_stdio();
-  test &= ios01.sync_with_stdio(false); //returns previous state
+  VERIFY( ios01.sync_with_stdio() );
+  VERIFY( ios01.sync_with_stdio(false) ); //returns previous state
 
   // 2: need to test interleaving of C and C++ io on a file object.
-  test &= std::cout.good();
-  test &= !std::cout.sync_with_stdio(0);
-  test &= std::cout.good();
-  test &= !std::cout.sync_with_stdio(0);
-  test &= std::cout.good();
+  VERIFY( std::cout.good() );
+  VERIFY( !std::cout.sync_with_stdio(0) );
+  VERIFY( std::cout.good() );
+  VERIFY( !std::cout.sync_with_stdio(0) );
+  VERIFY( std::cout.good() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index eeaa6c910cc5633826359d8db6e9fc6c43723202..acebb87fe9326d06188e8d15114c3918dd596637 100644 (file)
@@ -31,9 +31,7 @@
 
 #include <ios>
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 void test01()
 {
@@ -60,27 +58,27 @@ void test01()
   // void init(sreambuf* sb)
   // NB: This is protected so need to go through fstream/stringstream
   // Can double-check the accuracy of the above initializations though.
-  test &= ios_00.rdbuf() == 0;
-  test &= ios_00.tie() == 0;
-  test &= ios_00.rdstate() == std::ios_base::badbit;
-  test &= ios_00.exceptions() == std::ios_base::goodbit;
+  VERIFY( ios_00.rdbuf() == 0 );
+  VERIFY( ios_00.tie() == 0 );
+  VERIFY( ios_00.rdstate() == std::ios_base::badbit );
+  VERIFY( ios_00.exceptions() == std::ios_base::goodbit );
   flag02 = ios_00.flags();
-  test &= flag02 == flag01;
-  test &= ios_00.width() == 0;  
-  test &= ios_00.precision() == 6;  
-  test &= ios_00.fill() == ios_00.widen(' ');
-  test &= ios_00.getloc() == glocale;    
+  VERIFY( flag02 == flag01 );
+  VERIFY( ios_00.width() == 0 );  
+  VERIFY( ios_00.precision() == 6 );  
+  VERIFY( ios_00.fill() == ios_00.widen(' ') );
+  VERIFY( ios_00.getloc() == glocale );    
 
-  test &= ios_01.rdbuf() == &strb_01;
-  test &= ios_01.tie() == 0;
-  test &= ios_01.rdstate() == std::ios_base::goodbit;
-  test &= ios_01.exceptions() == std::ios_base::goodbit;
+  VERIFY( ios_01.rdbuf() == &strb_01 );
+  VERIFY( ios_01.tie() == 0 );
+  VERIFY( ios_01.rdstate() == std::ios_base::goodbit );
+  VERIFY( ios_01.exceptions() == std::ios_base::goodbit );
   flag02 = ios_01.flags();
-  test &= flag02 == flag01;
-  test &= ios_01.width() == 0;  
-  test &= ios_01.precision() == 6;  
-  test &= ios_01.fill() == ios_01.widen(' ');
-  test &= ios_01.getloc() == glocale;    
+  VERIFY( flag02 == flag01 );
+  VERIFY( ios_01.width() == 0 );  
+  VERIFY( ios_01.precision() == 6 );  
+  VERIFY( ios_01.fill() == ios_01.widen(' ') );
+  VERIFY( ios_01.getloc() == glocale );    
 
 #ifdef DEBUG_ASSERT
   assert(test);
index ebe1472cc35c7533de07ce6a84352a3265022d53..717bebb322cac27419b5fb2027ed9c8ca13dc05e 100644 (file)
@@ -31,9 +31,7 @@
 #include <sstream>
 #include <locale>
 #include <iomanip>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
                        
 struct MyNP : std::numpunct<char>
 {
@@ -44,7 +42,8 @@ struct MyNP : std::numpunct<char>
 std::string MyNP::do_grouping() const { static std::string s("\3"); return s; }
 char   MyNP::do_thousands_sep() const { return ' '; }
 
-void test01()
+int
+test01()
 {
   std::cout.imbue(std::locale(std::locale(), new MyNP));
   std::cout << std::oct << std::showbase;
@@ -71,9 +70,11 @@ void test01()
 #ifdef DEBUG_ASSERT
   assert (std::cout.good());
 #endif
+  return 0;
 }
 
-void test02()
+int
+test02()
 {
   bool                 test = true;
   const std::string    str_blank;
@@ -82,23 +83,25 @@ void test02()
   std::ostream         o(&strbuf);
 
   o <<  std::setw(6) <<  std::right << "san";
-  test &= strbuf.str() == "   san"
+  VERIFY( strbuf.str() == "   san" )
   strbuf.str(str_blank);
 
   o <<  std::setw(6) <<  std::internal << "fran";
-  test &= strbuf.str() == "  fran"
+  VERIFY( strbuf.str() == "  fran" )
   strbuf.str(str_blank);
 
   o << std::setw(6) <<  std::left << "cisco";
-  test &= strbuf.str() == "cisco "
+  VERIFY( strbuf.str() == "cisco " )
   strbuf.str(str_blank);
 
 #ifdef DEBUG_ASSERT
   assert (test);
 #endif
+  return 0;
 }
 
-int main() {
+int 
+main() {
   test01();
   return 0;
 }
index d0030ff9906d8595bfa9a0149c566bbc971d09aa..4dcf748f01918d5f6e3a455c4effe8f99da903b2 100644 (file)
@@ -31,9 +31,7 @@
 #include <sstream>
 #include <locale>
 #include <iomanip>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 struct MyNP : std::numpunct<char>
 {
@@ -44,7 +42,8 @@ struct MyNP : std::numpunct<char>
 std::string MyNP::do_truename()  const { static std::string s("yea"); return s; }
 std::string MyNP::do_falsename() const { static std::string s("nay"); return s; }
 
-void test01()
+int
+test01()
 {
   std::cout << true << " " << false << std::endl;
   std::cout << std::boolalpha;
@@ -71,9 +70,11 @@ void test01()
 #ifdef DEBUG_ASSERT
   assert (std::cout.good());
 #endif
+  return 0;
 }
 
-void test02()
+int
+test02()
 {
   bool test = true;
   const std::string strue("true");
@@ -88,19 +89,21 @@ void test02()
 
   ostr01 << true;
   str02 = ostr01.str();
-  test &= str02 == strue;
+  VERIFY( str02 == strue );
 
   ostr01.str(str01);
   ostr01 << false;
   str02 = ostr01.str();
-  test &= str02 == sfalse;
+  VERIFY( str02 == sfalse );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
+  return 0;
 }
 
-int main() {
+int 
+main() {
   test01();
   test02();
   return 0;
index 0f36967f03b16567f100728ca8d089b5d3ad339f..b096d42cf4e72421784624f28f91b0e87fef4a3b 100644 (file)
@@ -31,9 +31,7 @@
 
 #include <ios>
 // NB: Don't include any other headers in this file.
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 void test01()
 {
@@ -54,11 +52,11 @@ void test01()
 
   // char narrow(char_type c, char dfault) const;
   char c1 = ios_01.narrow(ct02, 0);
-  test &= c1 == 'x';
+  VERIFY( c1 == 'x' );
 
   // char_type widen(char c) const;
   ct01 = ios_01.widen('c');
-  test &= ct01 == 'c';
+  VERIFY( ct01 == 'c' );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -85,57 +83,57 @@ void test02()
   std::ios::char_type ct02('x');;
 
   // bool fail() const
-  test &= ios_01.fail();
+  VERIFY( ios_01.fail() );
 
   // bool operator!() const
-  test &= !ios_01;
+  VERIFY( !ios_01 );
   
   // iostate rdstate() const
   iostate03 = ios_01.rdstate();
-  test &= static_cast<bool>(iostate03 & std::ios_base::badbit);
+  VERIFY( static_cast<bool>(iostate03 & std::ios_base::badbit) );
 
   // void clear(iostate state = goodbit)
   try {
     ios_01.clear(std::ios_base::eofbit);
     iostate02 = ios_01.rdstate();
-    test &= static_cast<bool>(iostate02 & iostate01);
+    VERIFY( static_cast<bool>(iostate02 & iostate01) );
   }             
   catch(std::ios_base::failure& fail) {
-    test &= false;
+    VERIFY( false );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   // iostate exceptions() const
-  test &= ios_01.exceptions() == std::ios_base::goodbit;
+  VERIFY( ios_01.exceptions() == std::ios_base::goodbit );
 
   // void exceptions(iostate except)
   try {
     ios_01.exceptions(std::ios_base::eofbit);
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::ios_base::failure& fail) {
     iostate02 = ios_01.exceptions();
-    test &= static_cast<bool>(iostate02 & std::ios_base::eofbit);
+    VERIFY( static_cast<bool>(iostate02 & std::ios_base::eofbit) );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
   // basic_ios& copyfmt(const basic_ios& rhs)
   std::ios ios_02(NULL);  
   ios_02.exceptions(std::ios_base::eofbit);
-  test &= static_cast<bool>(ios_02.exceptions() & std::ios_base::eofbit);
+  VERIFY( static_cast<bool>(ios_02.exceptions() & std::ios_base::eofbit) );
   try {
     ios_01.copyfmt(ios_02);
-    test &= false;
+    VERIFY( false );
   }             
   catch(std::ios_base::failure& fail) {
-    test &= true;
+    VERIFY( true );
   }
   catch(...) {
-    test &= false;
+    VERIFY( false );
   }
 
 #ifdef DEBUG_ASSERT
index 199d585bce04d8291af8712a06f17370b7db1512..d2e55a96a1b95de0db0ff3d3b737ab28682d4feb 100644 (file)
@@ -24,9 +24,7 @@
 #include <ostream>
 #include <sstream>
 #include <locale>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 std::string str_01;
 std::string str_02("true false 0 1 110001");
@@ -71,44 +69,44 @@ bool test01() {
   fmt = is_02.flags();
   testfmt = fmt & std::ios_base::boolalpha;
   is_02 >> b1;
-  test &= b1 == 1;
+  VERIFY( b1 == 1 );
   is_02 >> b1;
-  test &= b1 == 0;
+  VERIFY( b1 == 0 );
 
   // process numeric versions of of bool values
   is_02.unsetf(std::ios_base::boolalpha);
   fmt = is_02.flags();
   testfmt = fmt & std::ios_base::boolalpha;
   is_02 >> b1;
-  test &= b1 == 0;
+  VERIFY( b1 == 0 );
   is_02 >> b1;
-  test &= b1 == 1;
+  VERIFY( b1 == 1 );
 
   // is_03 == "-19999999 777777 -234234 233 -234 33 1 66300.25 .315 1.5"
   is_03 >> l1;
-  test &= l1 == -19999999;
+  VERIFY( l1 == -19999999 );
   is_03 >> ul1;
-  test &= ul1 == 777777;
+  VERIFY( ul1 == 777777 );
   is_03 >> i1;
-  test &= i1 == -234234;
+  VERIFY( i1 == -234234 );
   is_03 >> ui1;
-  test &= ui1 == 233;
+  VERIFY( ui1 == 233 );
   is_03 >> s1;
-  test &= s1 == -234;
+  VERIFY( s1 == -234 );
   is_03 >> us1;
-  test &= us1 == 33;
+  VERIFY( us1 == 33 );
   is_03 >> b1;
-  test &= b1 == 1;
+  VERIFY( b1 == 1 );
   is_03 >> ld1;
-  test &= ld1 == 66300.25;
+  VERIFY( ld1 == 66300.25 );
   is_03 >> d1;
-  test &= d1 == .315;
+  VERIFY( d1 == .315 );
   is_03 >> f1;
-  test &= f1 == 1.5;
+  VERIFY( f1 == 1.5 );
 
   is_04 >> std::hex >> i1;
   printf ("%d %d %d\n", i1, i1 == 0x123, test);
-  test &= i1 == 0x123;
+  VERIFY( i1 == 0x123 );
   printf ("%d %d %d\n", i1, i1 == 0x123, test);
 
   // test void pointers
@@ -119,7 +117,7 @@ bool test01() {
   ss_01 << po;
   ss_01 >> pi;
   printf ("%x %x\n", pi, po);
-  test &= po == pi;
+  VERIFY( po == pi );
   
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -138,9 +136,9 @@ bool test02() {
 
   int n = 15;
   is >> n;
-  test &= n == 20000;
+  VERIFY( n == 20000 );
   char c = is.peek();
-  test &= c == 65;
+  VERIFY( c == 65 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -159,8 +157,8 @@ bool test03()
   long l01;
   ostr <<  "12220101";
   istr >>  l01; // _M_in_end set completely incorrectly here.
-  test &= l01 == 12220101;
-  test &= istr.rdstate() == std::ios_base::eofbit;
+  VERIFY( l01 == 12220101 );
+  VERIFY( istr.rdstate() == std::ios_base::eofbit );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -181,21 +179,21 @@ void test06()
   std::istringstream is(s);
   
   is >> h4; // 205
-  test &= h4 == 205;
+  VERIFY( h4 == 205 );
   is >> c; // ','
-  test &= c == ',';
+  VERIFY( c == ',' );
 
   is >> h4; // 199
-  test &= h4 == 199;
+  VERIFY( h4 == 199 );
   is >> c; // ','
-  test &= c == ',';
+  VERIFY( c == ',' );
 
   is >> h4; // 144
-  test &= is.rdstate() == std::ios_base::eofbit;
-  test &= h4 == 144;
+  VERIFY( is.rdstate() == std::ios_base::eofbit );
+  VERIFY( h4 == 144 );
   is >> c; // EOF
-  test &= c == ',';
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
+  VERIFY( c == ',' );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -224,24 +222,24 @@ void test07()
 
   // Basic operation.
   is >> h4; 
-  test &= h4 == 205199;
-  test &= is.good();
+  VERIFY( h4 == 205199 );
+  VERIFY( is.good() );
 
   is.clear();
   is >> f1; 
-  test &= f1 == 23445.25;
-  test &= is.good();
+  VERIFY( f1 == 23445.25 );
+  VERIFY( is.good() );
 
   is.clear();
   is >> h3; 
-  test &= h3 == 1024365;
-  test &= is.good();
+  VERIFY( h3 == 1024365 );
+  VERIFY( is.good() );
 
   is.clear();
   is >> h2; 
-  test &= h2 == 0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::eofbit);
+  VERIFY( h2 == 0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
 
   // Stress tests for explicit errors in grouping corner cases.  The
   // validity of these tests and results have been hammered out in
@@ -256,64 +254,64 @@ void test07()
   is.str(s2);
 
   is >> h4; 
-  test &= h4 == 0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
+  VERIFY( h4 == 0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
   is.clear();
   is >> c;
-  test &= c == ',';
-  test &= is.good();
+  VERIFY( c == ',' );
+  VERIFY( is.good() );
 
   is.ignore(3);
   is >> f1; 
-  test &= f1 == 0.0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
+  VERIFY( f1 == 0.0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
   is.clear();
   is >> c;
-  test &= c == ',';
+  VERIFY( c == ',' );
   is >> c;
-  test &= c == '4';
-  test &= is.good();
+  VERIFY( c == '4' );
+  VERIFY( is.good() );
 
   is >> f1; 
-  test &= f1 == 0.25;
-  test &= is.good();
+  VERIFY( f1 == 0.25 );
+  VERIFY( is.good() );
   is >> c;
-  test &= c == ',';
+  VERIFY( c == ',' );
   is >> h2;
-  test &= h2 == 345;
-  test &= is.good();
+  VERIFY( h2 == 345 );
+  VERIFY( is.good() );
   f1 = 0.0;
   h2 = 0;
 
   is >> f1; 
-  test &= f1 == 5.0;
-  test &= is.good();
+  VERIFY( f1 == 5.0 );
+  VERIFY( is.good() );
   is >> f1; 
-  test &= f1 == .25;
-  test &= is.good();
+  VERIFY( f1 == .25 );
+  VERIFY( is.good() );
 
   is >> h3; 
-  test &= h3 == 0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
+  VERIFY( h3 == 0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
   is.clear();
   is >> c;
-  test &= c == ','; // second one
-  test &= is.good();
+  VERIFY( c == ',' ); // second one
+  VERIFY( is.good() );
 
   is >> h2; 
-  test &= h2 == 0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
+  VERIFY( h2 == 0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
   is.clear();
 
   is >> h2; 
-  test &= h2 == 1000000;
-  test &= is.good();
+  VERIFY( h2 == 1000000 );
+  VERIFY( is.good() );
   h2 = 0;
 
   is >> h2; 
-  test &= h2 == 0;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::failbit);
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::eofbit);
+  VERIFY( h2 == 0 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::failbit) );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
   is.clear();
 
 #ifdef DEBUG_ASSERT
@@ -345,18 +343,18 @@ void test08()
 
   // Basic operation.
   is >> h4; 
-  test &= h4 == 122;
-  test &= is.good();
+  VERIFY( h4 == 122 );
+  VERIFY( is.good() );
 
   is.clear();
   is >> h3; 
-  test &= h3 == 20519;
-  test &= is.good();
+  VERIFY( h3 == 20519 );
+  VERIFY( is.good() );
 
   is.clear();
   is >> h2; 
-  test &= h2 == 2212322;
-  test &= static_cast<bool>(is.rdstate() & std::ios_base::eofbit);
+  VERIFY( h2 == 2212322 );
+  VERIFY( static_cast<bool>(is.rdstate() & std::ios_base::eofbit) );
 
 
 #ifdef DEBUG_ASSERT
@@ -378,8 +376,8 @@ bool test09()
    (is>>std::ws) >> c;
    (is>>std::ws) >> f2;
    test = f1 == 2456;
-   test &= f2 == 0.00567;
-   test &= c == '-';
+   VERIFY( f2 == 0.00567 );
+   VERIFY( c == '-' );
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
@@ -396,37 +394,37 @@ bool test10() {
 
   int n = 365;
   is_01 >> n;
-  test &= n == 0;
+  VERIFY( n == 0 );
   n = 364;
   is_01 >> n;
-  test &= n == 0;
+  VERIFY( n == 0 );
   n = 363;
   is_01 >> n;
-  test &= n == 0;
+  VERIFY( n == 0 );
   n = 362;
   is_01 >> n;
-  test &= n == 0;
+  VERIFY( n == 0 );
   n = 361;
   is_01 >> n;
-  test &= n == 0;
+  VERIFY( n == 0 );
   n = 360;
   is_01 >> n;
-  test &= n == 0;
-  test &= is_01.rdstate() == std::ios_base::eofbit;
+  VERIFY( n == 0 );
+  VERIFY( is_01.rdstate() == std::ios_base::eofbit );
 
   std::string str_02("0x32 0X33 033 33");
   std::stringbuf isbuf_02(str_02);
   std::istream is_02(&isbuf_02);
   is_02.unsetf(std::ios_base::basefield);
   is_02 >> n;
-  test &= n == 50;
+  VERIFY( n == 50 );
   is_02 >> n;
-  test &= n == 51;
+  VERIFY( n == 51 );
   is_02 >> n;
-  test &= n == 27;
+  VERIFY( n == 27 );
   is_02 >> n;
-  test &= n == 33;
-  test &= is_02.rdstate() == std::ios_base::eofbit;
+  VERIFY( n == 33 );
+  VERIFY( is_02.rdstate() == std::ios_base::eofbit );
 
   std::stringbuf isbuf_03(str_02);
   std::istream is_03(&isbuf_03);
@@ -434,19 +432,19 @@ bool test10() {
   int m;
 
   is_03 >> std::dec >> n >> c >> m;
-  test &= n == 0;
-  test &= c == 'x';
-  test &= m == 32;
+  VERIFY( n == 0 );
+  VERIFY( c == 'x' );
+  VERIFY( m == 32 );
 
   is_03 >> std::oct >> m >> c >> n;
-  test &= m == 0;
-  test &= c == 'X';
-  test &= n == 27;
+  VERIFY( m == 0 );
+  VERIFY( c == 'X' );
+  VERIFY( n == 27 );
 
   is_03 >> std::dec >> m >> n;
-  test &= m == 33;
-  test &= n == 33;
-  test &= is_03.rdstate() == std::ios_base::eofbit;
+  VERIFY( m == 33 );
+  VERIFY( n == 33 );
+  VERIFY( is_03.rdstate() == std::ios_base::eofbit );
 
   std::string str_04("3. 4.5E+  2a5E-3 .6E1");
   std::stringbuf isbuf_04(str_04);
@@ -454,35 +452,35 @@ bool test10() {
 
   double f;
   is_04 >> f;
-  test &= f == 3.0;
+  VERIFY( f == 3.0 );
   is_04 >> f;
-  test &= f == 450.0;
+  VERIFY( f == 450.0 );
   is_04.ignore();
   is_04 >> f;
-  test &= f == 0.005;
+  VERIFY( f == 0.005 );
   is_04 >> f;
-  test &= f == 6;
-  test &= is_03.rdstate() == std::ios_base::eofbit;
+  VERIFY( f == 6 );
+  VERIFY( is_03.rdstate() == std::ios_base::eofbit );
 
   std::string str_05("0E20 5Ea E16");
   std::stringbuf isbuf_05(str_05);
   std::istream is_05(&isbuf_05);
 
   is_05 >> f;
-  test &= f == 0;
+  VERIFY( f == 0 );
   is_05 >> f;
-  test &= f == 0;
-  test &= is_05.rdstate() == std::ios_base::failbit;
+  VERIFY( f == 0 );
+  VERIFY( is_05.rdstate() == std::ios_base::failbit );
   is_05.clear();
   is_05 >> c;
-  test &= c == 'a';
+  VERIFY( c == 'a' );
   is_05 >> f;
-  test &= f == 0;
-  test &= is_05.rdstate() == std::ios_base::failbit;
+  VERIFY( f == 0 );
+  VERIFY( is_05.rdstate() == std::ios_base::failbit );
   is_05.clear();
   is_05.ignore();
   is_05 >> n;
-  test &= n == 16;
+  VERIFY( n == 16 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 6a6312855f4655b7851500e3e4a4d84332c84796..f70d4fb94924950160baf0ca47ed8b53f57f4466 100644 (file)
@@ -22,9 +22,7 @@
 
 #include <istream>
 #include <sstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01() {
 
@@ -53,28 +51,28 @@ bool test01() {
   is_01 >> array1;   // should snake 0 characters, not alter stream state
   i2 = ctraits_type::length(array1);
   state2 = is_01.rdstate();
-  test &= i1 == i2;
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
+  VERIFY( i1 == i2 );
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
 
   state1 = is_02.rdstate();
   is_02 >> array1;   // should snake "coltrane"
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= !static_cast<bool>(state2 & statefail);
-  test &= array1[str_03.size() - 1] == 'e';
+  VERIFY( state1 == state2 );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
+  VERIFY( array1[str_03.size() - 1] == 'e' );
   array1[str_03.size()] = '\0';
-  test &= !str_03.compare(0, str_03.size(), array1);
+  VERIFY( !str_03.compare(0, str_03.size(), array1) );
   std::istream::int_type int1 = is_02.peek(); // should be ' '
-  test &= int1 == ' ';
+  VERIFY( int1 == ' ' );
 
   state1 = is_02.rdstate();
   is_02 >> array1;   // should snake "playing" as sentry "eats" ws
   state2 = is_02.rdstate();
   int1 = is_02.peek(); // should be ' '
-  test &= int1 == ' ';
-  test &= state1 == state2;
-  test &= !static_cast<bool>(state2 & statefail);
+  VERIFY( int1 == ' ' );
+  VERIFY( state1 == state2 );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
 
 
   // template<_CharT, _Traits>
@@ -83,13 +81,13 @@ bool test01() {
   state1 = is_02.rdstate();
   is_02 >> array2;   // should snake 'softly
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= !static_cast<bool>(state2 & statefail);
-  test &= array2[0] == '\'';
-  test &= array2[1] == 's';
-  test &= array2[6] == 'y';
+  VERIFY( state1 == state2 );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
+  VERIFY( array2[0] == '\'' );
+  VERIFY( array2[1] == 's' );
+  VERIFY( array2[6] == 'y' );
   int1 = is_02.peek(); // should be ' '
-  test &= int1 == ' ';
+  VERIFY( int1 == ' ' );
 
 
    // template<_CharT, _Traits>
@@ -98,12 +96,12 @@ bool test01() {
   state1 = is_02.rdstate();
   is_02 >> array3;   // should snake "as"
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= !static_cast<bool>(state2 & statefail);
-  test &= array3[0] == 'a';
-  test &= array3[1] == 's';
+  VERIFY( state1 == state2 );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
+  VERIFY( array3[0] == 'a' );
+  VERIFY( array3[1] == 's' );
   int1 = is_02.peek(); // should be ' '
-  test &= int1 == ' ';
+  VERIFY( int1 == ' ' );
  
 
   // testing with width() control enabled.
@@ -111,25 +109,25 @@ bool test01() {
   state1 = is_02.rdstate();
   is_02 >> array1;   // should snake a
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= !ctraits_type::compare(array1, "a", 2);
+  VERIFY( state1 == state2 );
+  VERIFY( !ctraits_type::compare(array1, "a", 2) );
 
   is_02.width(1);
   state1 = is_02.rdstate();
   is_02 >> array1;   // should snake nothing, set failbit
   state2 = is_02.rdstate();
-  test &= state1 != state2;
-  test &= state2 == statefail;
-  test &= array1[0] == '\0';
+  VERIFY( state1 != state2 );
+  VERIFY( state2 == statefail );
+  VERIFY( array1[0] == '\0' );
 
   is_02.width(8);
   is_02.clear();
   state1 = is_02.rdstate();
-  test &= !state1;
+  VERIFY( !state1 );
   is_02 >> array1;   // should snake "morning"
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= !ctraits_type::compare(array1, "morning", 8);
+  VERIFY( state1 == state2 );
+  VERIFY( !ctraits_type::compare(array1, "morning", 8) );
 
   // testing for correct exception setting
   const std::string str_04("   impulse!!");
@@ -139,13 +137,13 @@ bool test01() {
   std::istream is_04(&isbuf_04);
 
   is_03 >> array1;
-  test &=  !ctraits_type::compare(array1,"impulse!!", 10);
-  test &= is_03.rdstate() == std::ios_base::eofbit;
+  VERIFY( !ctraits_type::compare(array1,"impulse!!", 10) );
+  VERIFY( is_03.rdstate() == std::ios_base::eofbit );
 
   is_04.width(9);
   is_04 >> array1;
-  test &=  ! std::ios::traits_type::compare(array1,"impulse!", 9);
-  test &= !is_04.rdstate(); 
+  VERIFY( ! std::ios::traits_type::compare(array1,"impulse!", 9) );
+  VERIFY( !is_04.rdstate() ); 
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -176,19 +174,19 @@ bool test02() {
   state1 = is_01.rdstate();
   is_01 >> c1;   
   state2 = is_01.rdstate();
-  test &= state1 != state2;
-  test &= c1 == c2;
-  test &= static_cast<bool>(state2 & statefail);
+  VERIFY( state1 != state2 );
+  VERIFY( c1 == c2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
 
   state1 = is_02.rdstate();
   is_02 >> c1;   
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= c1 == 'o';
+  VERIFY( state1 == state2 );
+  VERIFY( c1 == 'o' );
   is_02 >> c1;   
   is_02 >> c1;   
-  test &= c1 == 'c';
-  test &= !static_cast<bool>(state2 & statefail);
+  VERIFY( c1 == 'c' );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
 
   // template<_CharT, _Traits>
   //  basic_istream& operator>>(istream&, unsigned char&)
@@ -196,11 +194,11 @@ bool test02() {
   state1 = is_02.rdstate();
   is_02 >> uc1;   
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= uc1 == 'o';
+  VERIFY( state1 == state2 );
+  VERIFY( uc1 == 'o' );
   is_02 >> uc1;   
   is_02 >> uc1;   
-  test &= uc1 == 't';
+  VERIFY( uc1 == 't' );
 
   // template<_CharT, _Traits>
   //  basic_istream& operator>>(istream&, signed char&)
@@ -208,11 +206,11 @@ bool test02() {
   state1 = is_02.rdstate();
   is_02 >> sc1;   
   state2 = is_02.rdstate();
-  test &= state1 == state2;
-  test &= sc1 == 'r';
+  VERIFY( state1 == state2 );
+  VERIFY( sc1 == 'r' );
   is_02 >> sc1;   
   is_02 >> sc1;   
-  test &= sc1 == 'n';
+  VERIFY( sc1 == 'n' );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 09b1ac275762ad8097b3d02064471fa5464ec803..72633af6ddd4b0e4804b6a4f2a927a30f19bbbe6 100644 (file)
@@ -23,9 +23,7 @@
 #include <istream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 // stringbufs.
@@ -71,78 +69,78 @@ bool test01() {
   state1 = is_00.rdstate();
   is_00 >> &isbuf_00;   
   state2 = is_00.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_00.str() == str_01
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_00.str() == str_01 )
 
   // null istream to empty in_out_buf
   is_00.clear(std::ios_base::goodbit);
   state1 = is_00.rdstate();
   is_00 >> &isbuf_01;   
   state2 = is_00.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_01.str() == str_01
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_01.str() == str_01 )
 
   // null istream to full in_buf
   is_00.clear(std::ios_base::goodbit);
   state1 = is_00.rdstate();
   is_00 >> &isbuf_04;   
   state2 = is_00.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_04.str() == str_02
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_04.str() == str_02 )
 
   // null istream to full in_out_buf
   is_00.clear(std::ios_base::goodbit);
   state1 = is_00.rdstate();
   is_00 >> &isbuf_05;   
   state2 = is_00.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_05.str() == str_02
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_05.str() == str_02 )
 
   // empty but non-null istream to full in_buf
   state1 = is_02.rdstate();
   is_02 >> &isbuf_04;   
   state2 = is_02.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_04.str() == str_02; // as only an "in" buffer
-  test &= isbuf_04.sgetc() == 'a';
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_04.str() == str_02 ); // as only an "in" buffer
+  VERIFY( isbuf_04.sgetc() == 'a' );
 
   // empty but non-null istream to full in_out_buf
   is_02.clear(std::ios_base::goodbit);
   state1 = is_02.rdstate();
   is_02 >> &isbuf_05;   
   state2 = is_02.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_05.str() == str_02; // as only an "in" buffer
-  test &= isbuf_05.sgetc() == 'a';
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_05.str() == str_02 ); // as only an "in" buffer
+  VERIFY( isbuf_05.sgetc() == 'a' );
 
   // full istream to empty in_buf (need out_buf, you know?)
   state1 = is_04.rdstate();
   is_04 >> &isbuf_02;   
   state2 = is_04.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
-  test &= isbuf_02.str() == str_01; // as only an "in" buffer
-  test &= isbuf_02.sgetc() == ctraits_type::eof();
-  test &= is_04.peek() == ctraits_type::eof(); // as failed
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
+  VERIFY( isbuf_02.str() == str_01 ); // as only an "in" buffer
+  VERIFY( isbuf_02.sgetc() == ctraits_type::eof() );
+  VERIFY( is_04.peek() == ctraits_type::eof() ); // as failed
 
   // full istream to empty in_out_buf
   is_04.clear(std::ios_base::goodbit);
   state1 = is_04.rdstate();
   is_04 >> &isbuf_03;   
   state2 = is_04.rdstate();
-  test &= state1 != state2;
-  test &= !static_cast<bool>(state2 & statefail);
-  test &= state2 == stateeof;
+  VERIFY( state1 != state2 );
+  VERIFY( !static_cast<bool>(state2 & statefail) );
+  VERIFY( state2 == stateeof );
   strtmp = isbuf_03.str();
-  test &= strtmp == str_02; // as only an "in" buffer
-  test &= isbuf_03.sgetc() == 'a';
-  test &= is_04.peek() == ctraits_type::eof();
+  VERIFY( strtmp == str_02 ); // as only an "in" buffer
+  VERIFY( isbuf_03.sgetc() == 'a' );
+  VERIFY( is_04.peek() == ctraits_type::eof() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -162,8 +160,8 @@ bool test02() {
   std::filebuf fbin, fbout;
   fbin.open(name_01, std::ios_base::in);
   fbout.open(name_02, std::ios_base::out | std::ios_base::trunc);
-  test &= fbin.is_open();
-  test &= fbout.is_open();
+  VERIFY( fbin.is_open() );
+  VERIFY( fbout.is_open() );
 
   if (test)
     {
@@ -174,8 +172,8 @@ bool test02() {
 
   fbout.close();
   fbin.close();
-  test &= !fbin.is_open();
-  test &= !fbout.is_open();
+  VERIFY( !fbin.is_open() );
+  VERIFY( !fbout.is_open() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 206e4068d6ce89bf167db9133e6136fa674dbfc7..57d376cf0be3cd2dc19de2c05d5b3b747d614d93 100644 (file)
@@ -23,9 +23,7 @@
 #include <istream>
 #include <sstream>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -44,36 +42,36 @@ bool test01(void)
   std::istringstream iss02(str01);
   
   iss01 >> str04;
-  test &= str04.size() != str01.size();
-  test &= str04 == "santa";
+  VERIFY( str04.size() != str01.size() );
+  VERIFY( str04 == "santa" );
 
   iss02 >> std::ws;
   iss02 >> str05;
-  test &= str05.size() != str01.size();
-  test &= str05 == "santa";
-  test &= str05 == str04;
+  VERIFY( str05.size() != str01.size() );
+  VERIFY( str05 == "santa" );
+  VERIFY( str05 == str04 );
 
   iss01 >> str04;
-  test &= str04.size() != str01.size();
-  test &= str04 == "barbara";
+  VERIFY( str04.size() != str01.size() );
+  VERIFY( str04 == "barbara" );
   
   iss02 >> std::ws;
   iss02 >> str05;
-  test &= str05.size() != str01.size();
-  test &= str05 == "barbara";
-  test &= str05 == str04;
+  VERIFY( str05.size() != str01.size() );
+  VERIFY( str05 == "barbara" );
+  VERIFY( str05 == str04 );
 
   flag3 = std::ios_base::eofbit;
   flag4 = std::ios_base::badbit;
   flag5 = std::ios_base::failbit;
-  test &= !iss01.fail();
-  test &= !iss02.fail();
-  test &= !iss01.eof();
-  test &= !iss02.eof();
+  VERIFY( !iss01.fail() );
+  VERIFY( !iss02.fail() );
+  VERIFY( !iss01.eof() );
+  VERIFY( !iss02.eof() );
 
   iss01 >> std::ws;
-  test &= !iss01.fail();
-  test &= iss01.eof();
+  VERIFY( !iss01.fail() );
+  VERIFY( iss01.eof() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 4a506f2dec3b11758f8c77d2362bc440a8f426a1..52f6ecb56fbc5cc0a24468b6260a7c6e00fd26f2 100644 (file)
@@ -24,9 +24,7 @@
 #include <istream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 bool test01()
@@ -45,7 +43,7 @@ bool test01()
   ifstream ifs1;
   pos_type p4 = ifs1.tellg();
 
-  test &= p3 == p4;
+  VERIFY( p3 == p4 );
 
   // in
   // test ctors leave things in the same positions...
@@ -55,7 +53,7 @@ bool test01()
   ifstream ifs2(str_lit01);
   p4 = ifs2.tellg();
 
-  test &= p3 == p4;
+  VERIFY( p3 == p4 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -75,9 +73,9 @@ void test04(void)
   std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
   std::ifstream if02(str_lit01, std::ios_base::in);
   std::ifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc); 
-  test &= if01.good();
-  test &= if02.good();
-  test &= if03.good();
+  VERIFY( if01.good() );
+  VERIFY( if02.good() );
+  VERIFY( if03.good() );
 
   std::istream is01(if01.rdbuf());
   std::istream is02(if02.rdbuf());
@@ -87,20 +85,20 @@ void test04(void)
   // in | out
   pos01 = is01.tellg();
   pos02 = is01.tellg();
-  test &= pos01 == pos02;
-  //  test &= istream::pos_type(0) != pos01; //depricated
+  VERIFY( pos01 == pos02 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //depricated
 
   // in
   pos03 = is02.tellg();
   pos04 = is02.tellg();
-  test &= pos03 == pos04;
-  //  test &= istream::pos_type(0) != pos03; //depricated
+  VERIFY( pos03 == pos04 );
+  //  VERIFY( istream::pos_type(0) != pos03 ); //depricated
 
   // out
   pos05 = is03.tellg();
   pos06 = is03.tellg();
-  test &= pos05 == pos06;
-  //  test &= istream::pos_type(0) != pos01; //depricated
+  VERIFY( pos05 == pos06 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //depricated
 
   // istream& seekg(pos_type)
   // istream& seekg(off_type, ios_base::seekdir)
@@ -114,56 +112,56 @@ void test04(void)
   is01.seekg(10, std::ios_base::cur);
   state02 = is01.rdstate();
   pos01 = is01.tellg(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellg(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(10, std::ios_base::cur);
   state02 = is02.rdstate();
   pos03 = is02.tellg(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellg(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(10, std::ios_base::cur);
   state02 = is03.rdstate();
   pos05 = is03.tellg(); 
-  test &= pos05 == pos06 + 10
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 + 10 )
+  VERIFY( state01 == state02 );
   pos06 = is03.tellg(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
   // beg
   state01 = is01.rdstate();
   is01.seekg(20, std::ios_base::beg);
   state02 = is01.rdstate();
   pos01 = is01.tellg(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellg(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(20, std::ios_base::beg);
   state02 = is02.rdstate();
   pos03 = is02.tellg(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellg(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(20, std::ios_base::beg);
   state02 = is03.rdstate();
   pos05 = is03.tellg(); 
-  test &= pos05 == pos06 + 10;
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 + 10 );
+  VERIFY( state01 == state02 );
   pos06 = is03.tellg(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -180,9 +178,9 @@ void test05(void)
   std::ifstream if01(str_lit01);
   std::ifstream if02(str_lit01);
   std::ifstream if03(str_lit01);
-  test &= if01.good();
-  test &= if02.good();
-  test &= if03.good();
+  VERIFY( if01.good() );
+  VERIFY( if02.good() );
+  VERIFY( if03.good() );
 
   std::stringbuf strbuf01(std::ios_base::in | std::ios_base::out);
   if01 >> &strbuf01; 
@@ -199,20 +197,20 @@ void test05(void)
   // in | out
   pos01 = is01.tellg();
   pos02 = is01.tellg();
-  test &= pos01 == pos02;
-  // test &= istream::pos_type(0) != pos01; // deprecated
+  VERIFY( pos01 == pos02 );
+  // VERIFY( istream::pos_type(0) != pos01 ); // deprecated
 
   // in
   pos03 = is02.tellg();
   pos04 = is02.tellg();
-  test &= pos03 == pos04;
-  //  test &= istream::pos_type(0) != pos03; // deprecated
+  VERIFY( pos03 == pos04 );
+  //  VERIFY( istream::pos_type(0) != pos03 ); // deprecated
 
   // out
   pos05 = is03.tellg();
   pos06 = is03.tellg();
-  test &= pos05 == pos06;
-  //  test &= istream::pos_type(0) != pos01; //deprecated
+  VERIFY( pos05 == pos06 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //deprecated
 
   // istream& seekg(pos_type)
   // istream& seekg(off_type, ios_base::seekdir)
@@ -226,56 +224,56 @@ void test05(void)
   is01.seekg(10, std::ios_base::cur);
   state02 = is01.rdstate();
   pos01 = is01.tellg(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellg(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(10, std::ios_base::cur);
   state02 = is02.rdstate();
   pos03 = is02.tellg(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellg(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(10, std::ios_base::cur);
   state02 = is03.rdstate();
   pos05 = is03.tellg(); 
-  test &= pos05 == pos06; // as only out buffer 
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 ); // as only out buffer 
+  VERIFY( state01 == state02 );
   pos06 = is03.tellg(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
   // beg
   state01 = is01.rdstate();
   is01.seekg(20, std::ios_base::beg);
   state02 = is01.rdstate();
   pos01 = is01.tellg(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellg(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(20, std::ios_base::beg);
   state02 = is02.rdstate();
   pos03 = is02.tellg(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellg(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(20, std::ios_base::beg);
   state02 = is03.rdstate();
   pos05 = is03.tellg(); 
-  test &= pos05 == pos06; // as only out buffer 
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 ); // as only out buffer 
+  VERIFY( state01 == state02 );
   pos06 = is03.tellg(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
 #ifdef DEBUG_ASSERT
   assert(test);
index ba4f7cb1bd8bc5662e2420813bbe4bf63e82f947..5baca934fd79a4fec07af1f507e21b5e2c01836a 100644 (file)
@@ -31,9 +31,7 @@
 
 #include <istream>
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 void test01()
 {
@@ -48,17 +46,17 @@ void test01()
   
   // test negatives
   std::istream::sentry sentry01(istr01);       
-  test &= bool(sentry01) == false
+  VERIFY( bool(sentry01) == false )
 
   std::istream::sentry sentry02(istr01, true);
-  test &= bool(sentry02) == false
+  VERIFY( bool(sentry02) == false )
 
   // positive tests
   std::istream::sentry sentry03(istr02);       
-  test &= bool(sentry03) == true
+  VERIFY( bool(sentry03) == true )
 
   std::istream::sentry sentry04(istr02, true);
-  test &= bool(sentry04) == true
+  VERIFY( bool(sentry04) == true )
 
 #ifdef DEBUG_ASSERT
   assert(test);
index b6a547af31169aa674d7d54a9f1c6586f74b41a8..6757a390d0782608861811cf3de3d1750548fde9 100644 (file)
 #include <istream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-#include <cassert>
-#  define VERIFY(fn) assert(fn)
-#else
-#  define VERIFY(fn) 
-#endif
-
-bool test01() {
+#include <debug_assert.h>
 
+int
+test01()
+{
   typedef std::ios::traits_type traits_type;
 
   bool test = true;
@@ -54,78 +50,78 @@ bool test01() {
   state1 = is_04.rdstate();
   is_04.read(carray, 0);
   state2 = is_04.rdstate();
-  test &= state1 == state2;
+  VERIFY( state1 == state2 );
 
   state1 = is_04.rdstate();
   is_04.read(carray, 9);
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= !strncmp(carray, "soul eyes", 9);
-  test &= is_04.peek() == ':';
+  VERIFY( state1 == state2 );
+  VERIFY( !strncmp(carray, "soul eyes", 9) );
+  VERIFY( is_04.peek() == ':' );
 
   state1 = is_03.rdstate();
   is_03.read(carray, 60);
   state2 = is_03.rdstate();
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & stateeof); 
-  test &= static_cast<bool>(state2 & statefail); 
-  test &= !strncmp(carray, "soul eyes: john coltrane quartet", 35);
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & stateeof) ); 
+  VERIFY( static_cast<bool>(state2 & statefail) ); 
+  VERIFY( !strncmp(carray, "soul eyes: john coltrane quartet", 35) );
 
 
   // istream& ignore(streamsize n = 1, int_type delim = traits::eof())
   state1 = is_04.rdstate();
   is_04.ignore();
-  test &= is_04.gcount() == 1;
+  VERIFY( is_04.gcount() == 1 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= is_04.peek() == ' ';
+  VERIFY( state1 == state2 );
+  VERIFY( is_04.peek() == ' ' );
 
   state1 = is_04.rdstate();
   is_04.ignore(0);
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.gcount() == 0 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= is_04.peek() == ' ';
+  VERIFY( state1 == state2 );
+  VERIFY( is_04.peek() == ' ' );
 
   state1 = is_04.rdstate();
   is_04.ignore(5, traits_type::to_int_type(' '));
-  test &= is_04.gcount() == 1;
+  VERIFY( is_04.gcount() == 1 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= is_04.peek() == 'j';
+  VERIFY( state1 == state2 );
+  VERIFY( is_04.peek() == 'j' );
 
   // int_type peek()
   state1 = is_04.rdstate();
-  test &= is_04.peek() == 'j';
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.peek() == 'j' );
+  VERIFY( is_04.gcount() == 0 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
+  VERIFY( state1 == state2 );
 
   is_04.ignore(30);
   state1 = is_04.rdstate();
-  test &= is_04.peek() == traits_type::eof();
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.peek() == traits_type::eof() );
+  VERIFY( is_04.gcount() == 0 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
+  VERIFY( state1 == state2 );
 
 
   // istream& putback(char c)
   is_04.clear();
   state1 = is_04.rdstate();
   is_04.putback('|');
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.gcount() == 0 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= is_04.peek() == '|';
+  VERIFY( state1 == state2 );
+  VERIFY( is_04.peek() == '|' );
 
   // istream& unget()
   is_04.clear();
   state1 = is_04.rdstate();
   is_04.unget();
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.gcount() == 0 );
   state2 = is_04.rdstate();
-  test &= state1 == state2;
-  test &= is_04.peek() == 'e';
+  VERIFY( state1 == state2 );
+  VERIFY( is_04.peek() == 'e' );
   
   // int sync()
   int i = is_00.sync();
@@ -134,10 +130,11 @@ bool test01() {
   assert(test);
 #endif
  
-  return test;
+  return 0;
 }
 
-bool test02(void)
+int
+test02()
 {
   typedef std::char_traits<char>       traits_type;
 
@@ -166,67 +163,68 @@ bool test02(void)
   state2 = is_00.rdstate();
   // make sure failbit was set, since we couldn't extract
   // from the NULL streambuf...
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & statefail);
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & statefail) );
   
-  test &= is_04.gcount() == 0;
+  VERIFY( is_04.gcount() == 0 );
   state1 = is_04.rdstate();
   is_04.getline(carray1, 1, '\t'); // extracts, throws away
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 1;
-  test &= state1 == state2;
-  test &= state1 == 0;
-  test &= !traits_type::compare("", carray1, 1);
+  VERIFY( is_04.gcount() == 1 );
+  VERIFY( state1 == state2 );
+  VERIFY( state1 == 0 );
+  VERIFY( !traits_type::compare("", carray1, 1) );
 
   state1 = is_04.rdstate();
   is_04.getline(carray1, 20, '*');
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 10;
-  test &= state1 == state2;
-  test &= state1 == 0;
-  test &= !traits_type::compare("\t\t    sun", carray1, 10);
+  VERIFY( is_04.gcount() == 10 );
+  VERIFY( state1 == state2 );
+  VERIFY( state1 == 0 );
+  VERIFY( !traits_type::compare("\t\t    sun", carray1, 10) );
 
   state1 = is_04.rdstate();
   is_04.getline(carray1, 20);
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 4;
-  test &= state1 == state2;
-  test &= state1 == 0;
-  test &= !traits_type::compare("ra ", carray1, 4);
+  VERIFY( is_04.gcount() == 4 );
+  VERIFY( state1 == state2 );
+  VERIFY( state1 == 0 );
+  VERIFY( !traits_type::compare("ra ", carray1, 4) );
 
   state1 = is_04.rdstate();
   is_04.getline(carray1, 65);
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 64;
-  test &= state1 != state2;
-  test &= state2 == statefail;
-  test &= !traits_type::compare("                            and his myth science arkestra presen", carray1, 65);
+  VERIFY( is_04.gcount() == 64 );
+  VERIFY( state1 != state2 );
+  VERIFY( state2 == statefail );
+  VERIFY( !traits_type::compare("                            and his myth science arkestra presen", carray1, 65) );
 
   is_04.clear();
   state1 = is_04.rdstate();
   is_04.getline(carray1, 120, '|');
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 106;
-  test &= state1 != state2;
-  test &= state2 == stateeof;
+  VERIFY( is_04.gcount() == 106 );
+  VERIFY( state1 != state2 );
+  VERIFY( state2 == stateeof );
 
   is_04.clear();
   state1 = is_04.rdstate();
   is_04.getline(carray1, 100, '|');
   state2 = is_04.rdstate();  
-  test &= is_04.gcount() == 0
-  test &= state1 != state2;
-  test &= static_cast<bool>(state2 & stateeof);
-  test &= static_cast<bool>(state2 & statefail);
+  VERIFY( is_04.gcount() == 0 )
+  VERIFY( state1 != state2 );
+  VERIFY( static_cast<bool>(state2 & stateeof) );
+  VERIFY( static_cast<bool>(state2 & statefail) );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
  
-  return test;
+  return 0;
 }
 
-bool test03(void)
+int
+test03()
 {
   typedef std::char_traits<char>       traits_type;
 
@@ -256,73 +254,74 @@ bool test03(void)
   // istream& get(streambuf&, char delim)
   // istream& get(streambuf&)
   is_00.get(carray1, 2);
-  test &= static_cast<bool>(is_00.rdstate() & statefail); 
-  test &= is_00.gcount() == 0;
+  VERIFY( static_cast<bool>(is_00.rdstate() & statefail) ); 
+  VERIFY( is_00.gcount() == 0 );
 
   is_04.get(carray1, 4);
-  test &= !(is_04.rdstate() & statefail);
-  test &= !traits_type::compare(carray1, "   ", 4);
-  test &= is_04.gcount() == 3;
+  VERIFY( !(is_04.rdstate() & statefail) );
+  VERIFY( !traits_type::compare(carray1, "   ", 4) );
+  VERIFY( is_04.gcount() == 3 );
 
   is_04.clear();
   is_04.get(carray1 + 3, 200);
-  test &= !(is_04.rdstate() & statefail);
-  test &= !(is_04.rdstate() & stateeof);
-  test &= !traits_type::compare(carray1, str_lit01, 10);
-  test &= is_04.gcount() == 7;
+  VERIFY( !(is_04.rdstate() & statefail) );
+  VERIFY( !(is_04.rdstate() & stateeof) );
+  VERIFY( !traits_type::compare(carray1, str_lit01, 10) );
+  VERIFY( is_04.gcount() == 7 );
 
   is_04.clear();
   is_04.get(carray1, 200);
-  test &= !(is_04.rdstate() & stateeof);
-  test &= static_cast<bool>(is_04.rdstate() & statefail); // delimiter
-  test &= is_04.gcount() == 0;
+  VERIFY( !(is_04.rdstate() & stateeof) );
+  VERIFY( static_cast<bool>(is_04.rdstate() & statefail) ); // delimiter
+  VERIFY( is_04.gcount() == 0 );
   is_04.clear();
   is_04.get(carray1, 200, '[');
-  test &= static_cast<bool>(is_04.rdstate() & stateeof);
-  test &= !(is_04.rdstate() & statefail);
-  test &= is_04.gcount() == 125;
+  VERIFY( static_cast<bool>(is_04.rdstate() & stateeof) );
+  VERIFY( !(is_04.rdstate() & statefail) );
+  VERIFY( is_04.gcount() == 125 );
   is_04.clear();  
   is_04.get(carray1, 200);
-  test &= static_cast<bool>(is_04.rdstate() & stateeof);
-  test &= static_cast<bool>(is_04.rdstate() & statefail); 
-  test &= is_04.gcount() == 0;
+  VERIFY( static_cast<bool>(is_04.rdstate() & stateeof) );
+  VERIFY( static_cast<bool>(is_04.rdstate() & statefail) ); 
+  VERIFY( is_04.gcount() == 0 );
 
   std::stringbuf sbuf_02(std::ios_base::in);
   is_05.clear();
   is_05.get(sbuf_02);
-  test &= is_05.gcount() == 0;
-  test &= static_cast<bool>(is_05.rdstate() & statefail); 
-  test &= !(is_05.rdstate() & stateeof); 
+  VERIFY( is_05.gcount() == 0 );
+  VERIFY( static_cast<bool>(is_05.rdstate() & statefail) ); 
+  VERIFY( !(is_05.rdstate() & stateeof) ); 
 
   is_05.clear();
   is_05.get(sbuf_03);
-  test &= is_05.gcount() == 10;
-  test &= sbuf_03.str() == "   sun*ra ";
-  test &= !(is_05.rdstate() & statefail); 
-  test &= !(is_05.rdstate() & stateeof); 
+  VERIFY( is_05.gcount() == 10 );
+  VERIFY( sbuf_03.str() == "   sun*ra " );
+  VERIFY( !(is_05.rdstate() & statefail) ); 
+  VERIFY( !(is_05.rdstate() & stateeof) ); 
 
   is_05.clear();
   is_05.get(sbuf_03, '|');
-  test &= is_05.gcount() == 125;
-  test &= sbuf_03.str() == str_lit01;
-  test &= !(is_05.rdstate() & statefail); 
-  test &= static_cast<bool>(is_05.rdstate() & stateeof); 
+  VERIFY( is_05.gcount() == 125 );
+  VERIFY( sbuf_03.str() == str_lit01 );
+  VERIFY( !(is_05.rdstate() & statefail) ); 
+  VERIFY( static_cast<bool>(is_05.rdstate() & stateeof) ); 
 
   is_05.clear();
   is_05.get(sbuf_03, '|');
-  test &= is_05.gcount() == 0;
-  test &= static_cast<bool>(is_05.rdstate() & stateeof); 
-  test &= static_cast<bool>(is_05.rdstate() & statefail); 
+  VERIFY( is_05.gcount() == 0 );
+  VERIFY( static_cast<bool>(is_05.rdstate() & stateeof) ); 
+  VERIFY( static_cast<bool>(is_05.rdstate() & statefail) ); 
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
  
-  return test;
+  return 0;
 }
 
 // http://sourceware.cygnus.com/ml/libstdc++/2000-q1/msg00177.html
-void test04()
+int
+test04()
 {
   bool test = true;
 
@@ -337,21 +336,23 @@ void test04()
   stateeof = std::ios_base::eofbit;
 
   state1 = stateeof | statefail;
-  test &= is_00.gcount() == 0;
+  VERIFY( is_00.gcount() == 0 );
   is_00.read(c_array, str_00.size() + 1);
-  test &= is_00.gcount() == str_00.size();
-  test &= is_00.rdstate() == state1;
+  VERIFY( is_00.gcount() == str_00.size() );
+  VERIFY( is_00.rdstate() == state1 );
 
   is_00.read(c_array, str_00.size());
-  test &= is_00.rdstate() == state1;
+  VERIFY( is_00.rdstate() == state1 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
+  return 0;
 }
 
 // http://sourceware.cygnus.com/ml/libstdc++/2000-07/msg00003.html
-bool test05()
+int
+test05()
 {
   const char* charray = "
 a
@@ -420,7 +421,7 @@ aaaaaaaaaaaaaa
 
 
 // http://sources.redhat.com/ml/libstdc++/2000-07/msg00126.html
-bool
+int
 test06()
 {
   using namespace std;
@@ -434,24 +435,26 @@ test06()
   istream istr(&strbuf);
   
   istr.getline(tmp,it); 
-  test &= istr.gcount() == it;  // extracted whole string
-  test &= strlen(tmp) == 4;     // stored all but '\n'
-  test &= !istr.eof();          // extracted up to but not eof
-  test &= !istr.fail();         // failbit not set
+  VERIFY( istr.gcount() == it );  // extracted whole string
+  VERIFY( strlen(tmp) == 4 );     // stored all but '\n'
+  VERIFY( !istr.eof() );          // extracted up to but not eof
+  VERIFY( !istr.fail() );         // failbit not set
   
   char c = 'z';
   istr.get(c);
-  test &= c == 'z';
-  test &= istr.eof();
+  VERIFY( c == 'z' );
+  VERIFY( istr.eof() );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
-  return test;
+  
+  return 0;
 }
 
 
-int main()
+int 
+main()
 {
   test01();
   test02();
@@ -459,6 +462,7 @@ int main()
   test04();
   test05();
   test06();
+  
   return 0;
 }
 
index 6047b650fc58d74388d1295911a1401d5b1f14ea..e11b6ab5fff5d5ec1fafa85e36323ac1a9c5c35e 100644 (file)
@@ -24,9 +24,7 @@
 // stringbuf* rdbuf() const
 
 #include <sstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 void test01()
@@ -47,30 +45,30 @@ void test01()
   state1 = is01.rdstate();
   is01 >> a;
   state2 = is01.rdstate();
-  test &=  a = i01;
+  VERIFY( a = i01 );
   // 22.2.2.1.2 num_get virtual functions
   // p 13
   // in any case, if stage 2 processing was terminated by the test for
   // in == end then err != ios_base::eofbit is performed.
-  test &= state1 != state2;
-  test &= state2 == stateeof
+  VERIFY( state1 != state2 );
+  VERIFY( state2 == stateeof )
 
   is01.str(str01);
   is01 >> b;
-  test &=  b != a
+  VERIFY( b != a )
   // as is01.good() is false, istream::sentry blocks extraction.
 
   is01.clear();
   state1 = is01.rdstate();
   is01 >> b;
   state2 = is01.rdstate();
-  test &=  b == a
-  test &= state1 != state2;
-  test &= state2 == stateeof
+  VERIFY( b == a )
+  VERIFY( state1 != state2 );
+  VERIFY( state2 == stateeof )
 
   // string str() const
   str02 = is01.str();
-  test &= str01 == str02;
+  VERIFY( str01 == str02 );
 
  #ifdef DEBUG_ASSERT
   assert(test);
index e79003312ac83c1403025fd26897066faf0ff1b8..3fbe3dda2437b46901306137de2ad3caa74735b9 100644 (file)
 #include <cstdlib>
 #include <cstring>
 #include <ctime>
+#include <debug_assert.h>
 
 // Include iostream last, just to make is as difficult as possible to
 // properly initialize the standard iostream objects.
 #include <iostream>
 
 // Make sure all the standard streams are defined.
-bool test01()
+int
+test01()
 {
   bool test = true;
 
@@ -83,17 +85,19 @@ bool test01()
   array1[i] = '\0';
   std::cout << "testing cout" << std::endl;
   std::cerr << "testing cerr" << std::endl;
-  test &= std::cerr.flags() & std::ios_base::unitbuf;
+  VERIFY( std::cerr.flags() & std::ios_base::unitbuf );
   std::clog << "testing clog" << std::endl;
   // std::cin >> array1; // requires somebody to type something in.
-  test &= std::cin.tie() == &std::cout;
+  VERIFY( std::cin.tie() == &std::cout );
 
-  return test;
+  return 0;
 }
 
 
-int main(void)
+int 
+main()
 {
   test01();
   return 0;
 }
+
index 76c5a1d5e7a6659ea94c391f543ccacd41cc172b..578ad1ff4eb71395de67a39d47057af0daa762e4 100644 (file)
@@ -20,9 +20,7 @@
 
 #include <ostream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 const char name_01[] = "testsuite/ofstream_members-1.tst";
 const char name_02[] = "testsuite/ofstream_members-1.txt";
@@ -35,15 +33,15 @@ bool test00()
   ofs1.close();
   
   // false as expected:
-  test &= !ofs1.is_open();
+  VERIFY( !ofs1.is_open() );
    // this is now true:
-  test &= !(ofs1);
+  VERIFY( !(ofs1) );
   
   ofs1.open(name_02);
-  test &= ofs1.is_open();
+  VERIFY( ofs1.is_open() );
   // fail bit still true
-  test &= !(ofs1);
-  test &= ofs1.rdstate() == std::ios_base::failbit;
+  VERIFY( !(ofs1) );
+  VERIFY( ofs1.rdstate() == std::ios_base::failbit );
 
   ofs1.close();
 
@@ -64,7 +62,7 @@ bool test01()
   for(int i = 0; ++i < more_than_max_open_files;)
     {
       std::ofstream ifs(name_02);
-      test &= static_cast<bool>(ifs);
+      VERIFY( static_cast<bool>(ifs) );
     }
 
 #ifdef DEBUG_ASSERT
index 88ec5e4818133b2ceb2ca68191ad6fde106e4e76..722ce1c4597e8594682bd3dd522917af2c4a5457 100644 (file)
@@ -24,7 +24,7 @@
 #include <locale>
 #include <sstream>
 #include <limits>
-#include <assert.h>
+#include <debug_assert.h>
 
 using namespace std;
 
@@ -187,8 +187,10 @@ void apply_formatting(const _TestCase & tc, basic_ostream<_CharT> & os)
     os.setf(ios::right);
 }
 
-void test01()
+int
+test01()
 {
+  bool test = true;
   for (int j=0; j<sizeof(testcases)/sizeof(testcases[0]); j++)
     {
       _TestCase & tc = testcases[j];
@@ -206,7 +208,7 @@ void test01()
 #ifdef TEST_NUMPUT_VERBOSE
         cout << "result: " << os.str() << endl;
 #endif
-        assert(os && os.str() == tc.result);
+        VERIFY( os && os.str() == tc.result );
       }
       // test long double with char type
       {
@@ -219,7 +221,7 @@ void test01()
 #ifdef TEST_NUMPUT_VERBOSE
         cout << "result: " << os.str() << endl;
 #endif
-        assert(os && os.str() == tc.result);
+        VERIFY( os && os.str() == tc.result );
       }
 #if _GLIBCPP_USE_WCHAR_T
       // test double with wchar_t type
@@ -230,7 +232,7 @@ void test01()
         os.imbue(__loc);
         apply_formatting(tc, os);
         os << tc.val;
-        assert(os && os.str() == tc.wresult);
+        VERIFY( os && os.str() == tc.wresult );
       }
       // test long double with wchar_t type
       {
@@ -240,14 +242,18 @@ void test01()
         os.imbue(__loc);
         apply_formatting(tc, os);
         os << (long double)tc.val;
-        assert(os && os.str() == tc.wresult);
+        VERIFY( os && os.str() == tc.wresult );
       }
 #endif
     }
+    
+  return 0;
 }
 
-void test02()
+int
+test02()
 {
+  bool test = true;
   // make sure we can output a very long float
   long double val = 1.2345678901234567890123456789e+1000L;
   int prec = numeric_limits<long double>::digits10;
@@ -263,10 +269,13 @@ void test02()
   cout << "expect: " << largebuf << endl;
   cout << "result: " << os.str() << endl;
 #endif
-  assert(os && os.str() == largebuf);
+  VERIFY(os && os.str() == largebuf);
+
+  return 0;
 }
 
-void test03()
+int 
+test03()
 {
   short s = -1;
   int i = -1;
@@ -279,24 +288,27 @@ void test03()
   ostream o(&strbuf);
 
   o << oct << s << ' ' << hex << s; 
-  test &= strbuf.str() == "177777 ffff"; // Assuming 2byte-shorts
+  VERIFY( strbuf.str() == "177777 ffff" ); // Assuming 2byte-shorts
   strbuf.str(str_blank);
 
   o << oct << i << ' ' << hex << i; 
-  test &= strbuf.str() == "37777777777 ffffffff";
+  VERIFY( strbuf.str() == "37777777777 ffffffff" );
   strbuf.str(str_blank);
 
   o << oct << l << ' ' << hex << l; 
-  test &= strbuf.str() == "37777777777 ffffffff";
+  VERIFY( strbuf.str() == "37777777777 ffffffff" );
   strbuf.str(str_blank);
 
   o << showpos << hex << showbase << 11;
-  test &= strbuf.str() == "0xb";
+  VERIFY( strbuf.str() == "0xb" );
   
-  assert(test);
+  VERIFY(test);
+  
+  return 0;
 }
 
-int main()
+int 
+main()
 {
   test01();
   test02();
index 893631e0ceb7110dc445e77cb60d0335a473ce4f..c22b53bf7886266e1e1e577978c0ce4400422658 100644 (file)
@@ -24,9 +24,7 @@
 #include <ostream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 // ofstream
 bool test01()
@@ -75,7 +73,7 @@ bool test02(void)
   oss01.flags(std::ios_base::left);
   oss01 << str01;
   tmp = oss01.str();
-  test &= tmp == "00000";
+  VERIFY( tmp == "00000" );
 
   std::string str02 = "1";
   std::ostringstream oss02;
@@ -84,7 +82,7 @@ bool test02(void)
   oss02.flags(std::ios_base::left);
   oss02 << str02;
   tmp = oss02.str();
-  test &= tmp == "10000";
+  VERIFY( tmp == "10000" );
 
   std::string str03 = "909909";
   std::ostringstream oss03;
@@ -93,7 +91,7 @@ bool test02(void)
   oss03.flags(std::ios_base::left);
   oss03 << str03;
   tmp = oss03.str();
-  test &= tmp == "909909";
+  VERIFY( tmp == "909909" );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -116,7 +114,7 @@ bool test03(void)
   oss01.flags(std::ios_base::right);
   oss01 << str01;
   tmp = oss01.str();
-  test &= tmp == "00000";
+  VERIFY( tmp == "00000" );
 
   std::string str02 = "1";
   std::ostringstream oss02;
@@ -125,7 +123,7 @@ bool test03(void)
   oss02.flags(std::ios_base::right);
   oss02 << str02;
   tmp = oss02.str();
-  test &= tmp == "00001";
+  VERIFY( tmp == "00001" );
 
   std::string str03 = "909909";
   std::ostringstream oss03;
@@ -134,7 +132,7 @@ bool test03(void)
   oss03.flags(std::ios_base::right);
   oss03 << str03;
   tmp = oss03.str();
-  test &= tmp == "909909";
+  VERIFY( tmp == "909909" );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -164,10 +162,10 @@ bool test04() {
   for (int i = 0; i < i_max; ++i) 
     oss_02 << "Test: " << i << std::endl;
   str_tmp = oss_02.str();
-  test &= !oss_02.bad();
-  test &= oss_02.good();
-  test &= str_tmp != str_01;
-  test &= str_tmp.size() == 2390;
+  VERIFY( !oss_02.bad() );
+  VERIFY( oss_02.good() );
+  VERIFY( str_tmp != str_01 );
+  VERIFY( str_tmp.size() == 2390 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -207,8 +205,8 @@ bool test05()
   sstr02 << str01;
   str05 = sstr01.str();
   str10 = sstr02.str();
-  test &= str05 == str01;
-  test &= str10 == str01;
+  VERIFY( str05 == str01 );
+  VERIFY( str10 == str01 );
 
   // test 2: in | out 
   std::ostringstream sstr04(str01,  std::ios_base::out | std::ios_base::in);
@@ -216,8 +214,8 @@ bool test05()
   sstr05 << str01;
   str05 = sstr04.str();
   str10 = sstr05.str();
-  test &= str05 == str01;
-  test &= str10 == str01;
+  VERIFY( str05 == str01 );
+  VERIFY( str10 == str01 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -236,21 +234,21 @@ void test06()
 
   // normal
   std::ostringstream ostr1("mos def");
-  test &= ostr1.str() == "mos def"
+  VERIFY( ostr1.str() == "mos def" )
   ostr1 << " & talib kweli";  // should overwrite first part of buffer
-  test &= ostr1.str() == " & talib kweli";
+  VERIFY( ostr1.str() == " & talib kweli" );
   ostr1 << " are black star";  // should append to string from above
-  test &= ostr1.str() != carray01;
-  test &= ostr1.str() == " & talib kweli are black star";
+  VERIFY( ostr1.str() != carray01 );
+  VERIFY( ostr1.str() == " & talib kweli are black star" );
 
   // appending
   std::ostringstream ostr2("blackalicious", 
                           std::ios_base::out | std::ios_base::ate);
-  test &= ostr2.str() == "blackalicious"
+  VERIFY( ostr2.str() == "blackalicious" )
   ostr2 << " NIA ";  // should not overwrite first part of buffer
-  test &= ostr2.str() == "blackalicious NIA ";
+  VERIFY( ostr2.str() == "blackalicious NIA " );
   ostr2 << "4: deception (5:19)";  // should append to full string from above
-  test &= ostr2.str() == "blackalicious NIA 4: deception (5:19)";
+  VERIFY( ostr2.str() == "blackalicious NIA 4: deception (5:19)" );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 0c8738e0692ea24b66cdbf2eecc58b2d5cd6eb2e..a62a218ae82a20d10b59ad0dbff3bb2efc8f50d9 100644 (file)
@@ -24,9 +24,7 @@
 #include <ostream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 const int size = 1000;
 const char name_01[] = "testsuite/ostream_inserter_other-1.tst";
@@ -36,16 +34,20 @@ const char name_04[] = "testsuite/ostream_inserter_other-2.txt";
 
 
 // stringstream
-bool test01() {
+int 
+test01() 
+{
   bool test = true;
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
-  return test;
+  return 0;
 }
 
 // fstream
-bool test02() {
+int
+test02() 
+{
   typedef std::ios_base::iostate iostate;
   bool test = true;
 
@@ -57,13 +59,13 @@ bool test02() {
   iostate state01 = f_in1.rdstate();
   f_in1 >> strbuf01;
   iostate state02 = f_in1.rdstate();
-  test &= state01 != state02;
-  test &= (state02 & std::ios_base::failbit) != 0;
+  VERIFY( state01 != state02 );
+  VERIFY( (state02 & std::ios_base::failbit) != 0 );
   state01 = f_out1.rdstate();
   f_out1 << strbuf01;
   state02 = f_out1.rdstate();
-  test &= state01 != state02;
-  test &= (state02 & std::ios_base::failbit) != 0;
+  VERIFY( state01 != state02 );
+  VERIFY( (state02 & std::ios_base::failbit) != 0 );
 
   // filebuf->filebuf
   std::ifstream f_in(name_01);
@@ -86,8 +88,8 @@ bool test02() {
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
-  return test;
+  
+  return 0;
 }
 
 // via Brent Verner <brent@rcfile.org>
@@ -130,7 +132,8 @@ test03(void)
   return 0;
 }
 
-int main()
+int 
+main()
 {
   test01();
   test02();
index e9b30c13f2f3c32d441d12feed09fa2ba77e9a99..17d376a8c8e88f010fc5c1d830e29fbf84bb88ae 100644 (file)
@@ -23,9 +23,7 @@
 #include <ostream>
 #include <sstream>
 #include <stdexcept>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 bool test01(void)
 {
@@ -47,33 +45,33 @@ bool test01(void)
 
   oss01 << std::endl;
   str04 = oss01.str();
-  test &= str04.size() == str01.size();
+  VERIFY( str04.size() == str01.size() );
 
   oss02 << std::endl;
   str05 = oss02.str();
-  test &= str05.size() == 1;
+  VERIFY( str05.size() == 1 );
 
   // template<_CharT, _Traits>
   //  basic_ostream<_CharT, _Traits>& ends(basic_ostream<_Char, _Traits>& os)
   oss01 << std::ends;
   str04 = oss01.str();
-  test &= str04.size() == str01.size();
-  test &= str04[1] == char();
+  VERIFY( str04.size() == str01.size() );
+  VERIFY( str04[1] == char() );
 
   oss02 << std::ends;
   str05 = oss02.str();
-  test &= str05.size() == 2;
-  test &= str05[1] == char();
+  VERIFY( str05.size() == 2 );
+  VERIFY( str05[1] == char() );
 
   // template<_CharT, _Traits>
   //  basic_ostream<_CharT, _Traits>& flush(basic_ostream<_Char, _Traits>& os)
   oss01.flush();
   str04 = oss01.str();
-  test &= str04.size() == str01.size();
+  VERIFY( str04.size() == str01.size() );
 
   oss02.flush();
   str05 = oss02.str();
-  test &= str05.size() == 2;
+  VERIFY( str05.size() == 2 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -94,7 +92,7 @@ bool test02()
   const string str_00("herbie_hancock");
   int_type len1 = str_00.size();
   osst_01 << str_00;
-  test &= osst_01.str().size() == len1;
+  VERIFY( osst_01.str().size() == len1 );
 
   osst_01 << ends;
 
@@ -102,8 +100,8 @@ bool test02()
   int_type len2 = str_01.size();
   osst_01 << str_01;
   int_type len3 = osst_01.str().size();
-  test &= len1 < len3;
-  test &= len3 == len1 + len2 + 1;
+  VERIFY( len1 < len3 );
+  VERIFY( len3 == len1 + len2 + 1 );
 
   osst_01 << ends;
 
@@ -111,8 +109,8 @@ bool test02()
   int_type len4 = str_02.size();
   osst_01 << str_02;
   int_type len5 = osst_01.str().size();
-  test &= len3 < len5;
-  test &= len5 == len3 + len4 + 1;
+  VERIFY( len3 < len5 );
+  VERIFY( len5 == len3 + len4 + 1 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index 4963d586aec92566cb720fa88c7fdb10054faeba..2f5404fa5ac3602ed557b097a2cebbd07963afaa 100644 (file)
@@ -23,9 +23,7 @@
 #include <ostream>
 #include <sstream>
 #include <fstream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 bool test01()
@@ -44,7 +42,7 @@ bool test01()
   ofstream ofs1;
   pos_type p2 = ofs1.tellp();
 
-  test &= p1 == p2;
+  VERIFY( p1 == p2 );
 
   // out
   // test ctors leave things in the same positions...
@@ -54,7 +52,7 @@ bool test01()
   ofstream ofs2(str_lit01);
   p2 = ofs2.tellp();
  
-  test &= p1 == p2;
+  VERIFY( p1 == p2 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -79,9 +77,9 @@ void test04(void)
   std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out);
   std::ifstream if02(str_lit01, std::ios_base::in);
   std::ifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc); 
-  test &= if01.good();
-  test &= if02.good();
-  test &= if03.good();
+  VERIFY( if01.good() );
+  VERIFY( if02.good() );
+  VERIFY( if03.good() );
 
   std::istream is01(if01.rdbuf());
   std::istream is02(if02.rdbuf());
@@ -91,20 +89,20 @@ void test04(void)
   // in | out
   pos01 = is01.tellp();
   pos02 = is01.tellp();
-  test &= pos01 == pos02;
-  //  test &= istream::pos_type(0) != pos01; //depricated
+  VERIFY( pos01 == pos02 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //depricated
 
   // in
   pos03 = is02.tellp();
   pos04 = is02.tellp();
-  test &= pos03 == pos04;
-  //  test &= istream::pos_type(0) != pos03; //depricated
+  VERIFY( pos03 == pos04 );
+  //  VERIFY( istream::pos_type(0) != pos03 ); //depricated
 
   // out
   pos05 = is03.tellp();
   pos06 = is03.tellp();
-  test &= pos05 == pos06;
-  //  test &= istream::pos_type(0) != pos01; //depricated
+  VERIFY( pos05 == pos06 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //depricated
 
   // istream& seekg(pos_type)
   // istream& seekg(off_type, ios_base::seekdir)
@@ -118,56 +116,56 @@ void test04(void)
   is01.seekg(10, std::ios_base::cur);
   state02 = is01.rdstate();
   pos01 = is01.tellp(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellp(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(10, std::ios_base::cur);
   state02 = is02.rdstate();
   pos03 = is02.tellp(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellp(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(10, std::ios_base::cur);
   state02 = is03.rdstate();
   pos05 = is03.tellp(); 
-  test &= pos05 == pos06 + 10
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 + 10 )
+  VERIFY( state01 == state02 );
   pos06 = is03.tellp(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
   // beg
   state01 = is01.rdstate();
   is01.seekg(20, std::ios_base::beg);
   state02 = is01.rdstate();
   pos01 = is01.tellp(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellp(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(20, std::ios_base::beg);
   state02 = is02.rdstate();
   pos03 = is02.tellp(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellp(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(20, std::ios_base::beg);
   state02 = is03.rdstate();
   pos05 = is03.tellp(); 
-  test &= pos05 == pos06 + 10;
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 + 10 );
+  VERIFY( state01 == state02 );
   pos06 = is03.tellp(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -184,9 +182,9 @@ void test05(void)
   std::ifstream if01(str_lit01);
   std::ifstream if02(str_lit01);
   std::ifstream if03(str_lit01);
-  test &= if01.good();
-  test &= if02.good();
-  test &= if03.good();
+  VERIFY( if01.good() );
+  VERIFY( if02.good() );
+  VERIFY( if03.good() );
 
   std::stringbuf strbuf01(std::ios_base::in | std::ios_base::out);
   if01 >> &strbuf01; 
@@ -203,20 +201,20 @@ void test05(void)
   // in | out
   pos01 = is01.tellp();
   pos02 = is01.tellp();
-  test &= pos01 == pos02;
-  // test &= istream::pos_type(0) != pos01; // deprecated
+  VERIFY( pos01 == pos02 );
+  // VERIFY( istream::pos_type(0) != pos01 ); // deprecated
 
   // in
   pos03 = is02.tellp();
   pos04 = is02.tellp();
-  test &= pos03 == pos04;
-  //  test &= istream::pos_type(0) != pos03; // deprecated
+  VERIFY( pos03 == pos04 );
+  //  VERIFY( istream::pos_type(0) != pos03 ); // deprecated
 
   // out
   pos05 = is03.tellp();
   pos06 = is03.tellp();
-  test &= pos05 == pos06;
-  //  test &= istream::pos_type(0) != pos01; //deprecated
+  VERIFY( pos05 == pos06 );
+  //  VERIFY( istream::pos_type(0) != pos01 ); //deprecated
 
   // istream& seekg(pos_type)
   // istream& seekg(off_type, ios_base::seekdir)
@@ -230,56 +228,56 @@ void test05(void)
   is01.seekg(10, std::ios_base::cur);
   state02 = is01.rdstate();
   pos01 = is01.tellp(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellp(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(10, std::ios_base::cur);
   state02 = is02.rdstate();
   pos03 = is02.tellp(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellp(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(10, std::ios_base::cur);
   state02 = is03.rdstate();
   pos05 = is03.tellp(); 
-  test &= pos05 == pos06; // as only out buffer 
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 ); // as only out buffer 
+  VERIFY( state01 == state02 );
   pos06 = is03.tellp(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
   // beg
   state01 = is01.rdstate();
   is01.seekg(20, std::ios_base::beg);
   state02 = is01.rdstate();
   pos01 = is01.tellp(); 
-  test &= pos01 == pos02 + 10
-  test &= state01 == state02;
+  VERIFY( pos01 == pos02 + 10 )
+  VERIFY( state01 == state02 );
   pos02 = is01.tellp(); 
-  test &= pos02 == pos01
+  VERIFY( pos02 == pos01 )
 
   state01 = is02.rdstate();
   is02.seekg(20, std::ios_base::beg);
   state02 = is02.rdstate();
   pos03 = is02.tellp(); 
-  test &= pos03 == pos04 + 10
-  test &= state01 == state02;
+  VERIFY( pos03 == pos04 + 10 )
+  VERIFY( state01 == state02 );
   pos04 = is02.tellp(); 
-  test &= pos03 == pos04
+  VERIFY( pos03 == pos04 )
 
   state01 = is03.rdstate();
   is03.seekg(20, std::ios_base::beg);
   state02 = is03.rdstate();
   pos05 = is03.tellp(); 
-  test &= pos05 == pos06; // as only out buffer 
-  test &= state01 == state02;
+  VERIFY( pos05 == pos06 ); // as only out buffer 
+  VERIFY( state01 == state02 );
   pos06 = is03.tellp(); 
-  test &= pos05 == pos06
+  VERIFY( pos05 == pos06 )
 
 #ifdef DEBUG_ASSERT
   assert(test);
index e3d1693cc16bcc77608598bd773cdf8a69fbe4b6..657aa79f372f809ef3af440f9143bee99b9db38f 100644 (file)
@@ -20,9 +20,7 @@
 
 #include <sstream>
 #include <ostream>
-#ifdef DEBUG_ASSERT
-  #include <assert.h>
-#endif
+#include <debug_assert.h>
 
 
 void test01()
@@ -36,13 +34,13 @@ void test01()
   ostringstream ost;
   pos_type pos1;
   pos1 = ost.tellp();
-  test &= pos1 == pos_type(-1);
+  VERIFY( pos1 == pos_type(-1) );
   ost << "RZA ";
   pos1 = ost.tellp();
-  test &= pos1 == pos_type(4);
+  VERIFY( pos1 == pos_type(4) );
   ost << "ghost dog: way of the samurai";
   pos1 = ost.tellp();
-  test &= pos1 == pos_type(33);
+  VERIFY( pos1 == pos_type(33) );
 
 #ifdef DEBUG_ASSERT
   assert(test);
index bdd4f16b058807d9643b08a05ee064f5932f97fd..8b7989f683130e2117ac0a0b68db28d186a3eac4 100644 (file)
@@ -31,9 +31,7 @@
 
 #include <streambuf>
 #include <ostream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 class testbuf : public std::streambuf
 {
@@ -50,12 +48,12 @@ public:
   check_pointers()
   { 
     bool test = true;
-    test &= this->eback() == NULL;
-    test &= this->gptr() == NULL;
-    test &= this->egptr() == NULL;
-    test &= this->pbase() == NULL;
-    test &= this->pptr() == NULL;
-    test &= this->epptr() == NULL;
+    VERIFY( this->eback() == NULL );
+    VERIFY( this->gptr() == NULL );
+    VERIFY( this->egptr() == NULL );
+    VERIFY( this->pbase() == NULL );
+    VERIFY( this->pptr() == NULL );
+    VERIFY( this->epptr() == NULL );
     return test;
   }
 
@@ -103,33 +101,33 @@ void test01()
   // default ctor initializes 
   // - all pointer members to null pointers
   // - locale to current global locale
-  test &= buf01.check_pointers();
-  test &= buf01.getloc() == std::locale();
+  VERIFY( buf01.check_pointers() );
+  VERIFY( buf01.getloc() == std::locale() );
 
   // 27.5.2.3.1 get area
   // 27.5.2.2.3 get area
   // 27.5.2.4.3 get area
   int i01 = 3;
   buf01.pub_setg(lit01, lit01, (lit01 + i01));
-  test &= i01 == buf01.in_avail();
+  VERIFY( i01 == buf01.in_avail() );
 
-  test &= buf01.pub_uflow() == lit01[0];
-  test &= buf01.sgetc() == traits_type::to_int_type(lit01[1]);
-  test &= buf01.pub_uflow() == lit01[1];
-  test &= buf01.sgetc() == traits_type::to_int_type(lit01[2]);
-  test &= buf01.pub_uflow() == lit01[2];
-  test &= buf01.sgetc() == traits_type::eof();
+  VERIFY( buf01.pub_uflow() == lit01[0] );
+  VERIFY( buf01.sgetc() == traits_type::to_int_type(lit01[1]) );
+  VERIFY( buf01.pub_uflow() == lit01[1] );
+  VERIFY( buf01.sgetc() == traits_type::to_int_type(lit01[2]) );
+  VERIFY( buf01.pub_uflow() == lit01[2] );
+  VERIFY( buf01.sgetc() == traits_type::eof() );
 
   // pbackfail
   buf01.pub_setg(lit01, lit01, (lit01 + i01));
-  test &= i01 == buf01.in_avail();
+  VERIFY( i01 == buf01.in_avail() );
   int_type intt01 = traits_type::to_int_type('b');
-  test &= traits_type::eof() == buf01.pub_pbackfail(intt01);
+  VERIFY( traits_type::eof() == buf01.pub_pbackfail(intt01) );
 
   // overflow
-  test &= traits_type::eof() == buf01.pub_overflow(intt01);
-  test &= traits_type::eof() == buf01.pub_overflow();
-  test &= buf01.sgetc() == traits_type::to_int_type(lit01[0]);
+  VERIFY( traits_type::eof() == buf01.pub_overflow(intt01) );
+  VERIFY( traits_type::eof() == buf01.pub_overflow() );
+  VERIFY( buf01.sgetc() == traits_type::to_int_type(lit01[0]) );
 
   // sputn/xsputn
   char* lit02 = "isotope 217: the unstable molecule on thrill jockey";
@@ -139,16 +137,16 @@ void test01()
 
   buf01.pub_setp(carray, (carray + i02));
   buf01.sputn(lit02, 0);
-  test &= carray[0] == 0;
-  test &= lit02[0] == 'i';
+  VERIFY( carray[0] == 0 );
+  VERIFY( lit02[0] == 'i' );
   buf01.sputn(lit02, 1);
-  test &= lit02[0] == carray[0];
-  test &= lit02[1] == 's';
-  test &= carray[1] == 0;
+  VERIFY( lit02[0] == carray[0] );
+  VERIFY( lit02[1] == 's' );
+  VERIFY( carray[1] == 0 );
   buf01.sputn(lit02 + 1, 10);
-  test &= memcmp(lit02, carray, 10) == 0;
+  VERIFY( memcmp(lit02, carray, 10) == 0 );
   buf01.sputn(lit02 + 11, 20);
-  test &= memcmp(lit02, carray, 30) == 0;
+  VERIFY( memcmp(lit02, carray, 30) == 0 );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -168,8 +166,8 @@ void test02()
   // default ctor initializes 
   // - all pointer members to null pointers
   // - locale to current global locale
-  test &= buf01.check_pointers();
-  test &= buf01.getloc() == std::locale();
+  VERIFY( buf01.check_pointers() );
+  VERIFY( buf01.getloc() == std::locale() );
 
   // 27.5.2.2.5 Put area
   size_t i01 = traits_type::length(lit01);
@@ -178,13 +176,13 @@ void test02()
   
   buf01.pub_setg(lit01, lit01, lit01 + i01);
   buf01.sgetn(carray01, 0);
-  test &= carray01[0] == 0;
+  VERIFY( carray01[0] == 0 );
   buf01.sgetn(carray01, 1);
-  test &= carray01[0] == 'c';
+  VERIFY( carray01[0] == 'c' );
   buf01.sgetn(carray01 + 1, i01 - 1);
-  test &= carray01[0] == 'c';
-  test &= carray01[1] == 'h';
-  test &= carray01[i01 - 1] == 'k';
+  VERIFY( carray01[0] == 'c' );
+  VERIFY( carray01[1] == 'h' );
+  VERIFY( carray01[i01 - 1] == 'k' );
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -227,7 +225,7 @@ void test03()
   test01 += print('x');
   test01 += print("pipo");
 
-  test &= test01 == control01;
+  VERIFY( test01 == control01 );
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
index 20deda41ea62b01d2d4070d86d5d357ec1893baf..556b0c09303d72b3646515967898e81f8fcc7b5c 100644 (file)
@@ -19,9 +19,7 @@
 // USA.
 
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 std::string str_01("mykonos. . . or what?");
 std::string str_02("paris, or sainte-maxime?");
@@ -59,20 +57,20 @@ bool test03() {
   std::string str_tmp;
 
   //stringbuf::str()
-  test &= strb_01.str() == str_01;
-  test &= strb_02.str() == str_02;
-  test &= strb_03.str() == str_03;
+  VERIFY( strb_01.str() == str_01 );
+  VERIFY( strb_02.str() == str_02 );
+  VERIFY( strb_03.str() == str_03 );
  
   //stringbuf::str(string&)
   strb_03.str("none of the above, go to the oberoi in cairo, egypt.");
   strb_03.str(str_01);
   std::streamsize d1 = strb_01.in_avail();
   std::streamsize d2 = strb_03.in_avail();
-  test &= d1; // non-zero
-  test &= !d2; // zero, cuz ios_base::out
-  test &= d1 != d2; //these should be the same
-  test &= str_01.length() == d1;  
-  test &= strb_01.str() == strb_03.str(); //ditto
+  VERIFY( d1 ); // non-zero
+  VERIFY( !d2 ); // zero, cuz ios_base::out
+  VERIFY( d1 != d2 ); //these should be the same
+  VERIFY( str_01.length() == d1 );  
+  VERIFY( strb_01.str() == strb_03.str() ); //ditto
 
 #ifdef DEBUG_ASSERT
   assert(test);
@@ -98,50 +96,50 @@ bool test04() {
   // int in_avail()
   strmof_1 = strb_01.in_avail();
   strmof_2 = strb_02.in_avail();
-  test &= strmof_1 != strmof_2;
-  test &= strmof_1 == str_01.length();
-  test &= strmof_2 == str_02.length();
+  VERIFY( strmof_1 != strmof_2 );
+  VERIFY( strmof_1 == str_01.length() );
+  VERIFY( strmof_2 == str_02.length() );
   strmof_1 = strb_03.in_avail(); 
-  test &= strmof_1 == 0; // zero cuz write-only, or eof()? zero, from showmany
+  VERIFY( strmof_1 == 0 ); // zero cuz write-only, or eof()? zero, from showmany
 
   // int_type sbumpc()
   // if read_cur not avail, return uflow(), else return *read_cur & increment
   int_type c1 = strb_01.sbumpc();
   int_type c2 = strb_02.sbumpc();
-  test &= c1 != c2;
-  test &= c1 == str_01[0];
-  test &= c2 == str_02[0]; //should equal first letter at this point
+  VERIFY( c1 != c2 );
+  VERIFY( c1 == str_01[0] );
+  VERIFY( c2 == str_02[0] ); //should equal first letter at this point
   int_type c3 = strb_01.sbumpc();
   int_type c4 = strb_02.sbumpc();
-  test &= c1 != c2;
-  test &= c1 != c3;
-  test &= c2 != c4;
+  VERIFY( c1 != c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( c2 != c4 );
   int_type c5 = strb_03.sbumpc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
 
   // int_type sgetc()
   // if read_cur not avail, return uflow(), else return *read_cur  
   int_type c6 = strb_01.sgetc();
   int_type c7 = strb_02.sgetc();
-  test &= c6 != c3;
-  test &= c7 != c4;
+  VERIFY( c6 != c3 );
+  VERIFY( c7 != c4 );
   int_type c8 = strb_01.sgetc();
   int_type c9 = strb_02.sgetc();
-  test &= c6 == c8;
-  test &= c7 == c9;
+  VERIFY( c6 == c8 );
+  VERIFY( c7 == c9 );
   c5 = strb_03.sgetc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
 
   // int_type snextc()
   // calls sbumpc and if sbumpc != eof, return sgetc
   c6 = strb_01.snextc();
   c7 = strb_02.snextc();
-  test &= c6 != c8;
-  test &= c7 != c9;
-  test &= c6 == str_01[3];
-  test &= c7 == str_02[3]; //should equal fourth letter at this point
+  VERIFY( c6 != c8 );
+  VERIFY( c7 != c9 );
+  VERIFY( c6 == str_01[3] );
+  VERIFY( c7 == str_02[3] ); //should equal fourth letter at this point
   c5 = strb_03.snextc();
-  test &= c5 == traits_type::eof();
+  VERIFY( c5 == traits_type::eof() );
 
   // int showmanyc
   // streamsize sgetn(char_type *s, streamsize n)
@@ -151,27 +149,27 @@ bool test04() {
   strmsz_1 = strb_01.in_avail();
   strmsz_2 = strb_02.in_avail();
   test = strmsz_1 != strmsz_2;
-  test &= strmsz_1 != str_01.length();
-  test &= strmsz_2 != str_02.length(); //because now we've moved into string
+  VERIFY( strmsz_1 != str_01.length() );
+  VERIFY( strmsz_2 != str_02.length() ); //because now we've moved into string
   char carray1[11] = "";
   strmsz_1 = strb_01.sgetn(carray1, 10);
   char carray2[20] = "";
   strmsz_2 = strb_02.sgetn(carray2, 10);
-  test &= strmsz_1 == strmsz_2;
-  test &= strmsz_1 == 10;
+  VERIFY( strmsz_1 == strmsz_2 );
+  VERIFY( strmsz_1 == 10 );
   c1 = strb_01.sgetc();
   c2 = strb_02.sgetc();
-  test &= c6 == c1; //just by co-incidence both o's
-  test &= c7 != c2; // n != i
-  test &= c1 == str_01[13];
-  test &= c2 == str_02[13]; //should equal fourteenth letter at this point
+  VERIFY( c6 == c1 ); //just by co-incidence both o's
+  VERIFY( c7 != c2 ); // n != i
+  VERIFY( c1 == str_01[13] );
+  VERIFY( c2 == str_02[13] ); //should equal fourteenth letter at this point
   strmsz_1 = strb_03.sgetn(carray1, 10);
-  test &= !strmsz_1; //zero
+  VERIFY( !strmsz_1 ); //zero
   strmsz_1 = strb_02.in_avail();
   strmsz_2 = strb_02.sgetn(carray2, strmsz_1 + 5);
-  test &= strmsz_1 == strmsz_2; //write off the end
+  VERIFY( strmsz_1 == strmsz_2 ); //write off the end
   c4 = strb_02.sgetc(); // should be EOF
-  test &= c4 == traits_type::eof();
+  VERIFY( c4 == traits_type::eof() );
 
   // PUT
   // int_type sputc(char_type c)
@@ -181,12 +179,12 @@ bool test04() {
   std::string::size_type sz1 = strb_03.str().length();
   c1 = strb_03.sputc('a'); 
   std::string::size_type sz2 = strb_03.str().length();
-  test &= sz1 == sz2; //cuz inserting at out_cur, which is at beg to start
+  VERIFY( sz1 == sz2 ); //cuz inserting at out_cur, which is at beg to start
   c2 = strb_03.sputc('b'); 
-  test &= c1 != c2;
-  test &= strb_03.str() != str_01;
+  VERIFY( c1 != c2 );
+  VERIFY( strb_03.str() != str_01 );
   c3 = strb_02.sputc('a'); // should be EOF because this is read-only
-  test &= c3 == traits_type::eof();
+  VERIFY( c3 == traits_type::eof() );
   
   // streamsize sputn(const char_typs* s, streamsize n)
   // write up to n chars to out_cur from s, returning number assigned
@@ -195,20 +193,20 @@ bool test04() {
   sz1 = str_tmp.length();
   strmsz_1 = strb_03.sputn("racadabras", 10);//"abracadabras or what?"
   sz2 = strb_03.str().length();
-  test &= sz1 == sz2; //shouldn't have changed length
-  test &= strmsz_1 == 10;
-  test &= str_tmp != strb_03.str();
+  VERIFY( sz1 == sz2 ); //shouldn't have changed length
+  VERIFY( strmsz_1 == 10 );
+  VERIFY( str_tmp != strb_03.str() );
   strmsz_2 = strb_03.sputn(", i wanna reach out and", 10);
-  test &= strmsz_1 == strmsz_2; // should re-allocate, copy 10 chars.
-  test &= strmsz_1 == 10;
-  test &= strmsz_2 == 10;
+  VERIFY( strmsz_1 == strmsz_2 ); // should re-allocate, copy 10 chars.
+  VERIFY( strmsz_1 == 10 );
+  VERIFY( strmsz_2 == 10 );
   sz2 = strb_03.str().length();
-  test &= sz1 != sz2; // need to change length
-  test &= str_tmp != strb_03.str();
+  VERIFY( sz1 != sz2 ); // need to change length
+  VERIFY( str_tmp != strb_03.str() );
   str_tmp = strb_02.str();
   strmsz_1 = strb_02.sputn("racadabra", 10);
-  test &= strmsz_1 == 0;  
-  test &= str_tmp == strb_02.str();
+  VERIFY( strmsz_1 == 0 );  
+  VERIFY( str_tmp == strb_02.str() );
 
   // PUTBACK
   // int_type pbfail(int_type c)
@@ -230,22 +228,22 @@ bool test04() {
   c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?"
   c2 = strb_01.sputbackc('z');//"mykonos. . .zor what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 == c2;
-  test &= strb_01.str() == std::string("mykonos. . .zor what?");
-  test &= str_tmp.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( strb_01.str() == std::string("mykonos. . .zor what?") );
+  VERIFY( str_tmp.size() == strb_01.str().size() );
   //test for _in_cur == _in_beg
   strb_01.str(str_tmp);
   strmsz_1 = strb_01.in_avail();
   c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?"
   c2 = strb_01.sputbackc('z');//"mykonos. . . or what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 != c2;
-  test &= c1 == c3;
-  test &= c2 == traits_type::eof();
-  test &= strb_01.str() == str_tmp;
-  test &= str_tmp.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 != c2 );
+  VERIFY( c1 == c3 );
+  VERIFY( c2 == traits_type::eof() );
+  VERIFY( strb_01.str() == str_tmp );
+  VERIFY( str_tmp.size() == strb_01.str().size() );
   // test for replacing char with identical one
   strb_01.str(str_01); //reset
   strmsz_1 = strb_01.in_avail();
@@ -254,15 +252,15 @@ bool test04() {
   c1 = strb_01.sgetc(); //"my'k'onos. . . or what?"
   c2 = strb_01.sputbackc('y');//"mykonos. . . or what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 == c2;
-  test &= c1 != c3;
-  test &= strb_01.str() == str_01;
-  test &= str_01.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( strb_01.str() == str_01 );
+  VERIFY( str_01.size() == strb_01.str().size() );
   //test for ios_base::out
   strmsz_2 = strb_03.in_avail();
   c4 = strb_03.sputbackc('x');
-  test &= c4 == traits_type::eof();
+  VERIFY( c4 == traits_type::eof() );
 
   // int_type sungetc()
   // if in_cur not avail, return pbackfail(), else decrement and
@@ -274,24 +272,24 @@ bool test04() {
   c1 = strb_01.sgetc(); //"mykonos. . . 'o'r what?"
   c2 = strb_01.sungetc();//"mykonos. . . or what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 == c2;
-  test &= c1 != c3;
-  test &= c2 == ' ';
-  test &= strb_01.str() == str_01;
-  test &= str_01.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( c2 == ' ' );
+  VERIFY( strb_01.str() == str_01 );
+  VERIFY( str_01.size() == strb_01.str().size() );
   //test for _in_cur == _in_beg
   strb_01.str(str_tmp);
   strmsz_1 = strb_01.in_avail();
   c1 = strb_01.sgetc(); //"'m'ykonos. . . or what?"
   c2 = strb_01.sungetc();//"mykonos. . . or what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 != c2;
-  test &= c1 == c3;
-  test &= c2 == traits_type::eof();
-  test &= strb_01.str() == str_01;
-  test &= str_01.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 != c2 );
+  VERIFY( c1 == c3 );
+  VERIFY( c2 == traits_type::eof() );
+  VERIFY( strb_01.str() == str_01 );
+  VERIFY( str_01.size() == strb_01.str().size() );
   // test for replacing char with identical one
   strb_01.str(str_01); //reset
   strmsz_1 = strb_01.in_avail();
@@ -300,15 +298,15 @@ bool test04() {
   c1 = strb_01.sgetc(); //"my'k'onos. . . or what?"
   c2 = strb_01.sungetc();//"mykonos. . . or what?"
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= c3 == c2;
-  test &= c1 != c3;
-  test &= strb_01.str() == str_01;
-  test &= str_01.size() == strb_01.str().size();
+  VERIFY( c1 != c2 );
+  VERIFY( c3 == c2 );
+  VERIFY( c1 != c3 );
+  VERIFY( strb_01.str() == str_01 );
+  VERIFY( str_01.size() == strb_01.str().size() );
   //test for ios_base::out
   strmsz_2 = strb_03.in_avail();
   c4 = strb_03.sungetc();
-  test &= c4 == traits_type::eof();
+  VERIFY( c4 == traits_type::eof() );
 
   // BUFFER MANAGEMENT & POSITIONING
   // sync
@@ -321,9 +319,9 @@ bool test04() {
   // pubsetbuf(char_type* s, streamsize n)
   str_tmp = std::string("naaaah, go to cebu");
   strb_01.pubsetbuf(const_cast<char*> (str_tmp.c_str()), str_tmp.size());
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
   strb_01.pubsetbuf(0,0);
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
 
   // seekoff
   // pubseekoff(off_type off, ios_base::seekdir way, ios_base::openmode which)
@@ -339,31 +337,31 @@ bool test04() {
   //beg
   pt_1 = strb_01.pubseekoff(2, std::ios_base::beg);
   off_1 = pt_1;
-  test &= off_1 >= 0;
+  VERIFY( off_1 >= 0 );
   c1 = strb_01.snextc(); //current in pointer +1
-  test &= c1 == 'o';
+  VERIFY( c1 == 'o' );
   c2 = strb_01.sputc('x');  //test current out pointer
   str_tmp = std::string("myxonos. . . or what?");
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
   //cur
   pt_1 = strb_01.pubseekoff(2, std::ios_base::cur);
   off_1 = pt_1;
-  test &= off_1 == -1; // can't seekoff for in and out + cur in sstreams
+  VERIFY( off_1 == -1 ); // can't seekoff for in and out + cur in sstreams
   pt_1 = strb_01.pubseekoff(2, std::ios_base::cur, std::ios_base::in);
   off_1 = pt_1;
   pt_2 = strb_01.pubseekoff(2, std::ios_base::cur, std::ios_base::in);
   off_2 = pt_2;
-  test &= off_2 == off_1 + 2;
+  VERIFY( off_2 == off_1 + 2 );
   c1 = strb_01.snextc(); //current in pointer + 1
-  test &= c1 == ' ';
+  VERIFY( c1 == ' ' );
   c2 = strb_01.sputc('x');  //test current out pointer
   str_tmp = std::string("myxxnos. . . or what?");
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
   //end
   pt_2 = strb_01.pubseekoff(2, std::ios_base::end);
   off_1 = pt_2;
-  test &= off_1 == -1; // not a valid position
-  test &= strb_01.str() == str_tmp;
+  VERIFY( off_1 == -1 ); // not a valid position
+  VERIFY( strb_01.str() == str_tmp );
   // end part two (from the filebuf tests)
   strb_01.pubseekoff(0, std::ios_base::end);
   strmsz_1 = strb_01.in_avail(); // 0 cuz at the end
@@ -371,16 +369,16 @@ bool test04() {
   c2 = strb_01.sungetc();
   strmsz_2 = strb_01.in_avail(); // 1
   c3 = strb_01.sgetc();
-  test &= c1 != c2;
-  test &= strmsz_2 != strmsz_1;
-  test &= strmsz_2 == 1;
+  VERIFY( c1 != c2 );
+  VERIFY( strmsz_2 != strmsz_1 );
+  VERIFY( strmsz_2 == 1 );
   // end part three
   strmsz_1 = strb_01.str().size();
   strmsz_2 = strb_01.sputn(" ravi shankar meets carlos santana in LoHa", 90);
   strb_01.pubseekoff(0, std::ios_base::end);
   strb_01.sputc('<');
   str_tmp = strb_01.str();
-  test &= str_tmp.size() == strmsz_1 + strmsz_2 + 1;
+  VERIFY( str_tmp.size() == strmsz_1 + strmsz_2 + 1 );
   // IN
   // OUT
 
@@ -394,23 +392,23 @@ bool test04() {
   //beg
   pt_1 = strb_01.pubseekoff(2, std::ios_base::beg);
   off_1 = pt_1;
-  test &= off_1 >= 0;
+  VERIFY( off_1 >= 0 );
   pt_1 = strb_01.pubseekoff(0, std::ios_base::cur, std::ios_base::out);
   off_1 = pt_1;
   c1 = strb_01.snextc(); //current in pointer +1
-  test &= c1 == 'o';
+  VERIFY( c1 == 'o' );
   c2 = strb_01.sputc('x');  //test current out pointer
   str_tmp = std::string("myxonos. . . or what?");
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
   strb_01.pubsync(); //resets pointers
   pt_2 = strb_01.pubseekpos(pt_1, std::ios_base::in|std::ios_base::out);
   off_2 = pt_2;
-  test &= off_1 == off_2;
+  VERIFY( off_1 == off_2 );
   c3 = strb_01.snextc(); //current in pointer +1
-  test &= c1 == c3;
+  VERIFY( c1 == c3 );
   c2 = strb_01.sputc('x');  //test current out pointer
   str_tmp = std::string("myxonos. . . or what?");
-  test &= strb_01.str() == str_tmp;
+  VERIFY( strb_01.str() == str_tmp );
 
   // VIRTUALS (indirectly tested)
   // underflow
index fc72e95f51e0f157e511fa01be5647e891a18173..361e087edd935a5013d764bed7cf6609a92393fe 100644 (file)
 #include <vector>
 #include <string>
 #include <sstream>
-#ifdef DEBUG_ASSERT
-#include <assert.h>
-#endif
+#include <debug_assert.h>
 
 // 01: sanity checks for strings, stringbufs
-std::string test01()
+std::string 
+test01()
 {
   bool test = false;
 
@@ -47,7 +46,7 @@ std::string test01()
   std::string::iterator __i_end = str01.end();
   std::string::size_type len = str01.size();
   test = __i_start == __i_end;
-  test &= len == 0;
+  VERIFY( len == 0 );
 
   // Full string sanity check.
   std::string str02("these golden days, i spend waiting for you:\n 
@@ -55,8 +54,8 @@ std::string test01()
   __i_start = str02.begin();
   __i_end = str02.end();
   len = str02.size();
-  test &= __i_start != __i_end;
-  test &= len != 0;
+  VERIFY( __i_start != __i_end );
+  VERIFY( len != 0 );
  
   // Test an empty ostring stream for sanity.
   std::ostringstream ostrstream0;
@@ -64,16 +63,17 @@ std::string test01()
   __i_start = str03.begin();
   __i_end = str03.end();
   len = str03.size();
-  test &= __i_start == __i_end;
-  test &= len == 0;
-  test &= str01 == str03;
+  VERIFY( __i_start == __i_end );
+  VERIFY( len == 0 );
+  VERIFY( str01 == str03 );
 
   return str02;
 }
 
 
-bool test02(void) {
-
+int
+test02()
+{
   bool test = true;
 
   //
@@ -96,8 +96,8 @@ bool test02(void) {
 
   std::string msg01 = ostrst01.str();
   std::string msg02 = ostrst02.str();
-  test &= msg01 != msg02;
-  test &= msg02 != blank;
+  VERIFY( msg01 != msg02 );
+  VERIFY( msg02 != blank );
 
   //
   // 2: istringstream
@@ -113,10 +113,10 @@ bool test02(void) {
   istrst01 >> i2 >> pi2 >> d2 >> pd2;
   //istrst01 >> i2;
   //istrst01 >> pi2;
-  test &= i2 == i;
-  test &= d2 == d;
-  test &= pd2 == pd;
-  test &= pi2 == pi;
+  VERIFY( i2 == i );
+  VERIFY( d2 == d );
+  VERIFY( pd2 == pd );
+  VERIFY( pi2 == pi );
 #endif
 
   // stringstream
@@ -125,7 +125,7 @@ bool test02(void) {
   std::stringstream ss1(str1, std::ios_base::in|std::ios_base::out);
   std::stringstream ss2(str3, std::ios_base::in|std::ios_base::out);
 
-  return test;
+  return 0;
 }
 
 // user-reported error
@@ -135,25 +135,29 @@ public:
   derived_oss() : std::ostringstream() {}
 };
 
-bool test03()
+int
+test03()
 {
   bool test = true;
   derived_oss yy;
   yy << "buena vista social club\n";
-  test &= yy.str() == std::string("buena vista social club\n");
+  VERIFY( yy.str() == std::string("buena vista social club\n") );
 
 #ifdef DEBUG_ASSERT
   assert(test);
 #endif
 
-  return test;
+  return 0;
 }
 
-int main() 
+int 
+main() 
 {
   test01();
   test02();
   test03();
+  
+  return 0;
 }
 
 
index 5901d08d0e94614b5749c15d2a250a1171e8b331..91cb21be7652c05bc68a511bc6925dbfcdd5d477 100644 (file)
   #include <cwchar>
   #include <cwctype>
 #endif
+#include <debug_assert.h>
 
 // Include iostream last, just to make is as difficult as possible to
 // properly initialize the standard iostream objects.
 #include <iostream>
 
 // Make sure all the standard streams are defined.
-bool test01()
+int
+test01()
 {
   bool test = true;
 
@@ -88,18 +90,20 @@ bool test01()
   wtraits_type::copy(array2, L"testing istream", wi);
   std::wcout << L"testing wcout" << std::endl;
   std::wcerr << L"testing wcerr" << std::endl;
-  test &= std::wcerr.flags() & std::ios_base::unitbuf;
+  VERIFY( std::wcerr.flags() & std::ios_base::unitbuf );
   std::wclog << L"testing wclog" << std::endl;
   // std::wcin >> array2; // requires somebody to type something in.
-  test &= std::wcin.tie() == &std::wcout;
+  VERIFY( std::wcin.tie() == &std::wcout );
 #endif
 
-  return test;
+  return 0;
 }
 
 
-int main(void)
+int 
+main()
 {
   test01();
+  
   return 0;
 }