package tezt
Install
Dune Dependency
Authors
Maintainers
Sources
md5=d395cb9e663635ea8795f47c9bd9249f
sha512=d7c62899684ec202a98669eb575a2dc3bd1f8cf0430447c789a9d0aadc04a611d0dcfbcd7d61c613d4b7c78fd1bc4c533e4fcb48dbc8e3f19feaabe4ddd78723
doc/tezt.core/Tezt_core/Regression/index.html
Module Tezt_core.Regression
Source
Run Tezt regression tests and capture their output.
NOTE: consider using dune cram when it becomes available: https://dune.readthedocs.io/en/stable/tests.html#cram-tests
val register :
__FILE__:string ->
title:string ->
tags:string list ->
?file:string ->
(unit -> unit Lwt.t) ->
unit
Register a regression test.
This function is a wrapper around Test.register
. It adds the "regression" tag to the tags
list provided by the argument.
Output which is captured (with capture
) is recorded in a file named <ROOT>/<DIR>/expected/<BASE>/<FILE>.out
where:
<ROOT>
is the root directory of the project, read from environment variableDUNE_SOURCEROOT
if available, elsePWD
if available, else usingSys.getcwd
;<DIR>
isFilename.dirname __FILE__
;<BASE>
isFilename.basename __FILE__
;<FILE>
is~file
, which defaults to a sanitized and possibly truncated version of~title
.
Capture some output of a regression test.
Call this to record a string into the expected output file of the current test. A newline character \n
will be added after it.
This function only records its argument when called while a regression test is running, i.e. from the body of Regression.register
. If you call it outside of Regression.register
, it has no effect. So you can define a function that captures and use it with or without regression testing.
A typical use is to define custom process hooks that substitute non-deterministic parts of the output with deterministic ones. See also hooks
.