- Added more flat-combining queue tests, thanks to Marsel Galimullin.
- Changed cmake scripts to support MacOS and ARMv7/ARMv8 (64 bit),
thanks to Michail Komarov (https://github.com/Nemo1369)
-
+ - Stress tests: removed command line parameter --detail-level and
+ envvar CDSTEST_DETAIL_LEVEL for reducing compile time and executable size.
+ To make full testset compile libcds with -DCDS_STRESS_TEST_LEVEL=N where
+ N is 1 or 2.
+
2.2.0 04.01.2017
General release
- Changed: CMake is used for build libcds. Ancient build.sh has been removed
static std::vector<std::string> load_dictionary();
- static void init_detail_level( int argc, char **argv );
- static bool check_detail_level( int nLevel );
-
static property_stream& propout();
private:
\r
return arrString;\r
}\r
-\r
-\r
- static int s_nDetailLevel = 0;\r
-\r
- /*static*/ void stress_fixture::init_detail_level( int argc, char **argv )\r
- {\r
- bool found = false;\r
- for ( int i = 0; i < argc; ++i ) {\r
- char * arg = argv[i];\r
- char * eq = strchr( arg, '=' );\r
- if ( eq ) {\r
- if ( strncmp( arg, "--detail_level", eq - arg ) == 0 || strncmp( arg, "--detail-level", eq - arg ) == 0 ) {\r
- s_nDetailLevel = atoi( eq + 1 );\r
- found = true;\r
- }\r
- }\r
- }\r
-\r
- if ( !found ) {\r
- // Get detail level from environment variable\r
- char const * env = getenv( "CDSTEST_DETAIL_LEVEL" );\r
- if ( env && env[0] )\r
- s_nDetailLevel = atoi( env );\r
- }\r
-\r
- std::cout << "Stress test detail level=" << s_nDetailLevel << std::endl;\r
- }\r
-\r
- /*static*/ bool stress_fixture::check_detail_level( int nLevel )\r
- {\r
- if ( nLevel <= s_nDetailLevel )\r
- return true;\r
-\r
- std::cout << "Skipped (detail level=" << nLevel << ")" << std::endl;\r
- propout() << std::make_pair( "skipped", 1 );\r
- return false;\r
- }\r
-\r
} // namespace\r
// Read test config file\r
cds_test::init_config( argc, argv );\r
\r
- // Get detail level for stress test\r
- cds_test::stress_fixture::init_detail_level( argc, argv );\r
-\r
// Init Google test\r
::testing::InitGoogleTest( &argc, argv );\r
\r
}
-#define CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, bronson_map_type, key_type, value_type, level ) \
+#define CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, bronson_map_type, key_type, value_type ) \
TEST_F( fixture, bronson_map_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef map::map_type< tag_BronsonAVLTreeMap, key_type, value_type >::bronson_map_type map_type; \
test_case<map_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
# define CDSSTRESS_BronsonAVLTreeMap_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat, key_type, value_type, 0 )
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat, key_type, value_type )
#else
# define CDSSTRESS_BronsonAVLTreeMap_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_BronsonAVLTreeMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_simple, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_simple, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_BronsonAVLTreeMap_1( fixture, test_case, key_type, value_type )
+#endif
+
#define CDSSTRESS_BronsonAVLTreeMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_simple, key_type, value_type, 1 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_simple, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_simple, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat, key_type, value_type, 1 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy, key_type, value_type, 1 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat, key_type, value_type, 1 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat, key_type, value_type, 0 ) \
- CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpi_less, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_simple, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_case( fixture, test_case, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat, key_type, value_type ) \
+ CDSSTRESS_BronsonAVLTreeMap_1( fixture, test_case, key_type, value_type ) \
CDSSTRESS_BronsonAVLTreeMap_SHRCU( fixture, test_case, key_type, value_type )
} // namespace map
} // namespace map
-#define CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, ellen_map_type, key_type, value_type, level ) \
+#define CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, ellen_map_type, key_type, value_type ) \
TEST_F( fixture, ellen_map_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef map::map_type< tag_EllenBinTreeMap, key_type, value_type >::ellen_map_type map_type; \
test_case<map_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
# define CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht_stat, key_type, value_type, 0 )
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_shb_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_sht_stat, key_type, value_type ) \
+
#else
# define CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_yield, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_yield, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_yield, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type )
+#endif
+
#define CDSSTRESS_EllenBinTreeMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_yield, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_yield, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_yield, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpi_stat, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_hp_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_dhp_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpb_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_case( fixture, test_case, EllenBinTreeMap_rcu_gpt_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeMap_1( fixture, test_case, key_type, value_type ) \
CDSSTRESS_EllenBinTreeMap_SHRCU( fixture, test_case, key_type, value_type )
#endif // ifndef CDSUNIT_MAP_TYPE_ELLEN_BINTREE_H
};
} // namespace map
-#define CDSSTRESS_MichaelMap_case( fixture, test_case, michael_map_type, key_type, value_type, level ) \
+#define CDSSTRESS_MichaelMap_case( fixture, test_case, michael_map_type, key_type, value_type ) \
TEST_P( fixture, michael_map_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef map::map_type< tag_MichaelHashMap, key_type, value_type >::michael_map_type map_type; \
test_case<map_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_MichaelMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_less_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelMap_SHRCU_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_MichaelMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_less, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelMap_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
# define CDSSTRESS_MichaelMap_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_less_seqcst, key_type, value_type, 2 ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_SHT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_SHT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
#else
# define CDSSTRESS_MichaelMap_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_MichaelMap_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_less_seqcst, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_less_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_less_seqcst, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelMap_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_MichaelMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_less, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_less, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelMap_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_MichaelMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_less_seqcst, key_type, value_type, 2 ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPI_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_HP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_RCU_GPB_less, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_less, key_type, value_type ) \
\
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_HP_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_DHP_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPI_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPB_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_RCU_GPT_less_seqcst, key_type, value_type, 2 ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_less_stat, key_type, value_type ) \
\
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_HP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Iterable_DHP_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_SHRCU( fixture, test_case, key_type, value_type )
+ CDSSTRESS_MichaelMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_SHRCU( fixture, test_case, key_type, value_type ) \
#define CDSSTRESS_MichaelMap_nogc( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_less_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_unord, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_less_seqcst, key_type, value_type, 2 ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_NOGC_less, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_unord, key_type, value_type ) \
+ CDSSTRESS_MichaelMap_case( fixture, test_case, MichaelMap_Lazy_NOGC_less, key_type, value_type ) \
#endif // ifndef CDSUNIT_MAP_TYPE_MICHAEL_H
} // namespace map
-#define CDSSTRESS_SkipListMap_case( fixture, test_case, skiplist_map_type, key_type, value_type, level ) \
+#define CDSSTRESS_SkipListMap_case( fixture, test_case, skiplist_map_type, key_type, value_type ) \
TEST_F( fixture, skiplist_map_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef map::map_type< tag_SkipListMap, key_type, value_type >::skiplist_map_type map_type; \
test_case<map_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
+
# define CDSSTRESS_SkipListMap_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift_stat, key_type, value_type, 1 ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_sht_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_shb_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
#else
# define CDSSTRESS_SkipListMap_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SkipListMap_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListMap_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SkipListMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_xorshift_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListMap_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_SkipListMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_xorshift_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_dhp_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpb_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_hp_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpi_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_rcu_gpt_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_2( fixture, test_case, key_type, value_type ) \
CDSSTRESS_SkipListMap_SHRCU( fixture, test_case, key_type, value_type )
#define CDSSTRESS_SkipListMap_nogc( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal_seqcst, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_xorshift_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListMap_case( fixture, test_case, SkipListMap_nogc_cmp_xorshift_stat, key_type, value_type ) \
#endif // ifndef CDSUNIT_MAP_TYPE_SKIP_LIST_H
} // namespace map
-#define CDSSTRESS_SplitListMap_case( fixture, test_case, splitlist_map_type, key_type, value_type, level ) \
+#define CDSSTRESS_SplitListMap_case( fixture, test_case, splitlist_map_type, key_type, value_type ) \
TEST_P( fixture, splitlist_map_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef map::map_type< tag_SplitListMap, key_type, value_type >::splitlist_map_type map_type; \
test_case<map_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SplitListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListMap_SHRCU_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SplitListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListMap_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
+
# define CDSSTRESS_SplitListMap_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_SHRCU_2( fixture, test_case, key_type, value_type ) \
# define CDSSTRESS_SplitListIterableMap_SHRCU( fixture, test_case, key_type, value_type )
-/*
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less_stat, key_type, value_type, 0 ) \
-*/
+
#else
# define CDSSTRESS_SplitListMap_SHRCU( fixture, test_case, key_type, value_type )
# define CDSSTRESS_SplitListIterableMap_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SplitListMap_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListMap_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SplitListMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListMap_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_SplitListMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_2( fixture, test_case, key_type, value_type ) \
CDSSTRESS_SplitListMap_SHRCU( fixture, test_case, key_type, value_type )
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_SplitListIterableMap_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListIterableMap_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_SplitListIterableMap( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp, key_type, value_type, 0 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_cmp, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_cmp, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_cmp, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_cmp, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_less, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_less, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_less, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_less, key_type, value_type, 0 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_less, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_less_stat, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less_stat, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less_stat, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less_stat, key_type, value_type, 0 )*/ \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Iterable_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListIterableMap_1( fixture, test_case, key_type, value_type ) \
CDSSTRESS_SplitListIterableMap_SHRCU( fixture, test_case, key_type, value_type )
#define CDSSTRESS_SplitListMap_nogc( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_less_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Michael_NOGC_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListMap_case( fixture, test_case, SplitList_Lazy_NOGC_st_less_stat, key_type, value_type ) \
#endif // ifndef CDSUNIT_MAP_TYPE_SPLIT_LIST_H
};
#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< size_t >::type_name queue_type; \
queue_type queue( s_nQueueSize ); \
test( queue ); \
CDSSTRESS_StdQueue( queue_pop )
#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 ); \
}
};
-#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_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 ); \
}
};
-#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_StdQueue( simple_queue_push_pop )
#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 ); \
}
};
-#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 >(); \
}
} // namespace cds_test
-#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; \
test( queue ); \
}
-#define CDSSTRESS_FCQueue_F( test_fixture, type_name, level ) \
+#define CDSSTRESS_FCQueue_F( test_fixture, type_name ) \
TEST_F( test_fixture, type_name ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef queue::TypesFCHeavyValue< value_type >::type_name queue_type; \
queue_type queue; \
test( queue ); \
}
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_MSQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_ic ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_ic ) \
+
+# define CDSSTRESS_MoirQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_ic ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_ic ) \
+
+# define CDSSTRESS_OptimsticQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_ic ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_ic ) \
+
+# define CDSSTRESS_BasketQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_ic ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_seqcst ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_ic ) \
+
+# define CDSSTRESS_FCQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_ss ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_sm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_mm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_elimination ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_ss ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_sm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_mm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_elimination ) \
+
+# define CDSSTRESS_FCDeque_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_mutex ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_ss )\
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_sm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_mm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_elimination ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_elimination ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_elimination_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_ss ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_sm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_mm ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_elimination ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_elimination ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_elimination_stat ) \
+
+# define CDSSTRESS_FCDeque_HeavyValue_1( test_fixture ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_ss ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_ss_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_sm ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_sm_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_mm ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_mm_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_elimination ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_elimination_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_elimination) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_elimination_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_default ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_mutex ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_ss ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_ss_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_sm ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_sm_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_mm ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_mm_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_elimination ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_elimination_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_stat ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_elimination) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_elimination_stat ) \
+
+# define CDSSTRESS_RWQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, RWQueue_Spin_ic ) \
+
+# define CDSSTRESS_SegmentedQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex_padding ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin_padding ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex_padding ) \
+
+# define CDSSTRESS_StdQueue_1( test_fixture ) \
+ CDSSTRESS_Queue_F( test_fixture, StdQueue_deque_Mutex ) \
+ CDSSTRESS_Queue_F( test_fixture, StdQueue_list_Mutex ) \
+
+#else
+# define CDSSTRESS_MSQueue_1( test_fixture )
+# define CDSSTRESS_MoirQueue_1( test_fixture )
+# define CDSSTRESS_OptimsticQueue_1( test_fixture )
+# define CDSSTRESS_BasketQueue_1( test_fixture )
+# define CDSSTRESS_FCQueue_1( test_fixture )
+# define CDSSTRESS_FCDeque_1( test_fixture )
+# define CDSSTRESS_FCDeque_HeavyValue_1( test_fixture )
+# define CDSSTRESS_RWQueue_1( test_fixture )
+# define CDSSTRESS_SegmentedQueue_1( test_fixture )
+# define CDSSTRESS_StdQueue_1( test_fixture )
+#endif
+
#define CDSSTRESS_MSQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_HP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_stat, 0 )
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_HP ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_HP_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP ) \
+ CDSSTRESS_Queue_F( test_fixture, MSQueue_DHP_stat ) \
+ CDSSTRESS_MSQueue_1( test_fixture )
#define CDSSTRESS_MoirQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_stat, 0 )
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_HP_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP ) \
+ CDSSTRESS_Queue_F( test_fixture, MoirQueue_DHP_stat ) \
+ CDSSTRESS_MoirQueue_1( test_fixture )
#define CDSSTRESS_OptimsticQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_stat, 0 )
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_HP_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP ) \
+ CDSSTRESS_Queue_F( test_fixture, OptimisticQueue_DHP_stat ) \
+ CDSSTRESS_OptimsticQueue_1( test_fixture )
#define CDSSTRESS_BasketQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_seqcst, 2 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_stat, 0 )
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_HP_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP ) \
+ CDSSTRESS_Queue_F( test_fixture, BasketQueue_DHP_stat ) \
+ CDSSTRESS_BasketQueue_1( test_fixture )
#define CDSSTRESS_FCQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_ss, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_ss_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_sm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_sm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_mm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_mm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_elimination_stat,0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_ss, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_ss_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_sm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_sm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_mm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_mm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCQueue_list_elimination_stat, 0 )
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_ss_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_sm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_wait_mm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_deque_elimination_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_ss_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_sm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_wait_mm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCQueue_list_elimination_stat ) \
+ CDSSTRESS_FCQueue_1( test_fixture )
#define CDSSTRESS_FCDeque( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_default, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_mutex, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_stat, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_ss, 1 )\
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_ss_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_sm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_sm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_mm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_mm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_elimination_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_elimination_stat, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_default, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_mutex, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_ss, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_ss_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_sm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_sm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_mm, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_mm_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_elimination_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_elimination, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_elimination_stat, 1 )
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_default ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_ss_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_sm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_wait_mm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_elimination_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeL_boost_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_default ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_mutex ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_ss_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_sm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_wait_mm_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_elimination_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, FCDequeR_boost_stat ) \
+ CDSSTRESS_FCDeque_1( test_fixture )
#define CDSSTRESS_FCDeque_HeavyValue( test_fixture ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_default, 0 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_mutex, 0 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_stat, 0 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_ss, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_ss_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_sm, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_sm_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_mm, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_wait_mm_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_elimination, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_elimination_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_elimination, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_boost_elimination_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_default, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_mutex, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_ss, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_ss_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_sm, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_sm_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_mm, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_wait_mm_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_elimination, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_elimination_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_stat, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_elimination, 1 ) \
- CDSSTRESS_FCQueue_F( test_fixture, FCDequeR_HeavyValue_boost_elimination_stat, 1 )
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_default ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_mutex ) \
+ CDSSTRESS_FCQueue_F( test_fixture, FCDequeL_HeavyValue_stat ) \
+ CDSSTRESS_FCDeque_HeavyValue_1( test_fixture )
#define CDSSTRESS_RWQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, RWQueue_Spin, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, RWQueue_Spin_ic, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, RWQueue_mutex, 0 )
+ CDSSTRESS_Queue_F( test_fixture, RWQueue_Spin ) \
+ CDSSTRESS_Queue_F( test_fixture, RWQueue_mutex ) \
+ CDSSTRESS_RWQueue_1( test_fixture )
#define CDSSTRESS_SegmentedQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin_padding, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex_padding, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin_padding, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin_stat, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex_padding, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex_stat, 0 )
-
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin_padding ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_spin_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_HP_mutex_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_spin_stat ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex ) \
+ CDSSTRESS_Queue_F( test_fixture, SegmentedQueue_DHP_mutex_stat ) \
+ CDSSTRESS_SegmentedQueue_1( test_fixture )
#define CDSSTRESS_VyukovQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, VyukovMPMCCycleQueue_dyn, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, VyukovMPMCCycleQueue_dyn_ic, 1 )
+ CDSSTRESS_Queue_F( test_fixture, VyukovMPMCCycleQueue_dyn ) \
+ CDSSTRESS_Queue_F( test_fixture, VyukovMPMCCycleQueue_dyn_ic )
#define CDSSTRESS_StdQueue( test_fixture ) \
- CDSSTRESS_Queue_F( test_fixture, StdQueue_deque_Spinlock, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, StdQueue_list_Spinlock, 0 ) \
- CDSSTRESS_Queue_F( test_fixture, StdQueue_deque_Mutex, 1 ) \
- CDSSTRESS_Queue_F( test_fixture, StdQueue_list_Mutex, 1 )
+ CDSSTRESS_Queue_F( test_fixture, StdQueue_deque_Spinlock ) \
+ CDSSTRESS_Queue_F( test_fixture, StdQueue_list_Spinlock ) \
+ CDSSTRESS_StdQueue_1( test_fixture ) \
#endif // #ifndef CDSSTRESS_QUEUE_TYPES_H
CDSSTRESS_StdQueue( queue_random )
#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 ); \
}
};
-#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 >(); \
}
}
} // namespace set
-#define CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, ellen_set_type, key_type, value_type, level ) \
+#define CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, ellen_set_type, key_type, value_type ) \
TEST_F( fixture, ellen_set_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef set::set_type< tag_EllenBinTreeSet, key_type, value_type >::ellen_set_type set_type; \
test_case<set_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
# define CDSSTRESS_EllenBinTreeSet_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht_stat, key_type, value_type, 0 )
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_shb_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_sht_stat, key_type, value_type )
#else
# define CDSSTRESS_EllenBinTreeSet_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_EllenBinTreeSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpi, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_hp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_dhp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_rcu_gpb, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpi_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_EllenBinTreeSet_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_EllenBinTreeSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_hp, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_dhp, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpi, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpb, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpt, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_hp, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_dhp, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_yield_rcu_gpb, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_hp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_dhp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpi_stat, key_type, value_type, 1 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpb_stat, key_type, value_type, 0 ) \
- CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpt_stat, key_type, value_type, 0 ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_hp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_dhp, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpb, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpt, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_hp_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_dhp_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpb_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_case( fixture, test_case, EllenBinTreeSet_rcu_gpt_stat, key_type, value_type ) \
+ CDSSTRESS_EllenBinTreeSet_1( fixture, test_case, key_type, value_type ) \
CDSSTRESS_EllenBinTreeSet_SHRCU( fixture, test_case, key_type, value_type )
#endif // #ifndef CDSUNIT_SET_TYPE_ELLEN_BINTREE_H
} // namespace set
-#define CDSSTRESS_MichaelSet_case( fixture, test_case, michael_set_type, key_type, value_type, level ) \
+#define CDSSTRESS_MichaelSet_case( fixture, test_case, michael_set_type, key_type, value_type ) \
TEST_P( fixture, michael_set_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef set::set_type< tag_MichaelHashSet, key_type, value_type >::michael_set_type set_type; \
test_case<set_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_MichaelSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_less_stat, key_type, value_type ) \
+
+# define CDSSTRESS_MichaelIterableSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelSet_SHRCU_1( fixture, test_case, key_type, value_type )
+# define CDSSTRESS_MichaelIterableSet_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
# define CDSSTRESS_MichaelSet_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_less_stat, key_type, value_type, 1 ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_SHB_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_SHB_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
# define CDSSTRESS_MichaelIterableSet_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_less_stat, key_type, value_type, 1 ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_RCU_SHB_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelIterableSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
#else
# define CDSSTRESS_MichaelSet_SHRCU( fixture, test_case, key_type, value_type )
# define CDSSTRESS_MichaelIterableSet_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_MichaelSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_less_stat, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_less_stat, key_type, value_type ) \
+
+# define CDSSTRESS_MichaelIterableSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_MichaelSet_1( fixture, test_case, key_type, value_type )
+# define CDSSTRESS_MichaelIterableSet_1( fixture, test_case, key_type, value_type )
+#endif
+
#define CDSSTRESS_MichaelSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_SHRCU( fixture, test_case, key_type, value_type )
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_HP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPI_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_RCU_GPT_less_stat, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPB_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_HP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPI_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Lazy_RCU_GPT_less_stat, key_type, value_type ) \
+ \
+ CDSSTRESS_MichaelSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_SHRCU( fixture, test_case, key_type, value_type ) \
#define CDSSTRESS_MichaelIterableSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_less, key_type, value_type, 1 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_less, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_less_stat, key_type, value_type, 1 ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_cmp, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_DHP_less, key_type, value_type ) \
+ CDSSTRESS_MichaelSet_case( fixture, test_case, MichaelSet_Iterable_HP_less_stat, key_type, value_type ) \
+ CDSSTRESS_MichaelIterableSet_1( fixture, test_case, key_type, value_type ) \
#endif // #ifndef CDSUNIT_SET_TYPE_MICHAEL_H
} // namespace set
-#define CDSSTRESS_SkipListSet_case( fixture, test_case, skiplist_set_type, key_type, value_type, level ) \
+#define CDSSTRESS_SkipListSet_case( fixture, test_case, skiplist_set_type, key_type, value_type ) \
TEST_F( fixture, skiplist_set_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef set::set_type< tag_SkipListSet, key_type, value_type >::skiplist_set_type set_type; \
test_case<set_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_seqcst, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_seqcst, key_type, value_type) \
+
+#else
+# define CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SkipListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift_stat, key_type, value_type) \
+
+#else
+# define CDSSTRESS_SkipListSet_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
+
# define CDSSTRESS_SkipListSet_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_seqcst, key_type, value_type, 2) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_seqcst, key_type, value_type, 2) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal_stat, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_stat, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal_stat, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal_stat, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift_stat, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift_stat, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift, key_type, value_type, 0) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift_stat, key_type, value_type, 1) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift_stat, key_type, value_type, 0)
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_pascal, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_pascal_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_pascal, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_pascal_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_less_xorshift, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_less_xorshift_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_shb_cmp_xorshift, key_type, value_type) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_sht_cmp_xorshift_stat, key_type, value_type) \
+ CDSSTRESS_SkipListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \
+
#else
# define CDSSTRESS_SkipListSet_SHRCU( fixture, test_case, key_type, value_type )
#endif
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SkipListSet_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal_seqcst, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListSet_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SkipListSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_xorshift_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SkipListSet_1( fixture, test_case, key_type, value_type )
+#endif
+
+
#define CDSSTRESS_SkipListSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_pascal, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_pascal, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_pascal_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_pascal_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_xorshift, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_xorshift, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_xorshift_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_xorshift_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SkipListSet_SHRCU( fixture, test_case, key_type, value_type )
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_pascal, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_pascal_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_less_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_less_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_dhp_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpb_cmp_xorshift, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_hp_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpi_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_case( fixture, test_case, SkipListSet_rcu_gpt_cmp_xorshift_stat, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SkipListSet_SHRCU( fixture, test_case, key_type, value_type ) \
#endif // #ifndef CDSUNIT_SET_TYPE_SKIP_LIST_H
} // namespace set
-#define CDSSTRESS_SplitListSet_case( fixture, test_case, splitlist_set_type, key_type, value_type, level ) \
+#define CDSSTRESS_SplitListSet_case( fixture, test_case, splitlist_set_type, key_type, value_type ) \
TEST_P( fixture, splitlist_set_type ) \
{ \
- if ( !check_detail_level( level )) return; \
typedef set::set_type< tag_SplitListSet, key_type, value_type >::splitlist_set_type set_type; \
test_case<set_type>(); \
}
#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SplitListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListSet_SHRCU_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SplitListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListSet_SHRCU_1( fixture, test_case, key_type, value_type )
+#endif
+
+
# define CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less_stat, key_type, value_type, 0 ) \
-
-# define CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )
-/*
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHB_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_SHT_st_less_stat, key_type, value_type, 1 ) \
-*/
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_SHB_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_SHT_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_SHRCU_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_SHRCU_2( fixture, test_case, key_type, value_type ) \
+
#else
# define CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type )
-# define CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 1
+# define CDSSTRESS_SplitListSet_2( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_seqcst, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListSet_2( fixture, test_case, key_type, value_type )
+#endif
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL == 1
+# define CDSSTRESS_SplitListSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less_stat, key_type, value_type ) \
+ \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListSet_1( fixture, test_case, key_type, value_type )
#endif
#define CDSSTRESS_SplitListSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less_stat, key_type, value_type, 1 ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPB_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPI_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Michael_RCU_GPT_st_less_stat, key_type, value_type ) \
+ \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPI_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPT_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_DHP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Lazy_RCU_GPB_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_2( fixture, test_case, key_type, value_type ) \
CDSSTRESS_SplitListSet_SHRCU( fixture, test_case, key_type, value_type )
+
+#if defined(CDS_STRESS_TEST_LEVEL) && CDS_STRESS_TEST_LEVEL > 0
+# define CDSSTRESS_SplitListIterableSet_1( fixture, test_case, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_seqcst, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less_stat, key_type, value_type ) \
+
+#else
+# define CDSSTRESS_SplitListIterableSet_1( fixture, test_case, key_type, value_type )
+#endif
+
#define CDSSTRESS_SplitListIterableSet( fixture, test_case, key_type, value_type ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp, key_type, value_type, 0 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_stat, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_stat, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_stat, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_stat, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_stat, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_seqcst, key_type, value_type, 2 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_cmp_seqcst, key_type, value_type, 2 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_cmp, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_cmp, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_cmp, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_cmp, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_cmp, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_less, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_less, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_dyn_less, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_dyn_less, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_dyn_less, key_type, value_type, 0 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less, key_type, value_type, 1 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less, key_type, value_type, 0 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less, key_type, value_type, 1 )*/ \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less_stat, key_type, value_type, 0 ) \
- CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less_stat, key_type, value_type, 1 ) \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPI_st_less_stat, key_type, value_type, 0 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPB_st_less_stat, key_type, value_type, 1 )*/ \
- /*CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_RCU_GPT_st_less_stat, key_type, value_type, 0 )*/ \
- CDSSTRESS_SplitListIterableSet_SHRCU( fixture, test_case, key_type, value_type )
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_dyn_cmp_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_cmp, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_dyn_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_DHP_st_less, key_type, value_type ) \
+ CDSSTRESS_SplitListSet_case( fixture, test_case, SplitList_Iterable_HP_st_less_stat, key_type, value_type ) \
+ CDSSTRESS_SplitListIterableSet_1( fixture, test_case, key_type, value_type )
#endif // #ifndef CDSUNIT_SET_TYPE_SPLIT_LIST_H