diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-27 15:16:59 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-27 15:16:59 +0200 |
| commit | ca9d7633d76871cb0ea00dd46af351daf8ef4895 (patch) | |
| tree | c45ff231af84400587a365cfe1d1663b98078b35 /src/test/java/simulator | |
| parent | 7088d292893e3e20324b04527e93de9b1c73f6aa (diff) | |
Extend raft replay with recover and later crash
Diffstat (limited to 'src/test/java/simulator')
| -rw-r--r-- | src/test/java/simulator/builder/SimulationBuilderTest.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/java/simulator/builder/SimulationBuilderTest.java b/src/test/java/simulator/builder/SimulationBuilderTest.java index a5b25a0..c2d6511 100644 --- a/src/test/java/simulator/builder/SimulationBuilderTest.java +++ b/src/test/java/simulator/builder/SimulationBuilderTest.java @@ -89,6 +89,9 @@ class SimulationBuilderTest { StandardCharsets.ISO_8859_1); assertTrue(content.contains("VSRaftProtocol"), "Should contain Raft protocol"); assertTrue(content.contains("VSProcessCrashEvent"), "Should contain crash event"); + assertTrue(content.contains("VSProcessRecoverEvent"), "Should contain recovery event"); + assertTrue(countOccurrences(content, "VSProcessCrashEvent") >= 2, + "Should contain two crash events for different processes"); } @Test @@ -125,4 +128,16 @@ class SimulationBuilderTest { SimulationFactory.createBerkeleyTimeSimulation(1); // Too few processes }); } + + private int countOccurrences(String content, String needle) { + int count = 0; + int index = 0; + + while ((index = content.indexOf(needle, index)) != -1) { + count++; + index += needle.length(); + } + + return count; + } } |
