PS C:\Users\dsprague\source\repos\coyote-samples> coyote.exe test .\bin\netcoreapp3.1\Raft.Nondeterminism.dll -i 10000 -ms 20 --coverage activity
. Testing .\bin\netcoreapp3.1\Raft.Nondeterminism.dll
... Started the testing task scheduler (process:42224).
... Created '1' testing task (process:42224).
... Task 0 is using 'random' strategy (seed:2599116392).
... Telemetry is enabled, see http://aka.ms/coyote-telemetry.
..... Iteration #1
[...]
... Testing statistics:
..... Found 0 bugs.
... Scheduling statistics:
..... Explored 10000 schedules: 10000 fair and 0 unfair.
..... Number of scheduling points in fair terminating schedules: 200 (min), 200 (avg), 200 (max).
..... Exceeded the max-steps bound of '20' in 100.00% of the fair schedules.
... Elapsed 104.7570836 sec.
As you can see, it didn't detect any bugs. This matches my understanding of the Raft protocol, that it's tolerant of duplicate messages, but the documentation seems to indicate that coyote test
should detect a bug. From https://microsoft.github.io/coyote/learn/tutorials/raft-mocking: