From e4329b6fc7b032c9aeb4a7d8ffa224724deab11b Mon Sep 17 00:00:00 2001 From: khizmax Date: Mon, 7 Sep 2015 22:54:52 +0300 Subject: [PATCH] Refactored Map_InsDel_Item_int MT-test --- .../Win/vc12/unit-map-insdel-item.vcxproj | 2 +- .../vc12/unit-map-insdel-item.vcxproj.filters | 6 +- projects/source.unit.map.mk | 10 +- tests/data/test-debug.conf | 8 ++ tests/data/test-express.conf | 8 ++ tests/data/test.conf | 8 ++ tests/unit/map2/CMakeLists.txt | 10 +- tests/unit/map2/map_insdel_item_int.cpp | 29 ++-- tests/unit/map2/map_insdel_item_int.h | 136 ++++++++++-------- .../map_insdel_item_int_bronsonavltree.cpp | 10 +- .../unit/map2/map_insdel_item_int_cuckoo.cpp | 10 +- .../map2/map_insdel_item_int_ellentree.cpp | 10 +- .../unit/map2/map_insdel_item_int_michael.cpp | 10 +- .../map_insdel_item_int_multilevelhashmap.cpp | 12 ++ .../map2/map_insdel_item_int_refinable.cpp | 12 -- tests/unit/map2/map_insdel_item_int_skip.cpp | 10 +- tests/unit/map2/map_insdel_item_int_split.cpp | 10 +- .../unit/map2/map_insdel_item_int_striped.cpp | 11 +- 18 files changed, 172 insertions(+), 140 deletions(-) create mode 100644 tests/unit/map2/map_insdel_item_int_multilevelhashmap.cpp delete mode 100644 tests/unit/map2/map_insdel_item_int_refinable.cpp diff --git a/projects/Win/vc12/unit-map-insdel-item.vcxproj b/projects/Win/vc12/unit-map-insdel-item.vcxproj index dca2f9eb..3b511b94 100644 --- a/projects/Win/vc12/unit-map-insdel-item.vcxproj +++ b/projects/Win/vc12/unit-map-insdel-item.vcxproj @@ -48,7 +48,7 @@ - + diff --git a/projects/Win/vc12/unit-map-insdel-item.vcxproj.filters b/projects/Win/vc12/unit-map-insdel-item.vcxproj.filters index 29dc3c71..6c28496d 100644 --- a/projects/Win/vc12/unit-map-insdel-item.vcxproj.filters +++ b/projects/Win/vc12/unit-map-insdel-item.vcxproj.filters @@ -24,9 +24,6 @@ map_insdel_item_int - - map_insdel_item_int - map_insdel_item_int @@ -63,6 +60,9 @@ map_insdel_item_string + + map_insdel_item_int + diff --git a/projects/source.unit.map.mk b/projects/source.unit.map.mk index f6cde972..15c35b5d 100644 --- a/projects/source.unit.map.mk +++ b/projects/source.unit.map.mk @@ -50,14 +50,14 @@ CDSUNIT_MAP_SOURCES := \ tests/unit/map2/map_insdel_int_striped.cpp \ tests/unit/map2/map_insdel_int_std.cpp \ tests/unit/map2/map_insdel_item_int.cpp \ + tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp \ + tests/unit/map2/map_insdel_item_int_cuckoo.cpp \ + tests/unit/map2/map_insdel_item_int_ellentree.cpp \ tests/unit/map2/map_insdel_item_int_michael.cpp \ - tests/unit/map2/map_insdel_item_int_split.cpp \ + tests/unit/map2/map_insdel_item_int_multilevelhashmap.cpp \ tests/unit/map2/map_insdel_item_int_skip.cpp \ - tests/unit/map2/map_insdel_item_int_ellentree.cpp \ - tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp \ + tests/unit/map2/map_insdel_item_int_split.cpp \ tests/unit/map2/map_insdel_item_int_striped.cpp \ - tests/unit/map2/map_insdel_item_int_refinable.cpp \ - tests/unit/map2/map_insdel_item_int_cuckoo.cpp \ tests/unit/map2/map_insdel_item_string.cpp \ tests/unit/map2/map_insdel_item_string_bronsonavltree.cpp \ tests/unit/map2/map_insdel_item_string_cuckoo.cpp \ diff --git a/tests/data/test-debug.conf b/tests/data/test-debug.conf index 9ca66223..96a98433 100644 --- a/tests/data/test-debug.conf +++ b/tests/data/test-debug.conf @@ -187,6 +187,14 @@ GoalItem=5000 AttemptCount=1000 MaxLoadFactor=4 PrintGCStateFlag=1 +# *** Cuckoo map properties +CuckooInitialSize=256 +CuckooProbesetSize=8 +# 0 - use default +CuckooProbesetThreshold=0 +# *** MultiLevelHashMap properties +MultiLevelMapHeadBits=8 +MultiLevelMapArrayBits=4 [Map_InsDel_string] InsertThreadCount=4 diff --git a/tests/data/test-express.conf b/tests/data/test-express.conf index 4acc4842..58547ead 100644 --- a/tests/data/test-express.conf +++ b/tests/data/test-express.conf @@ -185,6 +185,14 @@ GoalItem=50000 AttemptCount=100 MaxLoadFactor=4 PrintGCStateFlag=1 +# *** Cuckoo map properties +CuckooInitialSize=1024 +CuckooProbesetSize=16 +# 0 - use default +CuckooProbesetThreshold=0 +# *** MultiLevelHashMap properties +MultiLevelMapHeadBits=8 +MultiLevelMapArrayBits=4 [Map_InsDel_string] InsertThreadCount=4 diff --git a/tests/data/test.conf b/tests/data/test.conf index 66e994a1..1a0bccbb 100644 --- a/tests/data/test.conf +++ b/tests/data/test.conf @@ -180,6 +180,14 @@ GoalItem=500000 AttemptCount=10000 MaxLoadFactor=4 PrintGCStateFlag=1 +# *** Cuckoo map properties +CuckooInitialSize=1024 +CuckooProbesetSize=16 +# 0 - use default +CuckooProbesetThreshold=0 +# *** MultiLevelHashMap properties +MultiLevelMapHeadBits=10 +MultiLevelMapArrayBits=4 [Map_InsDel_string] InsertThreadCount=4 diff --git a/tests/unit/map2/CMakeLists.txt b/tests/unit/map2/CMakeLists.txt index 02b476d9..d449b989 100644 --- a/tests/unit/map2/CMakeLists.txt +++ b/tests/unit/map2/CMakeLists.txt @@ -51,14 +51,14 @@ set(CDSUNIT_MAP_SOURCES map_insdel_int_striped.cpp map_insdel_int_std.cpp map_insdel_item_int.cpp + map_insdel_item_int_bronsonavltree.cpp + map_insdel_item_int_cuckoo.cpp + map_insdel_item_int_ellentree.cpp map_insdel_item_int_michael.cpp - map_insdel_item_int_split.cpp + map_insdel_item_int_multilevelhashmap.cpp map_insdel_item_int_skip.cpp - map_insdel_item_int_ellentree.cpp - map_insdel_item_int_bronsonavltree.cpp + map_insdel_item_int_split.cpp map_insdel_item_int_striped.cpp - map_insdel_item_int_refinable.cpp - map_insdel_item_int_cuckoo.cpp map_insdel_item_string.cpp map_insdel_item_string_michael.cpp map_insdel_item_string_split.cpp diff --git a/tests/unit/map2/map_insdel_item_int.cpp b/tests/unit/map2/map_insdel_item_int.cpp index cfb7d8c2..12e93805 100644 --- a/tests/unit/map2/map_insdel_item_int.cpp +++ b/tests/unit/map2/map_insdel_item_int.cpp @@ -5,36 +5,23 @@ namespace map2 { CPPUNIT_TEST_SUITE_REGISTRATION( Map_InsDel_Item_int ); - size_t Map_InsDel_Item_int::c_nMapSize = 1000000 ; // map size - size_t Map_InsDel_Item_int::c_nThreadCount = 4 ; // thread count - size_t Map_InsDel_Item_int::c_nGoalItem = Map_InsDel_Item_int::c_nMapSize / 2; - size_t Map_InsDel_Item_int::c_nAttemptCount = 100000 ; // count of SUCCESS insert/delete for each thread - size_t Map_InsDel_Item_int::c_nMaxLoadFactor = 8 ; // maximum load factor - bool Map_InsDel_Item_int::c_bPrintGCState = true; - void Map_InsDel_Item_int::setUpParams( const CppUnitMini::TestCfg& cfg ) { c_nThreadCount = cfg.getSizeT("ThreadCount", c_nThreadCount ); c_nMapSize = cfg.getSizeT("MapSize", c_nMapSize ); - c_nGoalItem = cfg.getSizeT("GoalItem", c_nGoalItem ); + c_nGoalItem = cfg.getSizeT("GoalItem", c_nMapSize / 2 ); c_nAttemptCount = cfg.getSizeT("AttemptCount", c_nAttemptCount ); c_nMaxLoadFactor = cfg.getSizeT("MaxLoadFactor", c_nMaxLoadFactor ); c_bPrintGCState = cfg.getBool("PrintGCStateFlag", true ); - } - void Map_InsDel_Item_int::myRun(const char *in_name, bool invert /*= false*/) - { - setUpParams( m_Cfg.get( "Map_InsDel_Item_int" )); + c_nCuckooInitialSize = cfg.getSizeT("CuckooInitialSize", c_nCuckooInitialSize); + c_nCuckooProbesetSize = cfg.getSizeT("CuckooProbesetSize", c_nCuckooProbesetSize); + c_nCuckooProbesetThreshold = cfg.getSizeT("CuckooProbesetThreshold", c_nCuckooProbesetThreshold); - run_MichaelMap(in_name, invert); - run_SplitList(in_name, invert); - run_SkipListMap(in_name, invert); - run_EllenBinTreeMap(in_name, invert); - run_BronsonAVLTreeMap(in_name, invert); - run_StripedMap(in_name, invert); - run_RefinableMap(in_name, invert); - run_CuckooMap(in_name, invert); + c_nMultiLevelMap_HeadBits = cfg.getSizeT("MultiLevelMapHeadBits", c_nMultiLevelMap_HeadBits); + c_nMultiLevelMap_ArrayBits = cfg.getSizeT("MultiLevelMapArrayBits", c_nMultiLevelMap_ArrayBits); - endTestCase(); + if ( c_nThreadCount == 0 ) + c_nThreadCount = std::thread::hardware_concurrency() * 2; } } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int.h b/tests/unit/map2/map_insdel_item_int.h index 298b970b..a18bdca9 100644 --- a/tests/unit/map2/map_insdel_item_int.h +++ b/tests/unit/map2/map_insdel_item_int.h @@ -7,35 +7,43 @@ namespace map2 { -# define TEST_MAP(IMPL, C, X) void C::X() { test::X >(); } -# define TEST_MAP_NOLF(IMPL, C, X) void C::X() { test_nolf::X >(); } -# define TEST_MAP_EXTRACT(IMPL, C, X) TEST_MAP(IMPL, C, X) -# define TEST_MAP_NOLF_EXTRACT(IMPL, C, X) TEST_MAP_NOLF(IMPL, C, X) +#define TEST_CASE(TAG, X) void X(); class Map_InsDel_Item_int: public CppUnitMini::TestCase { - static size_t c_nMapSize; // map size - static size_t c_nThreadCount; // thread count - static size_t c_nGoalItem; - static size_t c_nAttemptCount; // count of SUCCESS insert/delete for each thread - static size_t c_nMaxLoadFactor; // maximum load factor - static bool c_bPrintGCState; + public: + size_t c_nMapSize = 1000000; // map size + size_t c_nThreadCount = 4; // thread count + size_t c_nAttemptCount = 100000; // count of SUCCESS insert/delete for each thread + size_t c_nMaxLoadFactor = 8; // maximum load factor + bool c_bPrintGCState = true; + size_t c_nCuckooInitialSize = 1024;// initial size for CuckooMap + size_t c_nCuckooProbesetSize = 16; // CuckooMap probeset size (only for list-based probeset) + size_t c_nCuckooProbesetThreshold = 0; // CUckooMap probeset threshold (o - use default) + + size_t c_nMultiLevelMap_HeadBits = 10; + size_t c_nMultiLevelMap_ArrayBits = 4; + + size_t c_nGoalItem; + size_t c_nLoadFactor = 2; // current load factor + + private: typedef CppUnitMini::TestCase Base; typedef size_t key_type; typedef size_t value_type; - template + template class Inserter: public CppUnitMini::TestThread { - MAP& m_Map; + Map& m_Map; virtual Inserter * clone() { return new Inserter( *this ); } - struct ensure_func + struct update_func { void operator()( bool bNew, std::pair& item ) { @@ -55,6 +63,13 @@ namespace map2 { if ( bNew ) val = key; } + + // for MultiLevelHashMap + void operator()( std::pair& item, std::pair * pOld ) + { + if ( !pOld ) + item.second = item.first; + } }; public: @@ -62,7 +77,7 @@ namespace map2 { size_t m_nInsertFailed; public: - Inserter( CppUnitMini::ThreadPool& pool, MAP& rMap ) + Inserter( CppUnitMini::ThreadPool& pool, Map& rMap ) : CppUnitMini::TestThread( pool ) , m_Map( rMap ) {} @@ -81,13 +96,15 @@ namespace map2 { virtual void test() { - MAP& rMap = m_Map; + Map& rMap = m_Map; m_nInsertSuccess = m_nInsertFailed = 0; - size_t nGoalItem = c_nGoalItem; - for ( size_t nAttempt = 0; nAttempt < c_nAttemptCount; ) { + size_t nGoalItem = getTest().c_nGoalItem; + size_t const nAttemptCount = getTest().c_nAttemptCount; + + for ( size_t nAttempt = 0; nAttempt < nAttemptCount; ) { if ( nAttempt % 2 == 0 ) { if ( rMap.insert( nGoalItem, nGoalItem )) { ++m_nInsertSuccess; @@ -97,8 +114,8 @@ namespace map2 { ++m_nInsertFailed; } else { - std::pair ensureResult = rMap.ensure( nGoalItem, ensure_func() ); - if ( ensureResult.second ) { + std::pair updateResult = rMap.update( nGoalItem, update_func(), true ); + if ( updateResult.second ) { ++m_nInsertSuccess; ++nAttempt; } @@ -109,10 +126,10 @@ namespace map2 { } }; - template + template class Deleter: public CppUnitMini::TestThread { - MAP& m_Map; + Map& m_Map; virtual Deleter * clone() { @@ -123,7 +140,7 @@ namespace map2 { size_t m_nDeleteFailed; public: - Deleter( CppUnitMini::ThreadPool& pool, MAP& rMap ) + Deleter( CppUnitMini::ThreadPool& pool, Map& rMap ) : CppUnitMini::TestThread( pool ) , m_Map( rMap ) {} @@ -142,13 +159,14 @@ namespace map2 { virtual void test() { - MAP& rMap = m_Map; + Map& rMap = m_Map; m_nDeleteSuccess = m_nDeleteFailed = 0; - size_t nGoalItem = c_nGoalItem; - for ( size_t nAttempt = 0; nAttempt < c_nAttemptCount; ) { + size_t nGoalItem = getTest().c_nGoalItem; + size_t const nAttemptCount = getTest().c_nAttemptCount; + for ( size_t nAttempt = 0; nAttempt < nAttemptCount; ) { if ( rMap.erase( nGoalItem )) { ++m_nDeleteSuccess; ++nAttempt; @@ -161,11 +179,11 @@ namespace map2 { protected: - template - void do_test( MAP& testMap ) + template + void do_test( Map& testMap ) { - typedef Inserter InserterThread; - typedef Deleter DeleterThread; + typedef Inserter InserterThread; + typedef Deleter DeleterThread; cds::OS::Timer timer; // Fill the map @@ -210,7 +228,7 @@ namespace map2 { } CPPUNIT_CHECK( nInsertSuccess == nDeleteSuccess ); size_t nGoalItem = c_nGoalItem; - CPPUNIT_CHECK( testMap.find( nGoalItem )); + CPPUNIT_CHECK( testMap.contains( nGoalItem )); CPPUNIT_MSG( " Totals: Ins fail=" << nInsertFailed << " Del fail=" << nDeleteFailed ); @@ -219,7 +237,7 @@ namespace map2 { CPPUNIT_MSG( " Check if the map contains all items" ); timer.reset(); for ( size_t i = 0; i < c_nMapSize; ++i ) { - CPPUNIT_CHECK_EX( testMap.find( i ), "key " << i ); + CPPUNIT_CHECK_EX( testMap.contains( i ), "key " << i ); } CPPUNIT_MSG( " Duration=" << timer.duration() ); @@ -231,49 +249,51 @@ namespace map2 { additional_cleanup( testMap ); } - template - void test() + template + void run_test() { - for ( size_t nLoadFactor = 1; nLoadFactor <= c_nMaxLoadFactor; nLoadFactor *= 2 ) { - CPPUNIT_MSG( "Load factor=" << nLoadFactor ); - MAP testMap( c_nMapSize, nLoadFactor ); - do_test( testMap ); + if ( Map::c_bLoadFactorDepended ) { + for ( size_t nLoadFactor = 1; nLoadFactor <= c_nMaxLoadFactor; nLoadFactor *= 2 ) { + CPPUNIT_MSG( "Load factor=" << nLoadFactor ); + Map testMap( *this ); + do_test( testMap ); + if ( c_bPrintGCState ) + print_gc_state(); + } + } + else { + Map testMap( *this ); + do_test( testMap ); if ( c_bPrintGCState ) print_gc_state(); } } - template - void test_nolf() - { - MAP testMap; - do_test( testMap ); - if ( c_bPrintGCState ) - print_gc_state(); - } - void setUpParams( const CppUnitMini::TestCfg& cfg ); - void run_MichaelMap(const char *in_name, bool invert = false); - void run_SplitList(const char *in_name, bool invert = false); - void run_SkipListMap(const char *in_name, bool invert = false); - void run_StripedMap(const char *in_name, bool invert = false); - void run_RefinableMap(const char *in_name, bool invert = false); - void run_CuckooMap(const char *in_name, bool invert = false); - void run_EllenBinTreeMap(const char *in_name, bool invert = false); - void run_BronsonAVLTreeMap(const char *in_name, bool invert = false); - - virtual void myRun(const char *in_name, bool invert = false); - # include "map2/map_defs.h" CDSUNIT_DECLARE_MichaelMap CDSUNIT_DECLARE_SplitList CDSUNIT_DECLARE_SkipListMap CDSUNIT_DECLARE_EllenBinTreeMap CDSUNIT_DECLARE_BronsonAVLTreeMap + CDSUNIT_DECLARE_MultiLevelHashMap CDSUNIT_DECLARE_StripedMap CDSUNIT_DECLARE_RefinableMap CDSUNIT_DECLARE_CuckooMap - //CDSUNIT_DECLARE_StdMap // very slow! + // CDSUNIT_DECLARE_StdMap // very slow!! + + CPPUNIT_TEST_SUITE(Map_InsDel_int) + CDSUNIT_TEST_MichaelMap + CDSUNIT_TEST_SplitList + CDSUNIT_TEST_SkipListMap + CDSUNIT_TEST_EllenBinTreeMap + CDSUNIT_TEST_BronsonAVLTreeMap + CDSUNIT_TEST_MultiLevelHashMap + CDSUNIT_TEST_CuckooMap + CDSUNIT_TEST_StripedMap + CDSUNIT_TEST_RefinableMap + // CDSUNIT_TEST_StdMap // very slow!! + CPPUNIT_TEST_SUITE_END(); }; } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp b/tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp index 2146deeb..e97a1194 100644 --- a/tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp +++ b/tests/unit/map2/map_insdel_item_int_bronsonavltree.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_bronson_avltree.h" -namespace map2 { - CDSUNIT_DEFINE_BronsonAVLTreeMap( cc::bronson_avltree::implementation_tag, Map_InsDel_Item_int) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_BronsonAVLTreeMap ) - CDSUNIT_TEST_BronsonAVLTreeMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_BronsonAVLTreeMap } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_cuckoo.cpp b/tests/unit/map2/map_insdel_item_int_cuckoo.cpp index a0dd6d6a..7319540c 100644 --- a/tests/unit/map2/map_insdel_item_int_cuckoo.cpp +++ b/tests/unit/map2/map_insdel_item_int_cuckoo.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_cuckoo.h" -namespace map2 { - CDSUNIT_DEFINE_CuckooMap(cds::intrusive::cuckoo::implementation_tag, Map_InsDel_Item_int) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_CuckooMap ) - CDSUNIT_TEST_CuckooMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_CuckooMap } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_ellentree.cpp b/tests/unit/map2/map_insdel_item_int_ellentree.cpp index 6790ec19..32165898 100644 --- a/tests/unit/map2/map_insdel_item_int_ellentree.cpp +++ b/tests/unit/map2/map_insdel_item_int_ellentree.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_ellen_bintree.h" -namespace map2 { - CDSUNIT_DEFINE_EllenBinTreeMap( cc::ellen_bintree::implementation_tag, Map_InsDel_Item_int) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_EllenBinTreeMap ) - CDSUNIT_TEST_EllenBinTreeMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_EllenBinTreeMap } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_michael.cpp b/tests/unit/map2/map_insdel_item_int_michael.cpp index 487af6b2..e8ff030a 100644 --- a/tests/unit/map2/map_insdel_item_int_michael.cpp +++ b/tests/unit/map2/map_insdel_item_int_michael.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_michael.h" -namespace map2 { - CDSUNIT_DEFINE_MichaelMap( cc::michael_map::implementation_tag, Map_InsDel_Item_int ) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_MichaelMap ) - CDSUNIT_TEST_MichaelMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_MichaelMap } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_multilevelhashmap.cpp b/tests/unit/map2/map_insdel_item_int_multilevelhashmap.cpp new file mode 100644 index 00000000..1e1f1a4c --- /dev/null +++ b/tests/unit/map2/map_insdel_item_int_multilevelhashmap.cpp @@ -0,0 +1,12 @@ +//$$CDS-header$$ + +#include "map2/map_insdel_item_int.h" +#include "map2/map_type_multilevel_hashmap.h" + +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" + +namespace map2 { + CDSUNIT_DECLARE_MultiLevelHashMap +} // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_refinable.cpp b/tests/unit/map2/map_insdel_item_int_refinable.cpp deleted file mode 100644 index d05b6af0..00000000 --- a/tests/unit/map2/map_insdel_item_int_refinable.cpp +++ /dev/null @@ -1,12 +0,0 @@ -//$$CDS-header$$ - -#include "map2/map_insdel_item_int.h" -#include "map2/map_type_striped.h" - -namespace map2 { - CDSUNIT_DEFINE_RefinableMap(cc::striped_set::implementation_tag, Map_InsDel_Item_int) - - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_RefinableMap ) - CDSUNIT_TEST_RefinableMap - CPPUNIT_TEST_SUITE_END_PART() -} // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_skip.cpp b/tests/unit/map2/map_insdel_item_int_skip.cpp index 0a9dd244..2710582e 100644 --- a/tests/unit/map2/map_insdel_item_int_skip.cpp +++ b/tests/unit/map2/map_insdel_item_int_skip.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_skip_list.h" -namespace map2 { - CDSUNIT_DEFINE_SkipListMap( cc::skip_list::implementation_tag, Map_InsDel_Item_int) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_SkipListMap ) - CDSUNIT_TEST_SkipListMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_SkipListMap } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_split.cpp b/tests/unit/map2/map_insdel_item_int_split.cpp index 40c48aea..8915a773 100644 --- a/tests/unit/map2/map_insdel_item_int_split.cpp +++ b/tests/unit/map2/map_insdel_item_int_split.cpp @@ -3,10 +3,10 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_split_list.h" -namespace map2 { - CDSUNIT_DEFINE_SplitList( cc::split_list::implementation_tag, Map_InsDel_Item_int ) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_SplitList ) - CDSUNIT_TEST_SplitList - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_SplitList } // namespace map2 diff --git a/tests/unit/map2/map_insdel_item_int_striped.cpp b/tests/unit/map2/map_insdel_item_int_striped.cpp index e59cc314..0940422e 100644 --- a/tests/unit/map2/map_insdel_item_int_striped.cpp +++ b/tests/unit/map2/map_insdel_item_int_striped.cpp @@ -3,10 +3,11 @@ #include "map2/map_insdel_item_int.h" #include "map2/map_type_striped.h" -namespace map2 { - CDSUNIT_DEFINE_StripedMap(cc::striped_set::implementation_tag, Map_InsDel_Item_int) +#undef TEST_CASE +#define TEST_CASE(TAG, X) void Map_InsDel_Item_int::X() { run_test::X>(); } +#include "map2/map_defs.h" - CPPUNIT_TEST_SUITE_PART( Map_InsDel_Item_int, run_StripedMap ) - CDSUNIT_TEST_StripedMap - CPPUNIT_TEST_SUITE_END_PART() +namespace map2 { + CDSUNIT_DECLARE_StripedMap + CDSUNIT_DECLARE_RefinableMap } // namespace map2 -- 2.34.1