Safe HaskellNone




chairmanTestTracer IO StringNetworkIdDiffTimeBlockNo → [SocketPath] → AnyConsensusModeParams → SecurityParam → IO () Source #

The chairman checks for consensus and progress.

The chairman test is an integration test. It monitors a set of nodes and checks that all the nodes agree on the chain, within a margin. It also checks that enough blocks have been made.

Specifically in this case consensus is defined as follows: for all pairs of chains, the intersection of each pair is within K blocks of each tip. Progress is defined simply as each chain being at least of a certain length.

The consensus condition is checked incrementally as well as at the end, so that failures can be detected as early as possible. The progress condition is only checked at the end.