From: khizmax Date: Mon, 23 Mar 2015 19:24:27 +0000 (+0300) Subject: Splitted up map_insfind_int test to reduce compiling time and memory requirements X-Git-Tag: v2.1.0~296^2~12 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7d65bc00392f42370b925d298276cb70c07827d5;p=libcds.git Splitted up map_insfind_int test to reduce compiling time and memory requirements --- diff --git a/projects/Win/vc12/unit-map-find.vcxproj b/projects/Win/vc12/unit-map-find.vcxproj index be592dd6..587e2dfb 100644 --- a/projects/Win/vc12/unit-map-find.vcxproj +++ b/projects/Win/vc12/unit-map-find.vcxproj @@ -46,6 +46,18 @@ + + + + + + + + + + + + {BA2A9239-0299-4069-BB0E-16DACE87ADE0} diff --git a/projects/source.unit.map.mk b/projects/source.unit.map.mk index 078ec837..73c9e518 100644 --- a/projects/source.unit.map.mk +++ b/projects/source.unit.map.mk @@ -1,7 +1,18 @@ CDSUNIT_MAP_SOURCES := \ tests/unit/map2/map_find_int.cpp \ - tests/unit/map2/map_find_string.cpp \ + tests/unit/map2/map_find_string.cpp \ + tests/unit/map2/map_insfind_int.cpp \ + tests/unit/map2/map_insfind_int_bronsonavltree.cpp \ + tests/unit/map2/map_insfind_int_cuckoo.cpp \ + tests/unit/map2/map_insfind_int_ellentree.cpp \ + tests/unit/map2/map_insfind_int_michael.cpp \ + tests/unit/map2/map_insfind_int_skip.cpp \ + tests/unit/map2/map_insfind_int_split.cpp \ + tests/unit/map2/map_insfind_int_striped.cpp \ + tests/unit/map2/map_insfind_int_refinable.cpp \ + tests/unit/map2/map_insfind_int_std.cpp \ + tests/unit/map2/map_insfind_string.cpp \ tests/unit/map2/map_insdel_func.cpp \ tests/unit/map2/map_insdel_func_michael.cpp \ tests/unit/map2/map_insdel_func_split.cpp \ @@ -15,7 +26,6 @@ CDSUNIT_MAP_SOURCES := \ tests/unit/map2/map_insdel_item_int.cpp \ tests/unit/map2/map_insdel_string.cpp \ tests/unit/map2/map_insdel_item_string.cpp \ - tests/unit/map2/map_insfind_int.cpp \ tests/unit/map2/map_insdelfind.cpp \ tests/unit/map2/map_delodd.cpp \ tests/unit/map2/map_delodd_michael.cpp \ diff --git a/tests/unit/map2/map_insfind_int.cpp b/tests/unit/map2/map_insfind_int.cpp index c2b21bfc..a1f47782 100644 --- a/tests/unit/map2/map_insfind_int.cpp +++ b/tests/unit/map2/map_insfind_int.cpp @@ -1,232 +1,56 @@ //$$CDS-header$$ -#include "map2/map_types.h" -#include "cppunit/thread.h" - -#include -#include -#include // random_shuffle +#include "map2/map_insfind_int.h" namespace map2 { + CPPUNIT_TEST_SUITE_REGISTRATION( Map_InsFind_int ); -# define TEST_MAP(X) void X() { test::X >() ; } -# define TEST_MAP_NOLF(X) void X() { test_nolf::X >() ; } -# define TEST_MAP_EXTRACT(X) TEST_MAP(X) -# define TEST_MAP_NOLF_EXTRACT(X) TEST_MAP_NOLF(X) + size_t Map_InsFind_int::c_nMapSize = 1000000 ; // map size + size_t Map_InsFind_int::c_nThreadCount = 4 ; // count of insertion thread + size_t Map_InsFind_int::c_nMaxLoadFactor = 8 ; // maximum load factor + bool Map_InsFind_int::c_bPrintGCState = true; - namespace { - static size_t c_nMapSize = 1000000 ; // map size - static size_t c_nThreadCount = 4 ; // count of insertion thread - static size_t c_nMaxLoadFactor = 8 ; // maximum load factor - static bool c_bPrintGCState = true; + void Map_InsFind_int::setUpParams( const CppUnitMini::TestCfg& cfg ) + { + c_nThreadCount = cfg.getULong("ThreadCount", 0 ); + c_nMapSize = cfg.getULong("MapSize", c_nMapSize ); + c_nMaxLoadFactor = cfg.getULong("MaxLoadFactor", c_nMaxLoadFactor ); + c_bPrintGCState = cfg.getBool("PrintGCStateFlag", true ); + if ( c_nThreadCount == 0 ) + c_nThreadCount = cds::OS::topology::processor_count(); } - class Map_InsFind_int: public CppUnitMini::TestCase + void Map_InsFind_int::myRun(const char *in_name, bool invert /*= false*/) { - typedef size_t key_type; - typedef size_t value_type; - - template - static bool check_result( Iterator const& it, Map const& map ) - { - return it != map.end(); - } - template - static bool check_result( bool b, Map const& ) - { - return b; - } - - template - class Inserter: public CppUnitMini::TestThread - { - Map& m_Map; - std::vector m_arrVal; - - virtual Inserter * clone() - { - return new Inserter( *this ); - } - - void make_array() - { - size_t const nSize = c_nMapSize / c_nThreadCount + 1; - m_arrVal.resize( nSize ); - size_t nItem = m_nThreadNo; - for ( size_t i = 0; i < nSize; nItem += c_nThreadCount, ++i ) - m_arrVal[i] = nItem; - std::random_shuffle( m_arrVal.begin(), m_arrVal.end() ); - } - public: - size_t m_nInsertSuccess; - size_t m_nInsertFailed; - size_t m_nFindSuccess; - size_t m_nFindFail; - - public: - Inserter( CppUnitMini::ThreadPool& pool, Map& rMap ) - : CppUnitMini::TestThread( pool ) - , m_Map( rMap ) - {} - Inserter( Inserter& src ) - : CppUnitMini::TestThread( src ) - , m_Map( src.m_Map ) - {} - - Map_InsFind_int& getTest() - { - return reinterpret_cast( m_Pool.m_Test ); - } - - virtual void init() - { - cds::threading::Manager::attachThread(); - make_array(); - } - virtual void fini() { cds::threading::Manager::detachThread() ; } - - virtual void test() - { - Map& rMap = m_Map; - - m_nInsertSuccess = - m_nInsertFailed = - m_nFindSuccess = - m_nFindFail = 0; - - size_t const nArrSize = m_arrVal.size(); - for ( size_t i = 0; i < nArrSize; ++i ) { - size_t const nItem = m_arrVal[i]; - if ( check_result( rMap.insert( nItem, nItem * 8 ), rMap )) - ++m_nInsertSuccess; - else - ++m_nInsertFailed; - - for ( size_t k = 0; k <= i; ++k ) { - if ( check_result( rMap.find( m_arrVal[k] ), rMap )) - ++m_nFindSuccess; - else - ++m_nFindFail; - } - } - } - }; - - protected: - - template - void do_test( Map& testMap ) - { - typedef Inserter InserterThread; - cds::OS::Timer timer; - - CppUnitMini::ThreadPool pool( *this ); - pool.add( new InserterThread( pool, testMap ), c_nThreadCount ); - pool.run(); - CPPUNIT_MSG( " Duration=" << pool.avgDuration() ); - - size_t nInsertSuccess = 0; - size_t nInsertFailed = 0; - size_t nFindSuccess = 0; - size_t nFindFailed = 0; - for ( CppUnitMini::ThreadPool::iterator it = pool.begin(); it != pool.end(); ++it ) { - InserterThread * pThread = static_cast( *it ); - - nInsertSuccess += pThread->m_nInsertSuccess; - nInsertFailed += pThread->m_nInsertFailed; - nFindSuccess += pThread->m_nFindSuccess; - nFindFailed += pThread->m_nFindFail; - } - - CPPUNIT_MSG( " Totals: Ins succ=" << nInsertSuccess << " fail=" << nInsertFailed << "\n" - << " Find succ=" << nFindSuccess << " fail=" << nFindFailed - ); - - CPPUNIT_CHECK( nInsertFailed == 0 ); - CPPUNIT_CHECK( nFindFailed == 0 ); - - check_before_cleanup( testMap ); - - testMap.clear(); - additional_check( testMap ); - print_stat( testMap ); - additional_cleanup( testMap ); - } - - template - void test() - { - static_assert( (!std::is_same< typename Map::item_counter, cds::atomicity::empty_item_counter >::value), - "Empty item counter is not suitable for this test"); - - CPPUNIT_MSG( "Thread count: " << c_nThreadCount - << " map size=" << c_nMapSize - ); - - for ( size_t nLoadFactor = 1; nLoadFactor <= c_nMaxLoadFactor; nLoadFactor *= 2 ) { - CPPUNIT_MSG( "Load factor=" << nLoadFactor ); - Map testMap( c_nMapSize, nLoadFactor ); - do_test( testMap ); - if ( c_bPrintGCState ) - print_gc_state(); - } - } - - template - void test_nolf() - { - static_assert( (!std::is_same< typename Map::item_counter, cds::atomicity::empty_item_counter >::value), - "Empty item counter is not suitable for this test"); - - CPPUNIT_MSG( "Thread count: " << c_nThreadCount - << " map size=" << c_nMapSize - ); - - Map testMap; - do_test( testMap ); - if ( c_bPrintGCState ) - print_gc_state(); - } - - void setUpParams( const CppUnitMini::TestCfg& cfg ) { - c_nThreadCount = cfg.getULong("ThreadCount", 0 ); - c_nMapSize = cfg.getULong("MapSize", 10000 ); - c_nMaxLoadFactor = cfg.getULong("MaxLoadFactor", 8 ); - c_bPrintGCState = cfg.getBool("PrintGCStateFlag", true ); - if ( c_nThreadCount == 0 ) - c_nThreadCount = cds::OS::topology::processor_count(); - } - -# include "map2/map_defs.h" - CDSUNIT_DECLARE_MichaelMap - CDSUNIT_DECLARE_MichaelMap_nogc - CDSUNIT_DECLARE_SplitList - CDSUNIT_DECLARE_SplitList_nogc - CDSUNIT_DECLARE_SkipListMap - CDSUNIT_DECLARE_SkipListMap_nogc - CDSUNIT_DECLARE_EllenBinTreeMap - CDSUNIT_DECLARE_BronsonAVLTreeMap - CDSUNIT_DECLARE_StripedMap - CDSUNIT_DECLARE_RefinableMap - CDSUNIT_DECLARE_CuckooMap - CDSUNIT_DECLARE_StdMap - - CPPUNIT_TEST_SUITE( Map_InsFind_int ) - CDSUNIT_TEST_MichaelMap - CDSUNIT_TEST_MichaelMap_nogc - CDSUNIT_TEST_SplitList - CDSUNIT_TEST_SplitList_nogc - CDSUNIT_TEST_SkipListMap - CDSUNIT_TEST_SkipListMap_nogc - CDSUNIT_TEST_EllenBinTreeMap - CDSUNIT_TEST_BronsonAVLTreeMap - CDSUNIT_TEST_StripedMap - CDSUNIT_TEST_RefinableMap - CDSUNIT_TEST_CuckooMap - CDSUNIT_TEST_StdMap - CPPUNIT_TEST_SUITE_END() - - }; + setUpParams( m_Cfg.get( "Map_InsFind_int" )); + + 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); + run_StdMap(in_name, invert); + + endTestCase(); + } - CPPUNIT_TEST_SUITE_REGISTRATION( Map_InsFind_int ); + /* + CPPUNIT_TEST_SUITE( Map_InsFind_int ) + CDSUNIT_TEST_MichaelMap + CDSUNIT_TEST_MichaelMap_nogc + CDSUNIT_TEST_SplitList + CDSUNIT_TEST_SplitList_nogc + CDSUNIT_TEST_SkipListMap + CDSUNIT_TEST_SkipListMap_nogc + CDSUNIT_TEST_EllenBinTreeMap + CDSUNIT_TEST_BronsonAVLTreeMap + CDSUNIT_TEST_StripedMap + CDSUNIT_TEST_RefinableMap + CDSUNIT_TEST_CuckooMap + CDSUNIT_TEST_StdMap + CPPUNIT_TEST_SUITE_END() + */ } // namespace map2 diff --git a/tests/unit/map2/map_insfind_int.h b/tests/unit/map2/map_insfind_int.h new file mode 100644 index 00000000..f84bdcb3 --- /dev/null +++ b/tests/unit/map2/map_insfind_int.h @@ -0,0 +1,235 @@ +//$$CDS-header$$ + +#include "map2/map_types.h" +#include "cppunit/thread.h" + +#include +#include +#include // random_shuffle + +namespace map2 { + +# define TEST_MAP(X) void X() { test::X >() ; } +# define TEST_MAP_NOLF(X) void X() { test_nolf::X >() ; } +# define TEST_MAP_EXTRACT(X) TEST_MAP(X) +# define TEST_MAP_NOLF_EXTRACT(X) TEST_MAP_NOLF(X) + + class Map_InsFind_int: public CppUnitMini::TestCase + { + static size_t c_nMapSize; // map size + static size_t c_nThreadCount; // count of insertion thread + static size_t c_nMaxLoadFactor; // maximum load factor + static bool c_bPrintGCState; + + typedef CppUnitMini::TestCase Base; + typedef size_t key_type; + typedef size_t value_type; + + template + static bool check_result( Iterator const& it, Map const& map ) + { + return it != map.end(); + } + template + static bool check_result( bool b, Map const& ) + { + return b; + } + + template + class Inserter: public CppUnitMini::TestThread + { + Map& m_Map; + std::vector m_arrVal; + + virtual Inserter * clone() + { + return new Inserter( *this ); + } + + void make_array() + { + size_t const nSize = c_nMapSize / c_nThreadCount + 1; + m_arrVal.resize( nSize ); + size_t nItem = m_nThreadNo; + for ( size_t i = 0; i < nSize; nItem += c_nThreadCount, ++i ) + m_arrVal[i] = nItem; + std::random_shuffle( m_arrVal.begin(), m_arrVal.end() ); + } + public: + size_t m_nInsertSuccess; + size_t m_nInsertFailed; + size_t m_nFindSuccess; + size_t m_nFindFail; + + public: + Inserter( CppUnitMini::ThreadPool& pool, Map& rMap ) + : CppUnitMini::TestThread( pool ) + , m_Map( rMap ) + {} + Inserter( Inserter& src ) + : CppUnitMini::TestThread( src ) + , m_Map( src.m_Map ) + {} + + Map_InsFind_int& getTest() + { + return reinterpret_cast( m_Pool.m_Test ); + } + + virtual void init() + { + cds::threading::Manager::attachThread(); + make_array(); + } + virtual void fini() { cds::threading::Manager::detachThread() ; } + + virtual void test() + { + Map& rMap = m_Map; + + m_nInsertSuccess = + m_nInsertFailed = + m_nFindSuccess = + m_nFindFail = 0; + + size_t const nArrSize = m_arrVal.size(); + for ( size_t i = 0; i < nArrSize; ++i ) { + size_t const nItem = m_arrVal[i]; + if ( check_result( rMap.insert( nItem, nItem * 8 ), rMap )) + ++m_nInsertSuccess; + else + ++m_nInsertFailed; + + for ( size_t k = 0; k <= i; ++k ) { + if ( check_result( rMap.find( m_arrVal[k] ), rMap )) + ++m_nFindSuccess; + else + ++m_nFindFail; + } + } + } + }; + + protected: + + template + void do_test( Map& testMap ) + { + typedef Inserter InserterThread; + cds::OS::Timer timer; + + CppUnitMini::ThreadPool pool( *this ); + pool.add( new InserterThread( pool, testMap ), c_nThreadCount ); + pool.run(); + CPPUNIT_MSG( " Duration=" << pool.avgDuration() ); + + size_t nInsertSuccess = 0; + size_t nInsertFailed = 0; + size_t nFindSuccess = 0; + size_t nFindFailed = 0; + for ( CppUnitMini::ThreadPool::iterator it = pool.begin(); it != pool.end(); ++it ) { + InserterThread * pThread = static_cast( *it ); + + nInsertSuccess += pThread->m_nInsertSuccess; + nInsertFailed += pThread->m_nInsertFailed; + nFindSuccess += pThread->m_nFindSuccess; + nFindFailed += pThread->m_nFindFail; + } + + CPPUNIT_MSG( " Totals: Ins succ=" << nInsertSuccess << " fail=" << nInsertFailed << "\n" + << " Find succ=" << nFindSuccess << " fail=" << nFindFailed + ); + + CPPUNIT_CHECK( nInsertFailed == 0 ); + CPPUNIT_CHECK( nFindFailed == 0 ); + + check_before_cleanup( testMap ); + + testMap.clear(); + additional_check( testMap ); + print_stat( testMap ); + additional_cleanup( testMap ); + } + + template + void test() + { + static_assert( (!std::is_same< typename Map::item_counter, cds::atomicity::empty_item_counter >::value), + "Empty item counter is not suitable for this test"); + + CPPUNIT_MSG( "Thread count: " << c_nThreadCount + << " map size=" << c_nMapSize + ); + + for ( size_t nLoadFactor = 1; nLoadFactor <= c_nMaxLoadFactor; nLoadFactor *= 2 ) { + CPPUNIT_MSG( "Load factor=" << nLoadFactor ); + Map testMap( c_nMapSize, nLoadFactor ); + do_test( testMap ); + if ( c_bPrintGCState ) + print_gc_state(); + } + } + + template + void test_nolf() + { + static_assert( (!std::is_same< typename Map::item_counter, cds::atomicity::empty_item_counter >::value), + "Empty item counter is not suitable for this test"); + + CPPUNIT_MSG( "Thread count: " << c_nThreadCount + << " map size=" << c_nMapSize + ); + + 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_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_SkipListMap(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); + void run_StdMap(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_MichaelMap_nogc + CDSUNIT_DECLARE_SplitList + CDSUNIT_DECLARE_SplitList_nogc + CDSUNIT_DECLARE_SkipListMap + CDSUNIT_DECLARE_SkipListMap_nogc + CDSUNIT_DECLARE_EllenBinTreeMap + CDSUNIT_DECLARE_BronsonAVLTreeMap + CDSUNIT_DECLARE_StripedMap + CDSUNIT_DECLARE_RefinableMap + CDSUNIT_DECLARE_CuckooMap + CDSUNIT_DECLARE_StdMap + + /* + CPPUNIT_TEST_SUITE( Map_InsFind_int ) + CDSUNIT_TEST_MichaelMap + CDSUNIT_TEST_MichaelMap_nogc + CDSUNIT_TEST_SplitList + CDSUNIT_TEST_SplitList_nogc + CDSUNIT_TEST_SkipListMap + CDSUNIT_TEST_SkipListMap_nogc + CDSUNIT_TEST_EllenBinTreeMap + CDSUNIT_TEST_BronsonAVLTreeMap + CDSUNIT_TEST_StripedMap + CDSUNIT_TEST_RefinableMap + CDSUNIT_TEST_CuckooMap + CDSUNIT_TEST_StdMap + CPPUNIT_TEST_SUITE_END() + */ + }; +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_bronsonavltree.cpp b/tests/unit/map2/map_insfind_int_bronsonavltree.cpp new file mode 100644 index 00000000..520b785a --- /dev/null +++ b/tests/unit/map2/map_insfind_int_bronsonavltree.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_BronsonAVLTreeMap ) + CDSUNIT_TEST_BronsonAVLTreeMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_cuckoo.cpp b/tests/unit/map2/map_insfind_int_cuckoo.cpp new file mode 100644 index 00000000..b1fa8559 --- /dev/null +++ b/tests/unit/map2/map_insfind_int_cuckoo.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_CuckooMap ) + CDSUNIT_TEST_CuckooMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_ellentree.cpp b/tests/unit/map2/map_insfind_int_ellentree.cpp new file mode 100644 index 00000000..17b5d0e4 --- /dev/null +++ b/tests/unit/map2/map_insfind_int_ellentree.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_EllenBinTreeMap ) + CDSUNIT_TEST_EllenBinTreeMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_michael.cpp b/tests/unit/map2/map_insfind_int_michael.cpp new file mode 100644 index 00000000..8703e061 --- /dev/null +++ b/tests/unit/map2/map_insfind_int_michael.cpp @@ -0,0 +1,10 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_MichaelMap ) + CDSUNIT_TEST_MichaelMap + CDSUNIT_TEST_MichaelMap_nogc + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_refinable.cpp b/tests/unit/map2/map_insfind_int_refinable.cpp new file mode 100644 index 00000000..8926de27 --- /dev/null +++ b/tests/unit/map2/map_insfind_int_refinable.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_RefinableMap ) + CDSUNIT_TEST_RefinableMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_skip.cpp b/tests/unit/map2/map_insfind_int_skip.cpp new file mode 100644 index 00000000..930ccf1d --- /dev/null +++ b/tests/unit/map2/map_insfind_int_skip.cpp @@ -0,0 +1,10 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_SkipListMap ) + CDSUNIT_TEST_SkipListMap + CDSUNIT_TEST_SkipListMap_nogc + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_split.cpp b/tests/unit/map2/map_insfind_int_split.cpp new file mode 100644 index 00000000..4af7722e --- /dev/null +++ b/tests/unit/map2/map_insfind_int_split.cpp @@ -0,0 +1,10 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_SplitList ) + CDSUNIT_TEST_SplitList + CDSUNIT_TEST_SplitList_nogc + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_std.cpp b/tests/unit/map2/map_insfind_int_std.cpp new file mode 100644 index 00000000..473fb746 --- /dev/null +++ b/tests/unit/map2/map_insfind_int_std.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_StdMap ) + CDSUNIT_TEST_StdMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2 diff --git a/tests/unit/map2/map_insfind_int_striped.cpp b/tests/unit/map2/map_insfind_int_striped.cpp new file mode 100644 index 00000000..392ca36d --- /dev/null +++ b/tests/unit/map2/map_insfind_int_striped.cpp @@ -0,0 +1,9 @@ +//$$CDS-header$$ + +#include "map2/map_insfind_int.h" + +namespace map2 { + CPPUNIT_TEST_SUITE_PART( Map_InsFind_int, run_StripedMap ) + CDSUNIT_TEST_StripedMap + CPPUNIT_TEST_SUITE_END_PART() +} // namespace map2