Removed sha-256 hash from test
[libcds.git] / tests / unit / set2 / set_defs.h
index 9df4c917fc2799641828fed94ccba14c501a9a14..f9e07cf2a02ec640d45f352916cf1023f2a1486a 100644 (file)
@@ -1,16 +1,18 @@
 //$$CDS-header$$
 
-#ifndef CDSUNIT_SET_DEFS_H
-#define CDSUNIT_SET_DEFS_H
-
 #define CDSUNIT_DECLARE_StdSet \
-    TEST_CASE(StdSet_Spin) \
-    TEST_CASE(StdHashSet_Spin)
+    TEST_CASE( tag_StdSet, StdSet_Spin) \
+    TEST_CASE( tag_StdSet, StdSet_Mutex) \
+    TEST_CASE( tag_StdSet, StdHashSet_Spin)
 
 #define CDSUNIT_TEST_StdSet \
     CPPUNIT_TEST(StdSet_Spin) \
+    CPPUNIT_TEST(StdSet_Mutex) \
     CPPUNIT_TEST(StdHashSet_Spin)
 
+//********************************************************************
+// MichaelHashSet
+
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
 #   define CDSUNIT_DECLARE_MichaelSet_RCU_signal  \
     TEST_CASE(tag_MichaelHashSet, MichaelSet_RCU_SHB_cmp_stdAlloc) \
@@ -83,6 +85,8 @@
     CPPUNIT_TEST(MichaelSet_Lazy_RCU_GPT_less_michaelAlloc) \
     CDSUNIT_TEST_MichaelSet_RCU_signal
 
+//********************************************************************
+// SplitListSet
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
 #   define CDSUNIT_DECLARE_SplitList_RCU_signal  \
     CPPUNIT_TEST(SplitList_Lazy_RCU_GPT_st_less_stat)\
     CDSUNIT_TEST_SplitList_RCU_signal
 
+//********************************************************************
+// CuckooSet
 
 #define CDSUNIT_DECLARE_CuckooSet \
     TEST_CASE(tag_CuckooSet, CuckooStripedSet_list_unord)\
     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_stat) \
     CPPUNIT_TEST(CuckooRefinableSet_vector_ord_storehash)
 
-
+//********************************************************************
+// SkipListSet
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
 #   define CDSUNIT_DECLARE_SkipListSet_RCU_signal \
     CPPUNIT_TEST(SkipListSet_rcu_gpt_cmp_xorshift_stat)\
     CDSUNIT_TEST_SkipListSet_RCU_signal
 
+//********************************************************************
+// EllenBinTreeSet
 
 #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
 #   define CDSUNIT_DECLARE_EllenBinTreeSet_RCU_signal \
     CPPUNIT_TEST(EllenBinTreeSet_rcu_gpt_stat)\
     CDSUNIT_TEST_EllenBinTreeSet_RCU_signal
 
-
+//********************************************************************
+// StripedSet
 
 #define CDSUNIT_DECLARE_StripedSet_common \
     TEST_CASE( tag_StripedSet, StripedSet_list) \
     TEST_CASE( tag_StripedSet, RefinableSet_rational_hashset) \
     TEST_CASE( tag_StripedSet, RefinableSet_rational_boost_unordered_set)
 
+
+//********************************************************************
+// RefinableSet
+
 #define CDSUNIT_TEST_RefinableSet_common \
     CPPUNIT_TEST(RefinableSet_list) \
     CPPUNIT_TEST(RefinableSet_vector) \
     CDSUNIT_TEST_RefinableSet_boost_container \
     CDSUNIT_TEST_RefinableSet_boost_flat_container
 
-#endif // #ifndef CDSUNIT_SET_DEFS_H
+
+//***********************************************
+// FeldmanHashSet
+
+// For fixed-sized key - no hash function is needed
+
+#undef CDSUNIT_DECLARE_FeldmanHashSet_fixed
+#undef CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_fixed
+#undef CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
+
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+#   define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal  \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
+
+#   define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_fixed_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_fixed_stat) \
+
+#else
+#   define CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+#   define CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
+#endif
+
+#define CDSUNIT_DECLARE_FeldmanHashSet_fixed  \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_fixed_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_fixed_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_fixed_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_fixed_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_fixed_stat) \
+    CDSUNIT_DECLARE_FeldmanHashSet_fixed_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_fixed  \
+    CPPUNIT_TEST(FeldmanHashSet_hp_fixed) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_fixed_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_fixed) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_fixed_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_fixed_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_fixed_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_fixed_stat) \
+    CDSUNIT_TEST_FeldmanHashSet_fixed_RCU_signal
+
+// std::hash
+#undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash
+#undef CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_stdhash
+#undef CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+#   define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal  \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
+
+#   define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_stdhash_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_stdhash_stat) \
+
+#else
+#   define CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+#   define CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+#endif
+
+#define CDSUNIT_DECLARE_FeldmanHashSet_stdhash  \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_stdhash_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_stdhash_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_stdhash_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_stdhash_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_stdhash_stat) \
+    CDSUNIT_DECLARE_FeldmanHashSet_stdhash_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_stdhash  \
+    CPPUNIT_TEST(FeldmanHashSet_hp_stdhash) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_stdhash_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_stdhash_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_stdhash_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_stdhash_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_stdhash_stat) \
+    CDSUNIT_TEST_FeldmanHashSet_stdhash_RCU_signal
+
+
+// MD5
+#undef CDSUNIT_DECLARE_FeldmanHashSet_md5
+#undef CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_md5
+#undef CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
+
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+#   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal  \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
+
+#   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_md5_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_md5_stat) \
+
+#else
+#   define CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
+#   define CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
+#endif
+
+#define CDSUNIT_DECLARE_FeldmanHashSet_md5  \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_md5_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_md5_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_md5_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_md5_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_md5_stat) \
+    CDSUNIT_DECLARE_FeldmanHashSet_md5_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_md5  \
+    CPPUNIT_TEST(FeldmanHashSet_hp_md5) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_md5_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_md5) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_md5_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_md5_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_md5_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_md5_stat) \
+    CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
+
+
+// CityHash -only for 64bit 
+#undef CDSUNIT_DECLARE_FeldmanHashSet_city
+#undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+#undef CDSUNIT_TEST_FeldmanHashSet_city
+#undef CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+
+#if CDS_BUILD_BITS == 64
+
+#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
+#   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal  \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
+
+#   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city64_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city64_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_city128_stat) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128) \
+        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_city128_stat) \
+
+#else
+#   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+#   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+#endif
+
+#define CDSUNIT_DECLARE_FeldmanHashSet_city  \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city64_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city64_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city64_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city64_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city64_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_city128_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_city128_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_city128_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_city128_stat) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128) \
+    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_city128_stat) \
+    CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+
+#define CDSUNIT_TEST_FeldmanHashSet_city  \
+    CPPUNIT_TEST(FeldmanHashSet_hp_city64) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_city64_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_city64) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_city64_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city64_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city64_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city64_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_city128) \
+    CPPUNIT_TEST(FeldmanHashSet_hp_city128_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_city128) \
+    CPPUNIT_TEST(FeldmanHashSet_dhp_city128_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_city128_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_city128_stat) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128) \
+    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_city128_stat) \
+    CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+
+#else
+#   define CDSUNIT_DECLARE_FeldmanHashSet_city
+#   define CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
+#   define CDSUNIT_TEST_FeldmanHashSet_city
+#   define CDSUNIT_TEST_FeldmanHashSet_city_RCU_signal
+#endif // CDS_BUILD_BITS == 64
+
+
+// All 
+#define CDSUNIT_DECLARE_FeldmanHashSet \
+    CDSUNIT_DECLARE_FeldmanHashSet_fixed \
+    CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
+    CDSUNIT_DECLARE_FeldmanHashSet_md5 \
+    CDSUNIT_DECLARE_FeldmanHashSet_city
+
+#define CDSUNIT_TEST_FeldmanHashSet \
+    CDSUNIT_TEST_FeldmanHashSet_fixed \
+    CDSUNIT_TEST_FeldmanHashSet_stdhash \
+    CDSUNIT_TEST_FeldmanHashSet_md5 \
+    CDSUNIT_TEST_FeldmanHashSet_city