package tezt
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=643f48378265ae18b7aab4675a1e836e
sha512=f399d4d8b935fc3dcb4354596c2b7fa26a019f99c83cb4c1d48b0e26c5bc6da13b2cad9792dd50420a88b777d3b8a1d67c7ddd0457322e65d311b859be03879f
doc/tezt.core/Tezt_core/Regression/index.html
Module Tezt_core.RegressionSource
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) ->
unitRegister 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_SOURCEROOTif available, elsePWDif 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 if eol is true (which is the default).
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.