package hegel

  1. Overview
  2. Docs
Hegel property-based testing library for OCaml

Install

dune-project
 Dependency

Authors

Maintainers

Sources

hegel-0.24.1-opam.tar.gz
md5=d6985126c61aec88003bc03555a0d763
sha512=03e73b752dfb9ea711bc95fd87a777c068a789e7094650c5297fd37ad023292528a6fc69ea88986c02ea3f24c5c24d28353c220fd87595ce047521eecf94e0a8

doc/hegel/Hegel/Stateful/Concurrent_rule/index.html

Module Stateful.Concurrent_ruleSource

One possible action in a concurrent stateful test.

Sourcetype ('ctx, 'state) t
Sourceval create : ?group:string -> ?weight:float -> name:string -> step:(test_case -> 'ctx -> 'state -> unit) -> unit -> ('ctx, 'state) t

create ?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.

Sourceval name : (_, _) t -> string

Returns the name of the rule.

Sourceval group : (_, _) t -> string

Returns the concurrency group of the rule.

Sourceval weight : (_, _) t -> float

Returns the weight of the rule.