advancedtelematic/quickcheck-state-machine

simplify: impossible, because of the structure of linearise

kderme opened this issue · 2 comments

It appeared when a project threw an exception

The failing example is pretty simple

ParallelCommands {prefix = Commands {unCommands = 
[Command Cmd1 Resp1 []]}, suffixes = []}

The history is

History {unHistory = [(Pid {unPid = 0},Invocation Cmd1),
(Pid {unPid = 0},Exception "failed")]}

and the counterexample is ExistsC [] []

The issue is that interleavings fails to find a Response for the first Invocation and returns an empty list, so simplify fails. A solution could be interleaving to search for exceptions?

Possibly also related to #311.