Produce a full execution trace. The order of the trace is independent of the order in which commands are executed in different threads, so it is suitable for expect tests.
include Sval before_prim : t ‑> ('a, 'b) Shexp_process.Prim.t ‑> ('a, 'b) Shexp_process.Prim.Args.t ‑> ('a, 'b) prim_tokenCalled before the execution of a primitive. The S-expression is a representation of
the primitive call, for instance (mkdir "foo").
val after_prim : t ‑> ('a, 'b) Shexp_process.Prim.t ‑> ('b, exn * Printexc.raw_backtrace) Pervasives.result ‑> ('a, 'b) prim_token ‑> unitCalled after the execution of a primitive, with the result.
val user_exn : t ‑> exn ‑> Printexc.raw_backtrace ‑> unitRegister a user exception, i.e. when a bind raises.
val enter_sub : t ‑> unitShexp tries to linearize the trace as much as possible. When an execution parameter
is changed locally, such as in (chdir ...) >>= ..., a sub context is entered.
val leave_sub : t ‑> unitval create : unit ‑> tval result : t ‑> Shexp_sexp.Std.Sexp.t