package alcotest-async

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Alcotest_async enables testing functions which return an Async deferred. run returns a deferred which will run the tests when scheduled.

include Alcotest.Core.S with type return = unit Async_kernel.Deferred.t
type return = unit Async_kernel.Deferred.t
type speed_level = [
  1. | `Quick
  2. | `Slow
]

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 an 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).

exception Test_error

The exception return by run in case of errors.

type 'a test = string * 'a test_case list

A test is an US-ASCII encoded name and a list of test cases. The name can be used for filtering which tests to run on the CLI

val list_tests : 'a test list -> return

Print all of the test cases in a human-readable form

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:(Re.re option * Alcotest.Core.IntSet.t option) -> ?log_dir:string -> '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.
  • log_dir (default "$PWD/_build/_tests/"). The directory in which to log the output of the tests (if verbose is not set).
val run : (string -> unit test list -> return) with_options
val run_with_args : (string -> 'a -> 'a test list -> return) with_options
val test_case : ?timeout:Core_kernel.Time.Span.t -> string -> Alcotest.speed_level -> ('a -> unit Async_kernel.Deferred.t) -> 'a test_case
val test_case_sync : string -> Alcotest.speed_level -> ('a -> unit) -> 'a test_case
OCaml

Innovation. Community. Security.