package qcheck-stm
State-machine testing library for sequential and parallel model-based tests
Install
Dune Dependency
Authors
Maintainers
Sources
0.8.tar.gz
md5=8e7634814a61bf765ac6989f7fdc49cb
sha512=dfa53117ecbf2e466f6ecddfa91d8eb63a3156fe9e1c5a68fd0da26a4c810312581d9ace4c00c4ab1947614f7fb1d6b686003a09da418d2940ac79a7b744a8eb
doc/src/qcheck-stm.sequential/STM_sequential.ml.html
Source file STM_sequential.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
open STM module MakeExt (Spec: SpecExt) = struct open QCheck open Internal.Make(Spec) [@alert "-internal"] (* re-export some functions *) let cmds_ok = cmds_ok let arb_cmds = arb_cmds let print_seq_trace trace = List.fold_left (fun acc (c,r) -> Printf.sprintf "%s\n %s : %s" acc (Spec.show_cmd c) (show_res r)) "" trace let agree_prop cs = assume (cmds_ok Spec.init_state cs); let sut = Spec.init_sut () in (* reset system's state *) let res = try Ok (Spec.wrap_cmd_seq @@ fun () -> check_disagree Spec.init_state sut cs) with exn -> Error exn in let () = Spec.cleanup sut in let res = match res with Ok res -> res | Error exn -> raise exn in match res with | None -> true | Some trace -> Test.fail_reportf " Results incompatible with model\n%s" @@ print_seq_trace trace let agree_test ~count ~name = Test.make ~name ~count (arb_cmds Spec.init_state) agree_prop let neg_agree_test ~count ~name = Test.make_neg ~name ~count (arb_cmds Spec.init_state) agree_prop end module Make (Spec : Spec) = MakeExt (struct include SpecDefaults include Spec end)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>