Add atomic clear unit test
This commit is contained in:
parent
4107c35538
commit
078e614595
|
@ -541,6 +541,30 @@ Future<Void> testClear(UnitTestParameters params) {
|
|||
return Void();
|
||||
}
|
||||
|
||||
ACTOR template <class Env>
|
||||
Future<Void> testAtomicClear(UnitTestParameters params) {
|
||||
state Env env(params.getDataDir(), "class-A", {}, TestKnobType::ATOMIC);
|
||||
wait(env.setup(ConfigClassSet({ "class-A"_sr })));
|
||||
state bool restarted = false;
|
||||
try {
|
||||
wait(set(env, "class-A"_sr, int64_t{ 1 }));
|
||||
} catch (Error& e) {
|
||||
ASSERT(e.code() == error_code_knob_restart_required);
|
||||
restarted = true;
|
||||
}
|
||||
ASSERT(restarted);
|
||||
restarted = false;
|
||||
try {
|
||||
wait(clear(env, "class-A"_sr));
|
||||
} catch (Error& e) {
|
||||
ASSERT(e.code() == error_code_knob_restart_required);
|
||||
restarted = true;
|
||||
}
|
||||
ASSERT(restarted);
|
||||
wait(check(env, Optional<int64_t>{}));
|
||||
return Void();
|
||||
}
|
||||
|
||||
ACTOR template <class Env>
|
||||
Future<Void> testGlobalSet(UnitTestParameters params) {
|
||||
state Env env(params.getDataDir(), "class-A");
|
||||
|
@ -654,6 +678,11 @@ TEST_CASE("/fdbserver/ConfigDB/LocalConfiguration/Clear") {
|
|||
return Void();
|
||||
}
|
||||
|
||||
TEST_CASE("/fdbserver/ConfigDB/LocalConfiguration/AtomicClear") {
|
||||
wait(testAtomicClear<LocalConfigEnvironment>(params));
|
||||
return Void();
|
||||
}
|
||||
|
||||
TEST_CASE("/fdbserver/ConfigDB/LocalConfiguration/GlobalSet") {
|
||||
wait(testGlobalSet<LocalConfigEnvironment>(params));
|
||||
return Void();
|
||||
|
|
Loading…
Reference in New Issue