Stateful.Concurrent_ruleOne possible action in a concurrent stateful test.
val create :
?group:string ->
?weight:float ->
name:string ->
step:(test_case -> 'ctx -> 'state -> unit) ->
unit ->
('ctx, 'state) tcreate ?group ?weight ~name ~step () declares a concurrent rule.
group defines the concurrency group of the rule. Only rules within the same group may run concurrently. Rules without an explicit group are in one anonymous group.weight is a hint of how frequently the rule should be run. The default weight is 1.0, and weights must be finite and strictly positive.name is printed in the final output when the rule is run.step tc ctx state performs one application of the rule, drawing any arguments it needs from tc and updating state in place. ctx is the context the concurrency capability gives the worker. tc and ctx are valid only for that step.With the PPX, a concurrent rule takes the following options: [@@rule { group = "group"; weight = <weight> }]. The order of the fields does not matter and neither are required.
val name : (_, _) t -> stringReturns the name of the rule.
val group : (_, _) t -> stringReturns the concurrency group of the rule.
val weight : (_, _) t -> floatReturns the weight of the rule.