X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=tests%2Funit%2Fmap2%2Fmap_defs.h;h=b44879dea36a6bbc757ab331ca7100a9c2b000a5;hb=87974cb23acebee8e4f679d922e264cc08a9a4eb;hp=4667f27c3735e2c93612289c69ce58a8b266f0b7;hpb=a9213ce45072f66144284647ccae242f91ca30af;p=libcds.git diff --git a/tests/unit/map2/map_defs.h b/tests/unit/map2/map_defs.h index 4667f27c..b44879de 100644 --- a/tests/unit/map2/map_defs.h +++ b/tests/unit/map2/map_defs.h @@ -1,25 +1,41 @@ //$$CDS-header$$ -#ifndef CDSUNIT_MAP_DEFS_H -#define CDSUNIT_MAP_DEFS_H - #define CDSUNIT_DECLARE_StdMap \ - TEST_MAP(StdMap_Spin) \ - TEST_MAP(StdHashMap_Spin) + TEST_CASE(tag_StdMap, StdMap_Spin) \ + TEST_CASE(tag_StdMap, StdHashMap_Spin) \ + TEST_CASE(tag_StdMap, StdMap_Mutex) \ + TEST_CASE(tag_StdMap, StdHashMap_Mutex) + #define CDSUNIT_TEST_StdMap \ CPPUNIT_TEST(StdMap_Spin) \ CPPUNIT_TEST(StdHashMap_Spin) \ + CPPUNIT_TEST(StdMap_Mutex) \ + CPPUNIT_TEST(StdHashMap_Mutex) \ + +#define CDSUNIT_DECLARE_StdMap_NoLock \ + TEST_CASE(tag_StdMap, StdMap_NoLock) \ + TEST_CASE(tag_StdMap, StdHashMap_NoLock) \ + +#define CDSUNIT_TEST_StdMap_NoLock \ + CPPUNIT_TEST(StdMap_NoLock) \ + CPPUNIT_TEST(StdHashMap_NoLock) \ + +// ************************************************************************************** +// MichaelMap + +#undef CDSUNIT_DECLARE_MichaelMap_RCU_signal +#undef CDSUNIT_TEST_MichaelMap_RCU_signal #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSUNIT_DECLARE_MichaelMap_RCU_signal \ - TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_SHB_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_SHT_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_SHT_less_michaelAlloc) + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHB_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_SHT_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHB_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_SHT_less_michaelAlloc) # define CDSUNIT_TEST_MichaelMap_RCU_signal \ CPPUNIT_TEST(MichaelMap_RCU_SHB_cmp_stdAlloc) \ @@ -36,30 +52,31 @@ # define CDSUNIT_TEST_MichaelMap_RCU_signal #endif - +#undef CDSUNIT_DECLARE_MichaelMap #define CDSUNIT_DECLARE_MichaelMap \ - TEST_MAP_EXTRACT(MichaelMap_HP_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_HP_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_DHP_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_DHP_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPI_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPB_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_RCU_GPT_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_HP_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_DHP_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_DHP_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \ - TEST_MAP_EXTRACT(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\ + TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_HP_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_DHP_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPI_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPB_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_RCU_GPT_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_HP_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_DHP_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPI_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPB_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\ CDSUNIT_DECLARE_MichaelMap_RCU_signal +#undef CDSUNIT_TEST_MichaelMap #define CDSUNIT_TEST_MichaelMap \ CPPUNIT_TEST(MichaelMap_HP_cmp_stdAlloc) \ CPPUNIT_TEST(MichaelMap_HP_less_michaelAlloc) \ @@ -83,44 +100,52 @@ CPPUNIT_TEST(MichaelMap_Lazy_RCU_GPT_less_michaelAlloc)\ CDSUNIT_TEST_MichaelMap_RCU_signal +#undef CDSUNIT_DECLARE_MichaelMap_nogc #define CDSUNIT_DECLARE_MichaelMap_nogc \ - TEST_MAP(MichaelMap_NOGC_cmp_stdAlloc) \ - TEST_MAP(MichaelMap_NOGC_less_michaelAlloc) \ - TEST_MAP(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \ - TEST_MAP(MichaelMap_Lazy_NOGC_less_michaelAlloc) + TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_NOGC_less_michaelAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_cmp_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_unord_stdAlloc) \ + TEST_CASE(tag_MichaelHashMap, MichaelMap_Lazy_NOGC_less_michaelAlloc) +#undef CDSUNIT_TEST_MichaelMap_nogc #define CDSUNIT_TEST_MichaelMap_nogc \ CPPUNIT_TEST(MichaelMap_NOGC_cmp_stdAlloc) \ CPPUNIT_TEST(MichaelMap_NOGC_less_michaelAlloc) \ CPPUNIT_TEST(MichaelMap_Lazy_NOGC_cmp_stdAlloc) \ + CPPUNIT_TEST(MichaelMap_Lazy_NOGC_unord_stdAlloc) \ CPPUNIT_TEST(MichaelMap_Lazy_NOGC_less_michaelAlloc) \ + +// ************************************************************************************** +// SplitListMap + #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSUNIT_DECLARE_SplitList_RCU_signal \ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHB_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_SHT_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHB_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less)\ -TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHB_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_SHT_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHB_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_SHT_st_less_stat) # define CDSUNIT_TEST_SplitList_RCU_signal \ CPPUNIT_TEST(SplitList_Michael_RCU_SHB_dyn_cmp)\ @@ -153,67 +178,67 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) # define CDSUNIT_TEST_SplitList_RCU_signal #endif -#define CDSUNIT_DECLARE_SplitList \ - TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_HP_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_HP_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_HP_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_DHP_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPI_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPB_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less)\ - TEST_MAP_EXTRACT(SplitList_Michael_RCU_GPT_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_HP_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_DHP_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPI_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPB_st_less_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_cmp)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_dyn_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less)\ - TEST_MAP_EXTRACT(SplitList_Lazy_RCU_GPT_st_less_stat)\ +#define CDSUNIT_DECLARE_SplitList \ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_HP_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_DHP_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPI_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPB_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_RCU_GPT_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_HP_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_DHP_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPI_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPB_st_less_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_cmp_stat)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_RCU_GPT_st_less_stat)\ CDSUNIT_DECLARE_SplitList_RCU_signal #define CDSUNIT_TEST_SplitList \ @@ -280,14 +305,14 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CDSUNIT_TEST_SplitList_RCU_signal #define CDSUNIT_DECLARE_SplitList_nogc \ - TEST_MAP(SplitList_Michael_NOGC_dyn_cmp)\ - TEST_MAP(SplitList_Michael_NOGC_st_cmp)\ - TEST_MAP(SplitList_Michael_NOGC_dyn_less)\ - TEST_MAP(SplitList_Michael_NOGC_st_less)\ - TEST_MAP(SplitList_Lazy_NOGC_dyn_cmp)\ - TEST_MAP(SplitList_Lazy_NOGC_st_cmp)\ - TEST_MAP(SplitList_Lazy_NOGC_dyn_less)\ - TEST_MAP(SplitList_Lazy_NOGC_st_less) + TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Michael_NOGC_st_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_cmp)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_dyn_less)\ + TEST_CASE(tag_SplitListMap, SplitList_Lazy_NOGC_st_less) #define CDSUNIT_TEST_SplitList_nogc \ CPPUNIT_TEST(SplitList_Michael_NOGC_dyn_cmp)\ @@ -299,16 +324,20 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CPPUNIT_TEST(SplitList_Lazy_NOGC_dyn_less)\ CPPUNIT_TEST(SplitList_Lazy_NOGC_st_less) + +// ************************************************************************************** +// SkipListMap + #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSUNIT_DECLARE_SkipListMap_RCU_signal \ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_shb_cmp_xorshift_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_sht_cmp_xorshift_stat) + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_shb_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_sht_cmp_xorshift_stat) # define CDSUNIT_TEST_SkipListMap_RCU_signal \ CPPUNIT_TEST(SkipListMap_rcu_shb_less_pascal)\ @@ -326,29 +355,28 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #endif #define CDSUNIT_DECLARE_SkipListMap \ - TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_hp_cmp_xorshift_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_dhp_cmp_xorshift_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpi_cmp_xorshift_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpb_cmp_xorshift_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_pascal)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_pascal_stat)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_less_xorshift)\ - TEST_MAP_NOLF_EXTRACT(SkipListMap_rcu_gpt_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_hp_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_hp_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_dhp_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_dhp_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpi_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpb_cmp_xorshift_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_rcu_gpt_cmp_xorshift_stat)\ CDSUNIT_DECLARE_SkipListMap_RCU_signal - #define CDSUNIT_TEST_SkipListMap \ CPPUNIT_TEST(SkipListMap_hp_less_pascal)\ CPPUNIT_TEST(SkipListMap_hp_cmp_pascal_stat)\ @@ -373,10 +401,10 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CDSUNIT_TEST_SkipListMap_RCU_signal #define CDSUNIT_DECLARE_SkipListMap_nogc \ - TEST_MAP_NOLF(SkipListMap_nogc_less_pascal)\ - TEST_MAP_NOLF(SkipListMap_nogc_cmp_pascal_stat)\ - TEST_MAP_NOLF(SkipListMap_nogc_less_xorshift)\ - TEST_MAP_NOLF(SkipListMap_nogc_cmp_xorshift_stat) + TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_pascal)\ + TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_pascal_stat)\ + TEST_CASE(tag_SkipListMap, SkipListMap_nogc_less_xorshift)\ + TEST_CASE(tag_SkipListMap, SkipListMap_nogc_cmp_xorshift_stat) #define CDSUNIT_TEST_SkipListMap_nogc \ CPPUNIT_TEST(SkipListMap_nogc_less_pascal)\ @@ -384,12 +412,16 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CPPUNIT_TEST(SkipListMap_nogc_less_xorshift)\ CPPUNIT_TEST(SkipListMap_nogc_cmp_xorshift_stat) + +// ************************************************************************************** +// EllenBinTreeMap + #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal \ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_shb_stat)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_sht_stat) + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_shb_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_sht_stat) # define CDSUNIT_TEST_EllenBinTreeMap_RCU_signal \ CPPUNIT_TEST(EllenBinTreeMap_rcu_shb)\ @@ -402,19 +434,19 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #endif #define CDSUNIT_DECLARE_EllenBinTreeMap \ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_yield)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_hp_stat)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_yield)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_dhp_stat)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpi_stat)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_yield)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpb_stat)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt)\ - TEST_MAP_NOLF_EXTRACT(EllenBinTreeMap_rcu_gpt_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_yield)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_hp_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_yield)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_dhp_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpi_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_yield)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpb_stat)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt)\ + TEST_CASE(tag_EllenBinTreeMap, EllenBinTreeMap_rcu_gpt_stat)\ CDSUNIT_DECLARE_EllenBinTreeMap_RCU_signal #define CDSUNIT_TEST_EllenBinTreeMap \ @@ -433,49 +465,45 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CPPUNIT_TEST(EllenBinTreeMap_rcu_gpt_stat)\ CDSUNIT_TEST_EllenBinTreeMap_RCU_signal + +// ************************************************************************************** +// BronsonAVLTreeMap + #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED # define CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_ic) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_ic) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_cmp_ic_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_cmp_ic_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_cmp_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_cmp_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_simple) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_simple) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \ # define CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_stat) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_stat) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_ic) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_ic) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_ic_stat) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_ic_stat) \ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_cmp_stat) \ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_cmp_stat) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_simple_stat) \ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_simple_stat) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_lazy_stat) \ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_lazy_stat) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded) \ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_shb_less_pool_bounded_stat) \ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded) \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_sht_less_pool_bounded_stat) \ #else @@ -484,76 +512,68 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #endif #define CDSUNIT_DECLARE_BronsonAVLTreeMap \ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_ic)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_ic)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_ic)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_cmp_ic_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_cmp_ic_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_cmp_ic_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\ - TEST_MAP_NOLF_EXTRACT(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_cmp_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_cmp_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_cmp_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\ + TEST_CASE(tag_BronsonAVLTreeMap, BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\ CDSUNIT_DECLARE_BronsonAVLTreeMap_RCU_signal #define CDSUNIT_TEST_BronsonAVLTreeMap \ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_stat)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_stat)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_stat)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_stat)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_stat)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_ic)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_ic)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_ic)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_cmp_ic_stat)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_cmp_ic_stat)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_ic_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_cmp_stat)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_simple_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_simple_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_simple_stat)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_lazy_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_lazy_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_lazy_stat)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\ - CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpi_less_pool_bounded_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpb_less_pool_bounded_stat)\ + CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded)\ CPPUNIT_TEST(BronsonAVLTreeMap_rcu_gpt_less_pool_bounded_stat)\ CDSUNIT_TEST_BronsonAVLTreeMap_RCU_signal + +// ************************************************************************************** +// StripedMap + #define CDSUNIT_DECLARE_StripedMap_common \ - TEST_MAP(StripedMap_list) \ - TEST_MAP(StripedMap_map) \ - TEST_MAP(StripedMap_hashmap) \ - TEST_MAP(StripedMap_boost_unordered_map) + TEST_CASE(tag_StripedMap, StripedMap_list) \ + TEST_CASE(tag_StripedMap, StripedMap_map) \ + TEST_CASE(tag_StripedMap, StripedMap_hashmap) \ + TEST_CASE(tag_StripedMap, StripedMap_boost_unordered_map) #define CDSUNIT_TEST_StripedMap_common \ CPPUNIT_TEST(StripedMap_list) \ @@ -563,9 +583,10 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #if BOOST_VERSION >= 104800 # define CDSUNIT_DECLARE_StripedMap_boost_container \ - TEST_MAP(StripedMap_boost_list) \ - TEST_MAP(StripedMap_slist) \ - TEST_MAP(StripedMap_boost_map) + TEST_CASE(tag_StripedMap, StripedMap_boost_list) \ + TEST_CASE(tag_StripedMap, StripedMap_slist) \ + TEST_CASE(tag_StripedMap, StripedMap_boost_map) + # define CDSUNIT_TEST_StripedMap_boost_container \ CPPUNIT_TEST(StripedMap_boost_list) \ CPPUNIT_TEST(StripedMap_slist) \ @@ -577,7 +598,8 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS) # define CDSUNIT_DECLARE_StripedMap_boost_flat_container \ - TEST_MAP(StripedMap_boost_flat_map) + TEST_CASE(tag_StripedMap, StripedMap_boost_flat_map) + # define CDSUNIT_TEST_StripedMap_boost_flat_container \ CPPUNIT_TEST(StripedMap_boost_flat_map) #else @@ -589,18 +611,22 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CDSUNIT_DECLARE_StripedMap_common \ CDSUNIT_DECLARE_StripedMap_boost_container \ CDSUNIT_DECLARE_StripedMap_boost_flat_container + #define CDSUNIT_TEST_StripedMap \ CDSUNIT_TEST_StripedMap_common \ CDSUNIT_TEST_StripedMap_boost_container \ CDSUNIT_TEST_StripedMap_boost_flat_container +// ************************************************************************************** +// RefinableMap #define CDSUNIT_DECLARE_RefinableMap_common \ - TEST_MAP(RefinableMap_list) \ - TEST_MAP(RefinableMap_map) \ - TEST_MAP(RefinableMap_hashmap) \ - TEST_MAP(RefinableMap_boost_unordered_map) + TEST_CASE(tag_StripedMap, RefinableMap_list) \ + TEST_CASE(tag_StripedMap, RefinableMap_map) \ + TEST_CASE(tag_StripedMap, RefinableMap_hashmap) \ + TEST_CASE(tag_StripedMap, RefinableMap_boost_unordered_map) + #define CDSUNIT_TEST_RefinableMap_common \ CPPUNIT_TEST(RefinableMap_list) \ CPPUNIT_TEST(RefinableMap_map) \ @@ -609,9 +635,10 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #if BOOST_VERSION >= 104800 # define CDSUNIT_DECLARE_RefinableMap_boost_container \ - TEST_MAP(RefinableMap_boost_list) \ - TEST_MAP(RefinableMap_slist) \ - TEST_MAP(RefinableMap_boost_map) + TEST_CASE(tag_StripedMap, RefinableMap_boost_list) \ + TEST_CASE(tag_StripedMap, RefinableMap_slist) \ + TEST_CASE(tag_StripedMap, RefinableMap_boost_map) + # define CDSUNIT_TEST_RefinableMap_boost_container \ CPPUNIT_TEST(RefinableMap_boost_list) \ CPPUNIT_TEST(RefinableMap_slist) \ @@ -623,7 +650,8 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) #if BOOST_VERSION >= 104800 && defined(CDS_UNIT_MAP_TYPES_ENABLE_BOOST_FLAT_CONTAINERS) # define CDSUNIT_DECLARE_RefinableMap_boost_flat_container \ - TEST_MAP(RefinableMap_boost_flat_map) + TEST_CASE(tag_StripedMap, RefinableMap_boost_flat_map) + # define CDSUNIT_TEST_RefinableMap_boost_flat_container \ CPPUNIT_TEST(RefinableMap_boost_flat_map) #else @@ -635,36 +663,41 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CDSUNIT_DECLARE_RefinableMap_common \ CDSUNIT_DECLARE_RefinableMap_boost_container \ CDSUNIT_DECLARE_RefinableMap_boost_flat_container + #define CDSUNIT_TEST_RefinableMap \ CDSUNIT_TEST_RefinableMap_common \ CDSUNIT_TEST_RefinableMap_boost_container \ CDSUNIT_TEST_RefinableMap_boost_flat_container + +// ************************************************************************************** +// CuckooMap + #define CDSUNIT_DECLARE_CuckooMap \ - TEST_MAP(CuckooStripedMap_list_unord)\ - TEST_MAP(CuckooStripedMap_list_ord)\ - TEST_MAP(CuckooStripedMap_vector_unord)\ - TEST_MAP(CuckooStripedMap_vector_ord)\ - TEST_MAP(CuckooStripedMap_list_unord_stat)\ - TEST_MAP(CuckooStripedMap_list_ord_stat)\ - TEST_MAP(CuckooStripedMap_vector_unord_stat)\ - TEST_MAP(CuckooStripedMap_vector_ord_stat)\ - TEST_MAP(CuckooRefinableMap_list_unord)\ - TEST_MAP(CuckooRefinableMap_list_ord)\ - TEST_MAP(CuckooRefinableMap_vector_unord)\ - TEST_MAP(CuckooRefinableMap_vector_ord) \ - TEST_MAP(CuckooRefinableMap_list_unord_stat)\ - TEST_MAP(CuckooRefinableMap_list_ord_stat)\ - TEST_MAP(CuckooRefinableMap_vector_unord_stat)\ - TEST_MAP(CuckooRefinableMap_vector_ord_stat) \ - TEST_MAP(CuckooStripedMap_list_unord_storehash)\ - TEST_MAP(CuckooStripedMap_list_ord_storehash)\ - TEST_MAP(CuckooStripedMap_vector_unord_storehash)\ - TEST_MAP(CuckooStripedMap_vector_ord_storehash)\ - TEST_MAP(CuckooRefinableMap_list_unord_storehash)\ - TEST_MAP(CuckooRefinableMap_list_ord_storehash)\ - TEST_MAP(CuckooRefinableMap_vector_unord_storehash)\ - TEST_MAP(CuckooRefinableMap_vector_ord_storehash) + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord) \ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord_stat)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord_stat) \ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_unord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_list_ord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_unord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooStripedMap_vector_ord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_unord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_list_ord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_unord_storehash)\ + TEST_CASE(tag_CuckooMap, CuckooRefinableMap_vector_ord_storehash) #define CDSUNIT_TEST_CuckooMap \ CPPUNIT_TEST(CuckooStripedMap_list_unord)\ @@ -692,4 +725,353 @@ TEST_MAP_EXTRACT(SplitList_Lazy_RCU_SHT_st_less_stat) CPPUNIT_TEST(CuckooRefinableMap_vector_ord_stat)\ CPPUNIT_TEST(CuckooRefinableMap_vector_ord_storehash) -#endif // #ifndef CDSUNIT_MAP_DEFS_H + +// ************************************************************************************** +// FeldmanHashMap + + +// fixed-sized key - no hash function is necessary + +#undef CDSUNIT_DECLARE_FeldmanHashMap_fixed +#undef CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_fixed +#undef CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_fixed_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_fixed_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_fixed_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_fixed_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_fixed \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_fixed_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_fixed_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_fixed_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_fixed_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_fixed) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_fixed_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_fixed_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_fixed \ + CPPUNIT_TEST(FeldmanHashMap_hp_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_hp_fixed_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_fixed_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_fixed_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_fixed_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_fixed) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_fixed_stat) \ + CDSUNIT_TEST_FeldmanHashMap_fixed_RCU_Signal + +// std::hash + +#undef CDSUNIT_DECLARE_FeldmanHashMap_stdhash +#undef CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_stdhash +#undef CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_stdhash_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_stdhash_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_stdhash_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_stdhash_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_stdhash \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_stdhash_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_stdhash_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_stdhash_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_stdhash_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_stdhash) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_stdhash_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_stdhash_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_stdhash \ + CPPUNIT_TEST(FeldmanHashMap_hp_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_hp_stdhash_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_stdhash_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_stdhash_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_stdhash_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_stdhash) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_stdhash_stat) \ + CDSUNIT_TEST_FeldmanHashMap_stdhash_RCU_Signal + +// MD5 + +#undef CDSUNIT_DECLARE_FeldmanHashMap_md5 +#undef CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_md5 +#undef CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_md5_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_md5_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_md5) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_md5_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_md5) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_md5_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_md5 \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_md5_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_md5_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_md5_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_md5_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_md5) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_md5_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_md5_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_md5 \ + CPPUNIT_TEST(FeldmanHashMap_hp_md5) \ + CPPUNIT_TEST(FeldmanHashMap_hp_md5_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_md5) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_md5_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_md5) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_md5_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_md5) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_md5_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_md5) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_md5_stat) \ + CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal + +// SHA256 + +#undef CDSUNIT_DECLARE_FeldmanHashMap_sha256 +#undef CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_sha256 +#undef CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_sha256_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_sha256_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_sha256_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_sha256_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_sha256 \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_sha256_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_sha256_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_sha256_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_sha256_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_sha256) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_sha256_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_sha256 \ + CPPUNIT_TEST(FeldmanHashMap_hp_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_hp_sha256_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_sha256_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_sha256_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_sha256_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_sha256) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_sha256_stat) \ + CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal + +// CityHash - only for 64bit + +#undef CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal + +#if CDS_BUILD_BITS == 64 + +#undef CDSUNIT_DECLARE_FeldmanHashMap_city64 +#undef CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_city64 +#undef CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city64_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city64_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city64) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city64_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city64) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city64_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_city64 \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city64_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city64_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city64_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city64_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city64) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city64_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_city64_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_city64 \ + CPPUNIT_TEST(FeldmanHashMap_hp_city64) \ + CPPUNIT_TEST(FeldmanHashMap_hp_city64_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_city64) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_city64_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city64) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city64_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city64) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city64_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city64) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city64_stat) \ + CDSUNIT_TEST_FeldmanHashMap_city64_RCU_Signal + +#undef CDSUNIT_DECLARE_FeldmanHashMap_city128 +#undef CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal +#undef CDSUNIT_TEST_FeldmanHashMap_city128 +#undef CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal + +#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED +# define CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_city128_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_city128_stat) \ + +# define CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city128) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_shb_city128_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city128) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_sht_city128_stat) \ + +#else +# define CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal +# define CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal +#endif + + +#define CDSUNIT_DECLARE_FeldmanHashMap_city128 \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_city128_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_city128_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_city128_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_city128_stat) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city128) \ + TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_city128_stat) \ + CDSUNIT_DECLARE_FeldmanHashMap_city128_RCU_Signal + +#define CDSUNIT_TEST_FeldmanHashMap_city128 \ + CPPUNIT_TEST(FeldmanHashMap_hp_city128) \ + CPPUNIT_TEST(FeldmanHashMap_hp_city128_stat) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_city128) \ + CPPUNIT_TEST(FeldmanHashMap_dhp_city128_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city128) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_city128_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city128) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_city128_stat) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city128) \ + CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_city128_stat) \ + CDSUNIT_TEST_FeldmanHashMap_city128_RCU_Signal + +#define CDSUNIT_DECLARE_FeldmanHashMap_city \ + CDSUNIT_DECLARE_FeldmanHashMap_city64 \ + CDSUNIT_DECLARE_FeldmanHashMap_city128 + +#define CDSUNIT_TEST_FeldmanHashMap_city \ + CDSUNIT_TEST_FeldmanHashMap_city64 \ + CDSUNIT_TEST_FeldmanHashMap_city128 + +#else // 32bit +# define CDSUNIT_DECLARE_FeldmanHashMap_city +# define CDSUNIT_TEST_FeldmanHashMap_city +#endif // #if CDS_BUILD_BITS == 64 + +#undef CDSUNIT_DECLARE_FeldmanHashMap +#undef CDSUNIT_TEST_FeldmanHashMap + +#define CDSUNIT_DECLARE_FeldmanHashMap \ + CDSUNIT_DECLARE_FeldmanHashMap_fixed \ + CDSUNIT_DECLARE_FeldmanHashMap_stdhash \ + CDSUNIT_DECLARE_FeldmanHashMap_md5 \ + CDSUNIT_DECLARE_FeldmanHashMap_sha256 \ + CDSUNIT_DECLARE_FeldmanHashMap_city \ + +#define CDSUNIT_TEST_FeldmanHashMap \ + CDSUNIT_TEST_FeldmanHashMap_fixed \ + CDSUNIT_TEST_FeldmanHashMap_stdhash \ + CDSUNIT_TEST_FeldmanHashMap_md5 \ + CDSUNIT_TEST_FeldmanHashMap_sha256 \ + CDSUNIT_TEST_FeldmanHashMap_city +