From 36673ff7099e93fee9e82b4592de048348574469 Mon Sep 17 00:00:00 2001 From: Bojan Serafimov Date: Tue, 19 Apr 2022 17:18:08 -0400 Subject: [PATCH] Write safekeeper fuzz test sketch --- .../batch_fuzz/test_fuzz_safekeeper.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 test_runner/batch_fuzz/test_fuzz_safekeeper.py diff --git a/test_runner/batch_fuzz/test_fuzz_safekeeper.py b/test_runner/batch_fuzz/test_fuzz_safekeeper.py new file mode 100644 index 0000000000..41ff0f0ffa --- /dev/null +++ b/test_runner/batch_fuzz/test_fuzz_safekeeper.py @@ -0,0 +1,27 @@ + + + + + + + + + + + +def test_fuzz_safekeeper(zenith_env_builder: ZenithEnvBuilder): + zenith_env_builder.num_safekeepers = 3 + env = zenith_env_builder.init_start() + + env.zenith_cli.create_branch('test_fuzz_safekeeper') + pg = env.postgres.create_start('test_fuzz_safekeeper') + + # TODO: + # 1. Start an adversarial proposer (new rust binary) that tries to take over + # 2. Kill pg node, let the proposer take over + # 3. Start multiple adversarial proposers + # 4. Run for a while, checking safekeeper invariants + +# TODO: +# 1. Explore fuzzing techniques, look into https://docs.rs/stateright/latest/stateright/ +# 2. Simulate network delay between nodes, both random and deliberate