Runs Concuerror tests for exhaustive scheduler interleaving exploration.
Usage
# Run a single test module
mix concuerror -m Roux.Concurrency.InternSameValueTest
# Run all Roux.Concurrency.* modules
mix concuerror --allOptions
-m/--module— test module to run--all— run everyRoux.Concurrency.*module--dpor— DPOR algorithm,optimal(default) orsource--interleaving-bound— bound on interleavings explored (default: unbounded)--treat-as-normal— exit reasons to treat as normal (can be repeated)
Each test module must export a 0-arity test/0 function, and may
export concuerror_options/0 returning treat_as_normal: (exit
reasons), depth_bound: (events per interleaving, when a scenario
needs more than Concuerror's default of 500), and scheduling_bound:
with dpor: :source (at most that many preemptions per interleaving,
for a scenario too large to explore whole).