From 45ce0ebff7e5b50b34f848d1c20aa7734ff481e3 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Thu, 2 Nov 2023 20:32:46 +0800 Subject: [PATCH] tests: use modern boost.test macros --- test/CMakeLists.txt | 2 + test/Jamfile.v2 | 1 + test/destructor_test.cpp | 12 +-- test/freelist_test.cpp | 4 +- test/queue_test.cpp | 84 ++++++++++---------- test/spsc_queue_stress_test.cpp | 18 ++--- test/spsc_queue_test.cpp | 136 ++++++++++++++++---------------- test/stack_test.cpp | 122 ++++++++++++++-------------- test/tagged_ptr_test.cpp | 14 ++-- test/test_common.hpp | 10 +-- test/test_helpers.hpp | 2 +- 11 files changed, 204 insertions(+), 201 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2c2b1358..9b2481a4 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -32,6 +32,8 @@ foreach(Test ${Tests}) Boost::foreach ) + target_compile_definitions(boost_lockfree_${Test} PRIVATE BOOST_TEST_NO_OLD_TOOLS ) + # CTest Target add_test(NAME boost_lockfree_${Test} COMMAND boost_lockfree_${Test}) add_dependencies(boost_lockfree_all_tests boost_lockfree_${Test} ) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 3b7dd27f..7e698434 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -36,6 +36,7 @@ rule test_all ../../thread/build//boost_thread/ multi static + BOOST_TEST_NO_OLD_TOOLS ] ; } diff --git a/test/destructor_test.cpp b/test/destructor_test.cpp index 27f43ee2..61d81f33 100644 --- a/test/destructor_test.cpp +++ b/test/destructor_test.cpp @@ -47,7 +47,7 @@ BOOST_AUTO_TEST_CASE( stack_instance_deleter_test ) } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } @@ -63,7 +63,7 @@ BOOST_AUTO_TEST_CASE( spsc_queue_instance_deleter_test ) } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } BOOST_AUTO_TEST_CASE( spsc_queue_fixed_sized_instance_deleter_test ) @@ -78,7 +78,7 @@ BOOST_AUTO_TEST_CASE( spsc_queue_fixed_sized_instance_deleter_test ) } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } struct no_default_init_tester @@ -116,7 +116,7 @@ BOOST_AUTO_TEST_CASE( stack_instance_deleter_no_default_init_test ) } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } @@ -132,7 +132,7 @@ BOOST_AUTO_TEST_CASE( spsc_queue_instance_deleter_no_default_init_test ) } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } BOOST_AUTO_TEST_CASE( spsc_queue_fixed_sized_instance_deleter_no_default_init_test ) @@ -147,5 +147,5 @@ BOOST_AUTO_TEST_CASE( spsc_queue_fixed_sized_instance_deleter_no_default_init_te } assert( g_instance_counter == 0 ); - BOOST_REQUIRE( g_instance_counter == 0 ); + BOOST_TEST_REQUIRE( g_instance_counter == 0 ); } diff --git a/test/freelist_test.cpp b/test/freelist_test.cpp index fa2fe71b..02990b39 100644 --- a/test/freelist_test.cpp +++ b/test/freelist_test.cpp @@ -62,7 +62,7 @@ void run_test( void ) for ( int i = 0; i != 4; ++i ) { dummy* allocated = fl.template construct< threadsafe, bounded >(); - BOOST_REQUIRE( nodes.find( allocated ) == nodes.end() ); + BOOST_TEST_REQUIRE( ( nodes.find( allocated ) == nodes.end() ) ); nodes.insert( allocated ); } @@ -107,7 +107,7 @@ void oom_test( void ) fl.template construct< threadsafe, bounded >(); dummy* allocated = fl.template construct< threadsafe, bounded >(); - BOOST_REQUIRE( allocated == NULL ); + BOOST_TEST_REQUIRE( allocated == (dummy*)NULL ); } BOOST_AUTO_TEST_CASE( oom_tests ) diff --git a/test/queue_test.cpp b/test/queue_test.cpp index 28e50bc9..56b77d54 100644 --- a/test/queue_test.cpp +++ b/test/queue_test.cpp @@ -28,40 +28,40 @@ BOOST_AUTO_TEST_CASE( simple_queue_test ) { queue< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); + BOOST_TEST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); int i1( 0 ), i2( 0 ); - BOOST_REQUIRE( f.pop( i1 ) ); - BOOST_REQUIRE_EQUAL( i1, 1 ); + BOOST_TEST_REQUIRE( f.pop( i1 ) ); + BOOST_TEST_REQUIRE( i1 == 1 ); - BOOST_REQUIRE( f.pop( i2 ) ); - BOOST_REQUIRE_EQUAL( i2, 2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.pop( i2 ) ); + BOOST_TEST_REQUIRE( i2 == 2 ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( simple_queue_test_capacity ) { queue< int, capacity< 64 > > f; - BOOST_WARN( f.is_lock_free() ); + BOOST_TEST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); int i1( 0 ), i2( 0 ); - BOOST_REQUIRE( f.pop( i1 ) ); - BOOST_REQUIRE_EQUAL( i1, 1 ); + BOOST_TEST_REQUIRE( f.pop( i1 ) ); + BOOST_TEST_REQUIRE( i1 == 1 ); - BOOST_REQUIRE( f.pop( i2 ) ); - BOOST_REQUIRE_EQUAL( i2, 2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.pop( i2 ) ); + BOOST_TEST_REQUIRE( i2 == 2 ); + BOOST_TEST_REQUIRE( f.empty() ); } @@ -69,20 +69,20 @@ BOOST_AUTO_TEST_CASE( unsafe_queue_test ) { queue< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); int i1( 0 ), i2( 0 ); f.unsynchronized_push( 1 ); f.unsynchronized_push( 2 ); - BOOST_REQUIRE( f.unsynchronized_pop( i1 ) ); - BOOST_REQUIRE_EQUAL( i1, 1 ); + BOOST_TEST_REQUIRE( f.unsynchronized_pop( i1 ) ); + BOOST_TEST_REQUIRE( i1 == 1 ); - BOOST_REQUIRE( f.unsynchronized_pop( i2 ) ); - BOOST_REQUIRE_EQUAL( i2, 2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.unsynchronized_pop( i2 ) ); + BOOST_TEST_REQUIRE( i2 == 2 ); + BOOST_TEST_REQUIRE( f.empty() ); } @@ -90,8 +90,8 @@ BOOST_AUTO_TEST_CASE( queue_consume_one_test ) { queue< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -101,26 +101,26 @@ BOOST_AUTO_TEST_CASE( queue_consume_one_test ) bool success2 = f.consume_one( test_equal( 2 ) ); #else bool success1 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 1 ); + BOOST_TEST_REQUIRE( i == 1 ); } ); bool success2 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 2 ); + BOOST_TEST_REQUIRE( i == 2 ); } ); #endif - BOOST_REQUIRE( success1 ); - BOOST_REQUIRE( success2 ); + BOOST_TEST_REQUIRE( success1 ); + BOOST_TEST_REQUIRE( success2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( queue_consume_all_test ) { queue< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -131,16 +131,16 @@ BOOST_AUTO_TEST_CASE( queue_consume_all_test ) size_t consumed = f.consume_all( []( int i ) {} ); #endif - BOOST_REQUIRE_EQUAL( consumed, 2u ); + BOOST_TEST_REQUIRE( consumed == 2u ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( queue_convert_pop_test ) { queue< int* > f( 128 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( new int( 1 ) ); f.push( new int( 2 ) ); f.push( new int( 3 ) ); @@ -149,16 +149,16 @@ BOOST_AUTO_TEST_CASE( queue_convert_pop_test ) { int* i1; - BOOST_REQUIRE( f.pop( i1 ) ); - BOOST_REQUIRE_EQUAL( *i1, 1 ); + BOOST_TEST_REQUIRE( f.pop( i1 ) ); + BOOST_TEST_REQUIRE( *i1 == 1 ); delete i1; } { boost::shared_ptr< int > i2; - BOOST_REQUIRE( f.pop( i2 ) ); - BOOST_REQUIRE_EQUAL( *i2, 2 ); + BOOST_TEST_REQUIRE( f.pop( i2 ) ); + BOOST_TEST_REQUIRE( *i2 == 2 ); } { @@ -167,20 +167,20 @@ BOOST_AUTO_TEST_CASE( queue_convert_pop_test ) #else auto_ptr< int > i3; #endif - BOOST_REQUIRE( f.pop( i3 ) ); + BOOST_TEST_REQUIRE( f.pop( i3 ) ); - BOOST_REQUIRE_EQUAL( *i3, 3 ); + BOOST_TEST_REQUIRE( *i3 == 3 ); } { boost::shared_ptr< int > i4; - BOOST_REQUIRE( f.pop( i4 ) ); + BOOST_TEST_REQUIRE( f.pop( i4 ) ); - BOOST_REQUIRE_EQUAL( *i4, 4 ); + BOOST_TEST_REQUIRE( *i4 == 4 ); } - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( reserve_test ) diff --git a/test/spsc_queue_stress_test.cpp b/test/spsc_queue_stress_test.cpp index b27a0f68..45d15bdf 100644 --- a/test/spsc_queue_stress_test.cpp +++ b/test/spsc_queue_stress_test.cpp @@ -95,7 +95,7 @@ struct spsc_queue_tester { running = true; - BOOST_REQUIRE( sf.empty() ); + BOOST_TEST_REQUIRE( sf.empty() ); boost::thread reader( boost::bind( &spsc_queue_tester::get, this ) ); boost::thread writer( boost::bind( &spsc_queue_tester::add, this ) ); @@ -106,10 +106,10 @@ struct spsc_queue_tester reader.join(); - BOOST_REQUIRE_EQUAL( received_nodes, nodes_per_thread ); - BOOST_REQUIRE_EQUAL( spsc_queue_cnt, 0 ); - BOOST_REQUIRE( sf.empty() ); - BOOST_REQUIRE( working_set.count_nodes() == 0 ); + BOOST_TEST_REQUIRE( received_nodes == nodes_per_thread ); + BOOST_TEST_REQUIRE( spsc_queue_cnt == 0 ); + BOOST_TEST_REQUIRE( sf.empty() ); + BOOST_TEST_REQUIRE( working_set.count_nodes() == 0 ); } }; @@ -210,10 +210,10 @@ struct spsc_queue_tester_buffering reader.join(); - BOOST_REQUIRE_EQUAL( received_nodes, nodes_per_thread ); - BOOST_REQUIRE_EQUAL( spsc_queue_cnt, 0 ); - BOOST_REQUIRE( sf.empty() ); - BOOST_REQUIRE( working_set.count_nodes() == 0 ); + BOOST_TEST_REQUIRE( received_nodes == nodes_per_thread ); + BOOST_TEST_REQUIRE( spsc_queue_cnt == 0 ); + BOOST_TEST_REQUIRE( sf.empty() ); + BOOST_TEST_REQUIRE( working_set.count_nodes() == 0 ); } }; diff --git a/test/spsc_queue_test.cpp b/test/spsc_queue_test.cpp index 2347bd5b..2a8cb324 100644 --- a/test/spsc_queue_test.cpp +++ b/test/spsc_queue_test.cpp @@ -27,36 +27,36 @@ BOOST_AUTO_TEST_CASE( simple_spsc_queue_test ) { spsc_queue< int, capacity< 64 > > f; - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); int i1( 0 ), i2( 0 ); - BOOST_REQUIRE( f.pop( i1 ) ); - BOOST_REQUIRE_EQUAL( i1, 1 ); + BOOST_TEST_REQUIRE( f.pop( i1 ) ); + BOOST_TEST_REQUIRE( i1 == 1 ); - BOOST_REQUIRE( f.pop( i2 ) ); - BOOST_REQUIRE_EQUAL( i2, 2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.pop( i2 ) ); + BOOST_TEST_REQUIRE( i2 == 2 ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( simple_spsc_queue_test_compile_time_size ) { spsc_queue< int > f( 64 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); int i1( 0 ), i2( 0 ); - BOOST_REQUIRE( f.pop( i1 ) ); - BOOST_REQUIRE_EQUAL( i1, 1 ); + BOOST_TEST_REQUIRE( f.pop( i1 ) ); + BOOST_TEST_REQUIRE( i1 == 1 ); - BOOST_REQUIRE( f.pop( i2 ) ); - BOOST_REQUIRE_EQUAL( i2, 2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.pop( i2 ) ); + BOOST_TEST_REQUIRE( i2 == 2 ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( ranged_push_test ) @@ -65,14 +65,14 @@ BOOST_AUTO_TEST_CASE( ranged_push_test ) int data[ 2 ] = { 1, 2 }; - BOOST_REQUIRE_EQUAL( stk.push( data, data + 2 ), data + 2 ); + BOOST_TEST_REQUIRE( stk.push( data, data + 2 ) == data + 2 ); int out; - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( !stk.pop( out ) ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( !stk.pop( out ) ); } BOOST_AUTO_TEST_CASE( spsc_queue_consume_one_test ) @@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE( spsc_queue_consume_one_test ) spsc_queue< int > f( 64 ); BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -90,18 +90,18 @@ BOOST_AUTO_TEST_CASE( spsc_queue_consume_one_test ) bool success2 = f.consume_one( test_equal( 2 ) ); #else bool success1 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 1 ); + BOOST_TEST_REQUIRE( i == 1 ); } ); bool success2 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 2 ); + BOOST_TEST_REQUIRE( i == 2 ); } ); #endif - BOOST_REQUIRE( success1 ); - BOOST_REQUIRE( success2 ); + BOOST_TEST_REQUIRE( success1 ); + BOOST_TEST_REQUIRE( success2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( spsc_queue_consume_all_test ) @@ -109,7 +109,7 @@ BOOST_AUTO_TEST_CASE( spsc_queue_consume_all_test ) spsc_queue< int > f( 64 ); BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -120,9 +120,9 @@ BOOST_AUTO_TEST_CASE( spsc_queue_consume_all_test ) size_t consumed = f.consume_all( []( int i ) {} ); #endif - BOOST_REQUIRE_EQUAL( consumed, 2u ); + BOOST_TEST_REQUIRE( consumed == 2u ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } enum @@ -137,26 +137,26 @@ BOOST_AUTO_TEST_CASE( spsc_queue_capacity_test ) { spsc_queue< int, capacity< 2 > > f; - BOOST_REQUIRE( f.push( 1 ) ); - BOOST_REQUIRE( f.push( 2 ) ); - BOOST_REQUIRE( !f.push( 3 ) ); + BOOST_TEST_REQUIRE( f.push( 1 ) ); + BOOST_TEST_REQUIRE( f.push( 2 ) ); + BOOST_TEST_REQUIRE( !f.push( 3 ) ); spsc_queue< int > g( 2 ); - BOOST_REQUIRE( g.push( 1 ) ); - BOOST_REQUIRE( g.push( 2 ) ); - BOOST_REQUIRE( !g.push( 3 ) ); + BOOST_TEST_REQUIRE( g.push( 1 ) ); + BOOST_TEST_REQUIRE( g.push( 2 ) ); + BOOST_TEST_REQUIRE( !g.push( 3 ) ); } template < typename QueueType > void spsc_queue_avail_test_run( QueueType& q ) { - BOOST_REQUIRE_EQUAL( q.write_available(), 16 ); - BOOST_REQUIRE_EQUAL( q.read_available(), 0 ); + BOOST_TEST_REQUIRE( q.write_available() == 16 ); + BOOST_TEST_REQUIRE( q.read_available() == 0 ); for ( size_t i = 0; i != 8; ++i ) { - BOOST_REQUIRE_EQUAL( q.write_available(), 16 - i ); - BOOST_REQUIRE_EQUAL( q.read_available(), i ); + BOOST_TEST_REQUIRE( q.write_available() == 16 - i ); + BOOST_TEST_REQUIRE( q.read_available() == i ); q.push( 1 ); } @@ -166,8 +166,8 @@ void spsc_queue_avail_test_run( QueueType& q ) while ( q.pop( dummy ) ) {} for ( size_t i = 0; i != 16; ++i ) { - BOOST_REQUIRE_EQUAL( q.write_available(), 16 - i ); - BOOST_REQUIRE_EQUAL( q.read_available(), i ); + BOOST_TEST_REQUIRE( q.write_available() == 16 - i ); + BOOST_TEST_REQUIRE( q.read_available() == i ); q.push( 1 ); } @@ -195,22 +195,22 @@ void spsc_queue_buffer_push_return_value( void ) data[ i ] = (int)i * 2; switch ( EnqueueMode ) { - case pointer_and_size: BOOST_REQUIRE_EQUAL( rb.push( data, xqueue_size ), xqueue_size ); break; + case pointer_and_size: BOOST_TEST_REQUIRE( rb.push( data, xqueue_size ) == xqueue_size ); break; - case reference_to_array: BOOST_REQUIRE_EQUAL( rb.push( data ), xqueue_size ); break; + case reference_to_array: BOOST_TEST_REQUIRE( rb.push( data ) == xqueue_size ); break; - case iterator_pair: BOOST_REQUIRE_EQUAL( rb.push( data, data + xqueue_size ), data + xqueue_size ); break; + case iterator_pair: BOOST_TEST_REQUIRE( rb.push( data, data + xqueue_size ) == data + xqueue_size ); break; default: assert( false ); } switch ( EnqueueMode ) { - case pointer_and_size: BOOST_REQUIRE_EQUAL( rb.push( data, xqueue_size ), buffer_size - xqueue_size ); break; + case pointer_and_size: BOOST_TEST_REQUIRE( rb.push( data, xqueue_size ) == buffer_size - xqueue_size ); break; - case reference_to_array: BOOST_REQUIRE_EQUAL( rb.push( data ), buffer_size - xqueue_size ); break; + case reference_to_array: BOOST_TEST_REQUIRE( rb.push( data ) == buffer_size - xqueue_size ); break; case iterator_pair: - BOOST_REQUIRE_EQUAL( rb.push( data, data + xqueue_size ), data + buffer_size - xqueue_size ); + BOOST_TEST_REQUIRE( rb.push( data, data + xqueue_size ) == data + buffer_size - xqueue_size ); break; default: assert( false ); @@ -237,21 +237,21 @@ void spsc_queue_buffer_push( void ) std::vector< int > vdata( data, data + xqueue_size ); for ( int i = 0; i != NumberOfIterations; ++i ) { - BOOST_REQUIRE( rb.empty() ); + BOOST_TEST_REQUIRE( rb.empty() ); switch ( EnqueueMode ) { - case pointer_and_size: BOOST_REQUIRE_EQUAL( rb.push( data, xqueue_size ), xqueue_size ); break; + case pointer_and_size: BOOST_TEST_REQUIRE( rb.push( data, xqueue_size ) == xqueue_size ); break; - case reference_to_array: BOOST_REQUIRE_EQUAL( rb.push( data ), xqueue_size ); break; + case reference_to_array: BOOST_TEST_REQUIRE( rb.push( data ) == xqueue_size ); break; - case iterator_pair: BOOST_REQUIRE_EQUAL( rb.push( data, data + xqueue_size ), data + xqueue_size ); break; + case iterator_pair: BOOST_TEST_REQUIRE( rb.push( data, data + xqueue_size ) == data + xqueue_size ); break; default: assert( false ); } int out[ xqueue_size ]; - BOOST_REQUIRE_EQUAL( rb.pop( out, xqueue_size ), xqueue_size ); + BOOST_TEST_REQUIRE( rb.pop( out, xqueue_size ) == xqueue_size ); for ( size_t i = 0; i != xqueue_size; ++i ) - BOOST_REQUIRE_EQUAL( data[ i ], out[ i ] ); + BOOST_TEST_REQUIRE( data[ i ] == out[ i ] ); } } @@ -275,29 +275,29 @@ void spsc_queue_buffer_pop( void ) std::vector< int > vdata( data, data + xqueue_size ); for ( int i = 0; i != NumberOfIterations; ++i ) { - BOOST_REQUIRE( rb.empty() ); - BOOST_REQUIRE_EQUAL( rb.push( data ), xqueue_size ); + BOOST_TEST_REQUIRE( rb.empty() ); + BOOST_TEST_REQUIRE( rb.push( data ) == xqueue_size ); int out[ xqueue_size ]; vector< int > vout; switch ( EnqueueMode ) { - case pointer_and_size: BOOST_REQUIRE_EQUAL( rb.pop( out, xqueue_size ), xqueue_size ); break; + case pointer_and_size: BOOST_TEST_REQUIRE( rb.pop( out, xqueue_size ) == xqueue_size ); break; - case reference_to_array: BOOST_REQUIRE_EQUAL( rb.pop( out ), xqueue_size ); break; + case reference_to_array: BOOST_TEST_REQUIRE( rb.pop( out ) == xqueue_size ); break; - case output_iterator_: BOOST_REQUIRE_EQUAL( rb.pop( std::back_inserter( vout ) ), xqueue_size ); break; + case output_iterator_: BOOST_TEST_REQUIRE( rb.pop( std::back_inserter( vout ) ) == xqueue_size ); break; default: assert( false ); } if ( EnqueueMode == output_iterator_ ) { - BOOST_REQUIRE_EQUAL( vout.size(), xqueue_size ); + BOOST_TEST_REQUIRE( vout.size() == xqueue_size ); for ( size_t i = 0; i != xqueue_size; ++i ) - BOOST_REQUIRE_EQUAL( data[ i ], vout[ i ] ); + BOOST_TEST_REQUIRE( data[ i ] == vout[ i ] ); } else { for ( size_t i = 0; i != xqueue_size; ++i ) - BOOST_REQUIRE_EQUAL( data[ i ], out[ i ] ); + BOOST_TEST_REQUIRE( data[ i ] == out[ i ] ); } } } @@ -321,31 +321,31 @@ void spsc_queue_front_pop( Queue& queue ) int& rfront = queue.front(); const int& crfront = queue.front(); - BOOST_REQUIRE_EQUAL( 1, rfront ); - BOOST_REQUIRE_EQUAL( 1, crfront ); + BOOST_TEST_REQUIRE( 1 == rfront ); + BOOST_TEST_REQUIRE( 1 == crfront ); int front = 0; // access element pushed first front = queue.front(); - BOOST_REQUIRE_EQUAL( 1, front ); + BOOST_TEST_REQUIRE( 1 == front ); // front is still the same front = queue.front(); - BOOST_REQUIRE_EQUAL( 1, front ); + BOOST_TEST_REQUIRE( 1 == front ); queue.pop(); front = queue.front(); - BOOST_REQUIRE_EQUAL( 2, front ); + BOOST_TEST_REQUIRE( 2 == front ); queue.pop(); // pop 2 bool pop_ret = queue.pop(); // pop 3 - BOOST_REQUIRE( pop_ret ); + BOOST_TEST_REQUIRE( pop_ret ); pop_ret = queue.pop(); // pop on empty queue - BOOST_REQUIRE( !pop_ret ); + BOOST_TEST_REQUIRE( !pop_ret ); } BOOST_AUTO_TEST_CASE( spsc_queue_buffer_front_and_pop_runtime_sized_test ) @@ -364,11 +364,11 @@ BOOST_AUTO_TEST_CASE( spsc_queue_reset_test ) { spsc_queue< int, capacity< 64 > > f; - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); f.reset(); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } diff --git a/test/stack_test.cpp b/test/stack_test.cpp index de3261ea..4b25ec6d 100644 --- a/test/stack_test.cpp +++ b/test/stack_test.cpp @@ -24,11 +24,11 @@ BOOST_AUTO_TEST_CASE( simple_stack_test ) stk.push( 1 ); stk.push( 2 ); long out; - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.pop( out ) ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.pop( out ) ); } BOOST_AUTO_TEST_CASE( unsafe_stack_test ) @@ -38,11 +38,11 @@ BOOST_AUTO_TEST_CASE( unsafe_stack_test ) stk.unsynchronized_push( 1 ); stk.unsynchronized_push( 2 ); long out; - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.unsynchronized_pop( out ) ); } BOOST_AUTO_TEST_CASE( ranged_push_test ) @@ -51,14 +51,14 @@ BOOST_AUTO_TEST_CASE( ranged_push_test ) long data[ 2 ] = { 1, 2 }; - BOOST_REQUIRE_EQUAL( stk.push( data, data + 2 ), data + 2 ); + BOOST_TEST_REQUIRE( stk.push( data, data + 2 ) == data + 2 ); long out; - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.unsynchronized_pop( out ) ); } BOOST_AUTO_TEST_CASE( ranged_unsynchronized_push_test ) @@ -67,14 +67,14 @@ BOOST_AUTO_TEST_CASE( ranged_unsynchronized_push_test ) long data[ 2 ] = { 1, 2 }; - BOOST_REQUIRE_EQUAL( stk.unsynchronized_push( data, data + 2 ), data + 2 ); + BOOST_TEST_REQUIRE( stk.unsynchronized_push( data, data + 2 ) == data + 2 ); long out; - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.unsynchronized_pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.unsynchronized_pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.unsynchronized_pop( out ) ); } BOOST_AUTO_TEST_CASE( fixed_size_stack_test ) @@ -84,12 +84,12 @@ BOOST_AUTO_TEST_CASE( fixed_size_stack_test ) stk.push( 1 ); stk.push( 2 ); long out; - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.pop( out ) ); - BOOST_REQUIRE( stk.empty() ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.pop( out ) ); + BOOST_TEST_REQUIRE( stk.empty() ); } BOOST_AUTO_TEST_CASE( fixed_size_stack_test_exhausted ) @@ -98,14 +98,14 @@ BOOST_AUTO_TEST_CASE( fixed_size_stack_test_exhausted ) stk.push( 1 ); stk.push( 2 ); - BOOST_REQUIRE( !stk.push( 3 ) ); + BOOST_TEST_REQUIRE( !stk.push( 3 ) ); long out; - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.pop( out ) ); - BOOST_REQUIRE( stk.empty() ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.pop( out ) ); + BOOST_TEST_REQUIRE( stk.empty() ); } BOOST_AUTO_TEST_CASE( bounded_stack_test_exhausted ) @@ -114,22 +114,22 @@ BOOST_AUTO_TEST_CASE( bounded_stack_test_exhausted ) stk.bounded_push( 1 ); stk.bounded_push( 2 ); - BOOST_REQUIRE( !stk.bounded_push( 3 ) ); + BOOST_TEST_REQUIRE( !stk.bounded_push( 3 ) ); long out; - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 2 ); - BOOST_REQUIRE( stk.pop( out ) ); - BOOST_REQUIRE_EQUAL( out, 1 ); - BOOST_REQUIRE( !stk.pop( out ) ); - BOOST_REQUIRE( stk.empty() ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 2 ); + BOOST_TEST_REQUIRE( stk.pop( out ) ); + BOOST_TEST_REQUIRE( out == 1 ); + BOOST_TEST_REQUIRE( !stk.pop( out ) ); + BOOST_TEST_REQUIRE( stk.empty() ); } BOOST_AUTO_TEST_CASE( stack_consume_one_test ) { boost::lockfree::stack< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -139,26 +139,26 @@ BOOST_AUTO_TEST_CASE( stack_consume_one_test ) bool success2 = f.consume_one( test_equal( 1 ) ); #else bool success1 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 2 ); + BOOST_TEST_REQUIRE( i == 2 ); } ); bool success2 = f.consume_one( []( int i ) { - BOOST_REQUIRE_EQUAL( i, 1 ); + BOOST_TEST_REQUIRE( i == 1 ); } ); #endif - BOOST_REQUIRE( success1 ); - BOOST_REQUIRE( success2 ); + BOOST_TEST_REQUIRE( success1 ); + BOOST_TEST_REQUIRE( success2 ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( stack_consume_all_test ) { boost::lockfree::stack< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -169,17 +169,17 @@ BOOST_AUTO_TEST_CASE( stack_consume_all_test ) size_t consumed = f.consume_all( []( int i ) {} ); #endif - BOOST_REQUIRE_EQUAL( consumed, 2u ); + BOOST_TEST_REQUIRE( consumed == 2u ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } BOOST_AUTO_TEST_CASE( stack_consume_all_atomic_test ) { boost::lockfree::stack< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -191,9 +191,9 @@ BOOST_AUTO_TEST_CASE( stack_consume_all_atomic_test ) size_t consumed = f.consume_all_atomic( []( int i ) {} ); #endif - BOOST_REQUIRE_EQUAL( consumed, 3u ); + BOOST_TEST_REQUIRE( consumed == 3u ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } @@ -201,8 +201,8 @@ BOOST_AUTO_TEST_CASE( stack_consume_all_atomic_reversed_test ) { boost::lockfree::stack< int > f( 64 ); - BOOST_WARN( f.is_lock_free() ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_WARN( f.is_lock_free() ); + BOOST_TEST_REQUIRE( f.empty() ); f.push( 1 ); f.push( 2 ); @@ -214,9 +214,9 @@ BOOST_AUTO_TEST_CASE( stack_consume_all_atomic_reversed_test ) size_t consumed = f.consume_all_atomic_reversed( []( int i ) {} ); #endif - BOOST_REQUIRE_EQUAL( consumed, 3u ); + BOOST_TEST_REQUIRE( consumed == 3u ); - BOOST_REQUIRE( f.empty() ); + BOOST_TEST_REQUIRE( f.empty() ); } diff --git a/test/tagged_ptr_test.cpp b/test/tagged_ptr_test.cpp index 10908a2d..8900d476 100644 --- a/test/tagged_ptr_test.cpp +++ b/test/tagged_ptr_test.cpp @@ -29,30 +29,30 @@ BOOST_AUTO_TEST_CASE( tagged_ptr_test ) i = j; - BOOST_REQUIRE_EQUAL( i.get_ptr(), &b ); - BOOST_REQUIRE_EQUAL( i.get_tag(), 1 ); + BOOST_TEST_REQUIRE( i.get_ptr() == &b ); + BOOST_TEST_REQUIRE( i.get_tag() == 1 ); } { tagged_ptr< int > i( &a, 0 ); tagged_ptr< int > j( i ); - BOOST_REQUIRE_EQUAL( i.get_ptr(), j.get_ptr() ); - BOOST_REQUIRE_EQUAL( i.get_tag(), j.get_tag() ); + BOOST_TEST_REQUIRE( i.get_ptr() == j.get_ptr() ); + BOOST_TEST_REQUIRE( i.get_tag() == j.get_tag() ); } { tagged_ptr< int > i( &a, 0 ); - BOOST_REQUIRE_EQUAL( i.get_tag() + 1, i.get_next_tag() ); + BOOST_TEST_REQUIRE( i.get_tag() + 1 == i.get_next_tag() ); } { tagged_ptr< int > j( &a, max_tag ); - BOOST_REQUIRE_EQUAL( j.get_next_tag(), 0 ); + BOOST_TEST_REQUIRE( j.get_next_tag() == 0 ); } { tagged_ptr< int > j( &a, max_tag - 1 ); - BOOST_REQUIRE_EQUAL( j.get_next_tag(), max_tag ); + BOOST_TEST_REQUIRE( j.get_next_tag() == max_tag ); } } diff --git a/test/test_common.hpp b/test/test_common.hpp index 34c1747d..917a291c 100644 --- a/test/test_common.hpp +++ b/test/test_common.hpp @@ -121,7 +121,7 @@ struct queue_stress_tester thread_group writer; thread_group reader; - BOOST_REQUIRE( stk.empty() ); + BOOST_TEST_REQUIRE( stk.empty() ); for ( int i = 0; i != reader_threads; ++i ) reader.create_thread( boost::bind( &queue_stress_tester::template get_items< queue >, @@ -143,11 +143,11 @@ struct queue_stress_tester std::cout << "reader threads joined" << std::endl; - BOOST_REQUIRE_EQUAL( data.count_nodes(), (size_t)0 ); - BOOST_REQUIRE( stk.empty() ); + BOOST_TEST_REQUIRE( data.count_nodes() == (size_t)0 ); + BOOST_TEST_REQUIRE( stk.empty() ); - BOOST_REQUIRE_EQUAL( push_count, pop_count ); - BOOST_REQUIRE_EQUAL( push_count, writer_threads * node_count ); + BOOST_TEST_REQUIRE( push_count == pop_count ); + BOOST_TEST_REQUIRE( push_count == writer_threads * node_count ); } }; diff --git a/test/test_helpers.hpp b/test/test_helpers.hpp index 5ac18521..b4fc10d9 100644 --- a/test/test_helpers.hpp +++ b/test/test_helpers.hpp @@ -91,7 +91,7 @@ struct test_equal void operator()( int arg ) const { - BOOST_REQUIRE_EQUAL( arg, i ); + BOOST_TEST_REQUIRE( arg == i ); } int i;