Core.S
The return type of each test case run by Alcotest. For the standard Alcotest
module, return = unit
. The concurrent backends Alcotest_lwt
and Alcotest_async
set return = unit Lwt.t
and return = Async_kernel.Deferred.t
respectively.
Speed level of a test. Tests marked as `Quick
are always run. Tests marked as `Slow
are skipped when the `-q` flag is passed.
type 'a test_case = string * speed_level * ( 'a -> return )
A test case is a UTF-8 encoded documentation string, a speed level and a function to execute. Typically, the testing function calls the helper functions provided below (such as check
and fail
).
The exception return by run
in case of errors.
val test_case : string -> speed_level -> ( 'a -> return ) -> 'a test_case
test_case n s f
is the test case n
running at speed s
using the function f
.
type 'a test = string * 'a test_case list
A test is a UTF-8 encoded name and a list of test cases. The name can be used for filtering which tests to run on the CLI.
type 'a with_options =
?and_exit:bool ->
?verbose:bool ->
?compact:bool ->
?tail_errors:[ `Unlimited | `Limit of int ] ->
?quick_only:bool ->
?show_errors:bool ->
?json:bool ->
?filter:( name:string -> index:int -> [ `Run | `Skip ] ) ->
?log_dir:string ->
?bail:bool ->
?record_backtrace:bool ->
?ci:[ `Github_actions | `OCamlci | `Unknown | `Disabled ] ->
'a
The various options taken by the tests runners run
and run_with_args
:
and_exit
(default true
). Once the tests have completed, exit with return code 0
if all tests passed, otherwise 1
.verbose
(default false
). Display the test std.out and std.err (rather than redirecting to a log file).compact
(default false
). Compact the output of the tests.tail_errors
(default unlimited). Show only the last N lines of output of failed tests.quick_only
(default false
). Don't run tests with the `Slow
speed level.show_errors
(default false
). Display the test errors.json
(default false
). Print test results in a JSON-compatible format.filter
. Filter tests according to ~name
, the name of the test, and ~index
, the number of the test case.log_dir
(default "$PWD/_build/_tests/"
). The directory in which to log the output of the tests (if verbose
is not set).bail
(default false
). If true, stop running the tests after the first failure.record_backtrace
(default true
). Enable backtrace recording before beginning testing.ci
(default auto-detected). Whether to enable specific logging for a CI system.val run : ( string -> unit test list -> return ) with_options
val run_with_args : ( string -> 'a -> 'a test list -> return ) with_options