The expected control flow around StopTest is currently very unclear in the docs.
Here's my description of StopTest from #hegel in the antithesis discord to start:
So, the right mental model for StopTest (which you should really think of as StopTestCase and we should rename) is that the server raises StopTest if it has decided to stop the current test case. The right thing for the client to do is abort the current test case iteration and move on to the next.
The client should not send mark_complete, because the server has already decided that test case is complete and has the right information about how to mark is as complete. For example, the most common (and possibly only?) reason the server raises StopTest is because the test case consumes too much entropy, in which case the right status - which the server knows and the client does not - is OVERRUN.
The expected control flow around
StopTestis currently very unclear in the docs.Here's my description of
StopTestfrom#hegelin the antithesis discord to start: