PropCheck.StateM.ModelDSL.run_parallel_commands
run_parallel_commands
, go back to PropCheck.StateM.ModelDSL module for more information.
Runs a given parallel test case according to the state machine
specified in mod
.
The result is a triple of the form
{sequential_history, parallel_history, result}
, where:
sequential_history
contains the execution history of the sequential component.Parallel_history
contains the execution history of each of the concurrent tasks.Result
specifies the outcome of the attempt to serialize command execution, based on the results observed. It can be one of the following: <ul><li>ok
<li>no_possible_interleaving
</ul>
Since the scheduler of the runtime system is quite predictable, you are advised to add
more turbulences in the execution traces by instrumenting the code under test
via PropCheck.Instrument
.
The history shown when the execution fails, does not reveal in which exact interleaving of commands the failure happens but simply shows the executed commands in both processes running concurrently. This is a feature of PropEr, which cannot easily changed.
Similar to run_parallel_commands/2
, but also accepts an
environment used for symbolic variable evaluation, exactly as described in
run_commands/3
.