From 30da48151f58803968ca3ef5d42e66a9223d80a4 Mon Sep 17 00:00:00 2001 From: Douglas Rumbaugh Date: Mon, 27 Jan 2025 18:17:21 -0500 Subject: progress --- tests/de_level_concurrent.cpp | 6 ++-- tests/include/concurrent_extension.h | 55 +++++++++++++++++++++++------------- 2 files changed, 39 insertions(+), 22 deletions(-) (limited to 'tests') diff --git a/tests/de_level_concurrent.cpp b/tests/de_level_concurrent.cpp index a76285b..a43006e 100644 --- a/tests/de_level_concurrent.cpp +++ b/tests/de_level_concurrent.cpp @@ -13,11 +13,13 @@ #include #include +#include "framework/scheduling/SerialScheduler.h" #include "include/testing.h" #include "framework/DynamicExtension.h" #include "shard/ISAMTree.h" #include "query/rangequery.h" #include "framework/reconstruction/LevelingPolicy.h" +#include "framework/util/Configuration.h" #include using namespace de; @@ -27,12 +29,10 @@ typedef ISAMTree S; typedef rq::Query Q; typedef DynamicExtension DE; -ReconstructionPolicy *recon = new LevelingPolicy(2, 1000); -ReconstructionPolicy *recon2 = new LevelingPolicy(4, 10000); +typedef de::DEConfiguration CONF; #include "include/concurrent_extension.h" - Suite *unit_testing() { Suite *unit = suite_create("DynamicExtension: Concurrent Leveling Testing"); diff --git a/tests/include/concurrent_extension.h b/tests/include/concurrent_extension.h index 84f816d..fa669d2 100644 --- a/tests/include/concurrent_extension.h +++ b/tests/include/concurrent_extension.h @@ -26,24 +26,41 @@ #include "framework/reconstruction/TieringPolicy.h" #include "testing.h" #include "framework/DynamicExtension.h" -#include "framework/scheduling/FIFOScheduler.h" +#include "framework/scheduling/SerialScheduler.h" +#include "framework/reconstruction/LevelingPolicy.h" #include "shard/ISAMTree.h" #include "query/rangequery.h" #include +#include #include #include -// using namespace de; -// typedef Rec R; -// typedef ISAMTree S; -// typedef rq::Query Q; -// typedef DynamicExtension DE; -// ReconstructionPolicy *recon = new TieringPolicy(2, 1000); -// ReconstructionPolicy *recon2 = new TieringPolicy(4, 10000); + + +using namespace de; +typedef Rec R; +typedef ISAMTree S; +typedef rq::Query Q; +typedef DynamicExtension DE; +typedef de::DEConfiguration CONF; + +static CONF create_config(size_t type=1) { + if (type == 1) { + auto recon = std::make_unique>(2, 1000); + + return CONF(std::move(recon)); + } else { + auto recon2 = std::make_unique>(4, 10000); + CONF configuration2 = CONF(std::move(recon2)); + return CONF(std::move(recon2)); + } +} + + START_TEST(t_create) { - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); ck_assert_ptr_nonnull(test_de); ck_assert_int_eq(test_de->get_record_count(), 0); @@ -56,7 +73,7 @@ END_TEST START_TEST(t_insert) { - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); uint64_t key = 0; uint32_t val = 0; @@ -77,7 +94,7 @@ END_TEST START_TEST(t_debug_insert) { - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); uint64_t key = 0; uint32_t val = 0; @@ -96,7 +113,7 @@ END_TEST START_TEST(t_insert_with_mem_merges) { - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); uint64_t key = 0; uint32_t val = 0; @@ -109,7 +126,7 @@ START_TEST(t_insert_with_mem_merges) ck_assert_int_eq(test_de->get_record_count(), 1000); - test_de->await_next_epoch(); + test_de->await_version(); ck_assert_int_eq(test_de->get_record_count(), 1000); @@ -128,7 +145,7 @@ START_TEST(t_insert_with_mem_merges) } } while (cnt < 100000); - test_de->await_next_epoch(); + test_de->await_version(); ck_assert_int_eq(test_de->get_record_count(), 101000); @@ -139,7 +156,7 @@ END_TEST START_TEST(t_range_query) { - auto test_de = new DE(recon2, 1000, 10000); + auto test_de = new DE(create_config(2)); size_t n = 10000000; std::vector keys; @@ -162,7 +179,7 @@ START_TEST(t_range_query) } - test_de->await_next_epoch(); + test_de->await_version(); std::sort(keys.begin(), keys.end()); @@ -193,7 +210,7 @@ END_TEST START_TEST(t_tombstone_merging_01) { size_t reccnt = 100000; - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); auto rng = gsl_rng_alloc(gsl_rng_mt19937); @@ -237,7 +254,7 @@ START_TEST(t_tombstone_merging_01) } } - test_de->await_next_epoch(); + test_de->await_version(); ck_assert(test_de->validate_tombstone_proportion()); @@ -251,7 +268,7 @@ START_TEST(t_static_structure) auto rng = gsl_rng_alloc(gsl_rng_mt19937); size_t reccnt = 100000; - auto test_de = new DE(recon, 100, 1000); + auto test_de = new DE(create_config()); std::set records; std::set to_delete; -- cgit v1.2.3