mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-12 19:02:12 +00:00
test: mutation_reader_test: combined_mutation_reader_test: define a local sst_factory function
For generating shared_sstables with increasing generations (using the test_env make_sstable generations) and a given level. Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
@@ -669,27 +669,6 @@ SEASTAR_THREAD_TEST_CASE(test_sm_fast_forwarding_combining_reader_with_galloping
|
||||
assertions.produces_end_of_stream();
|
||||
}
|
||||
|
||||
struct sst_factory {
|
||||
sstables::test_env& env;
|
||||
schema_ptr s;
|
||||
unsigned gen;
|
||||
uint32_t level;
|
||||
|
||||
sst_factory(sstables::test_env& env, schema_ptr s, unsigned gen, int level)
|
||||
: env(env)
|
||||
, s(s)
|
||||
, gen(gen)
|
||||
, level(level)
|
||||
{}
|
||||
|
||||
sstables::shared_sstable operator()() {
|
||||
auto sst = env.make_sstable(s, gen);
|
||||
sst->set_sstable_level(level);
|
||||
|
||||
return sst;
|
||||
}
|
||||
};
|
||||
|
||||
SEASTAR_TEST_CASE(combined_mutation_reader_test) {
|
||||
return sstables::test_env::do_with_async([] (sstables::test_env& env) {
|
||||
simple_schema s;
|
||||
@@ -730,13 +709,18 @@ SEASTAR_TEST_CASE(combined_mutation_reader_test) {
|
||||
const mutation expexted_mutation_4 = sstable_level_0_0_mutations[2] + sstable_level_2_0_mutations[1];
|
||||
const mutation expexted_mutation_5 = sstable_level_2_1_mutations[0];
|
||||
|
||||
unsigned gen{0};
|
||||
auto sst_factory = [&, s = s.schema()] (uint32_t level) {
|
||||
auto sst = env.make_sstable(s);
|
||||
sst->set_sstable_level(level);
|
||||
return sst;
|
||||
};
|
||||
|
||||
std::vector<sstables::shared_sstable> sstable_list = {
|
||||
make_sstable_containing(sst_factory(env, s.schema(), ++gen, 0), std::move(sstable_level_0_0_mutations)),
|
||||
make_sstable_containing(sst_factory(env, s.schema(), ++gen, 1), std::move(sstable_level_1_0_mutations)),
|
||||
make_sstable_containing(sst_factory(env, s.schema(), ++gen, 1), std::move(sstable_level_1_1_mutations)),
|
||||
make_sstable_containing(sst_factory(env, s.schema(), ++gen, 2), std::move(sstable_level_2_0_mutations)),
|
||||
make_sstable_containing(sst_factory(env, s.schema(), ++gen, 2), std::move(sstable_level_2_1_mutations)),
|
||||
make_sstable_containing(sst_factory(0), std::move(sstable_level_0_0_mutations)),
|
||||
make_sstable_containing(sst_factory(1), std::move(sstable_level_1_0_mutations)),
|
||||
make_sstable_containing(sst_factory(1), std::move(sstable_level_1_1_mutations)),
|
||||
make_sstable_containing(sst_factory(2), std::move(sstable_level_2_0_mutations)),
|
||||
make_sstable_containing(sst_factory(2), std::move(sstable_level_2_1_mutations)),
|
||||
};
|
||||
|
||||
auto cs = sstables::make_compaction_strategy(sstables::compaction_strategy_type::leveled, {});
|
||||
|
||||
Reference in New Issue
Block a user