Uses different pass count for different parallel queue test cases
[libcds.git] / test / stress / queue / push.cpp
index cc043ba7d6a407a8334264dd6b10464d85528856..398ca66b197631ba53e1d9ec31310c5093461a2e 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
@@ -29,6 +29,7 @@
 */
 
 #include "queue_type.h"
+#include "../misc/common.h"
 
 // Multi-threaded queue test for push operation
 namespace {
@@ -135,7 +136,7 @@ namespace {
 
             propout() << std::make_pair( "duration", duration );
 
-            analyze( q );
+            DEBUG(analyze( q ));
 
             propout() << q.statistics();
         }
@@ -173,16 +174,12 @@ namespace {
     CDSSTRESS_MoirQueue( queue_push )
     CDSSTRESS_BasketQueue( queue_push )
     CDSSTRESS_OptimsticQueue( queue_push )
-    CDSSTRESS_FCQueue( queue_push )
-    CDSSTRESS_FCDeque( queue_push )
     CDSSTRESS_RWQueue( queue_push )
-    CDSSTRESS_StdQueue( queue_push )
 
 #undef CDSSTRESS_Queue_F
-#define CDSSTRESS_Queue_F( test_fixture, type_name, level ) \
+#define CDSSTRESS_Queue_F( test_fixture, type_name ) \
     TEST_F( test_fixture, type_name ) \
     { \
-        if ( !check_detail_level( level )) return; \
         typedef queue::Types< value_type >::type_name queue_type; \
         queue_type queue( s_nQueueSize ); \
         test( queue ); \
@@ -236,18 +233,28 @@ namespace {
         }
     };
 
-#define CDSSTRESS_Queue_F( test_fixture, type_name, level ) \
+#define CDSSTRESS_Queue_F( test_fixture, type_name ) \
     TEST_P( test_fixture, type_name ) \
     { \
-        if ( !check_detail_level( level )) return; \
         typedef typename queue::Types<value_type>::type_name queue_type; \
         test< queue_type >(); \
     }
 
     CDSSTRESS_SegmentedQueue( segmented_queue_push )
 
+#ifdef CDSTEST_GTEST_INSTANTIATE_TEST_CASE_P_HAS_4TH_ARG
+    static std::string get_test_parameter_name( testing::TestParamInfo<size_t> const& p )
+    {
+        return std::to_string( p.param );
+    }
     INSTANTIATE_TEST_CASE_P( SQ,
         segmented_queue_push,
-        ::testing::ValuesIn( segmented_queue_push::get_test_parameters()));
+        ::testing::ValuesIn( segmented_queue_push::get_test_parameters()), get_test_parameter_name );
+#else
+        INSTANTIATE_TEST_CASE_P( SQ,
+            segmented_queue_push,
+            ::testing::ValuesIn( segmented_queue_push::get_test_parameters()));
+#endif
+
 
 } // namespace