Open n-osborne opened 1 day ago
I fear that there can also be complications arising from uncoordinated access to the stack of suts from parallel domains, making this issue slightly more thorny... :grimacing:
Thanks for pointing that out! That's very true!
This would be part of the first step.
I believe that moving from a stack of SUT
s to a list of SUT
s (like it is done for the models) is a possible way to avoid this kind of problems.
As we already have an implementation for the models, I'm inclined to keep the good-first-issue
tag. It is a bit more work than I first thought.
The
QCheck-STM
test framework allows to test a library in parallel, using domains. This is simply done by instantiating another functor (STM_domain.Make
instead ofSTM_sequential.Make
).The problem is that
Ortac/QCheck-STM
is directly usingSTM.Internal.Make
. The reason why is that it needs to define its owncheck_disagree
function to be able to build the failure message introduced in version 0.2.0In order to make
Ortac/QCheck-STM
be able to generate parallel tests, we need to implement our customMake_domain
inortac_runtime_qcheck_stm.ml
. This should be done in two steps: