Module OUnitTest

exception Skip of string
exception Todo of string
exception OUnit_failure of string
type node =
  1. | ListItem of int
  2. | Label of string

See OUnit.mli.

type path = node list

See OUnit.mli.

type backtrace = string option

See OUnit2.mli.

type test_length =
  1. | Immediate
  2. | Short
  3. | Long
  4. | Huge
  5. | Custom_length of float
type result =
  1. | RSuccess
  2. | RFailure of string * OUnitLogger.position option * backtrace
  3. | RError of string * backtrace
  4. | RSkip of string
  5. | RTodo of string
  6. | RTimeout of test_length

See OUnit.mli.

type result_full = path * result * OUnitLogger.position option
type result_list = result_full list
type log_event_t = (path, result) OUnitLogger.log_event_t
type logger = (path, result) OUnitLogger.logger
type ctxt = {
  1. conf : OUnitConf.conf;
  2. logger : logger;
  3. shared : OUnitShared.shared;
  4. path : path;
  5. test_logger : result OUnitLogger.Test.t;
  6. mutable tear_down : (ctxt -> unit) list;
  7. tear_down_mutex : OUnitShared.Mutex.t;
  8. non_fatal : result_full list Stdlib.ref;
  9. non_fatal_mutex : OUnitShared.Mutex.t;
  10. initial_environment : string array;
}
type test_fun = ctxt -> unit
type test =
  1. | TestCase of test_length * test_fun
  2. | TestList of test list
  3. | TestLabel of string * test
val delay_of_length : test_length -> float
val get_shard_id : ctxt -> string
val section_ctxt : ctxt -> (ctxt -> 'a) -> 'b

Isolate a function inside a context. All the added tear down will run before returning.

val with_ctxt : OUnitConf.conf -> logger -> OUnitShared.shared -> result_full list Stdlib.ref -> path -> (ctxt -> 'a) -> 'b

Create a context and run the function.

val standard_modules : string list
val result_full_of_exception : ctxt -> exn -> path * result * OUnitLogger.position option

Transform an exception in a result.

val report_result_full : ctxt -> (path * result * 'a) -> path * result * 'a
val non_fatal : ctxt -> (ctxt -> unit) -> unit

Isolate a function inside a context, just as !section_ctxt but don't propagate a failure, register it for later.

val (>:) : string -> test -> test
val (>::) : string -> test_fun -> test
val (>:::) : string -> test list -> test
val test_decorate : (test_fun -> test_fun) -> test -> test
val test_case_count : test -> int
val string_of_node : node -> string
module Path : sig ... end
module MapPath : sig ... end
val string_of_path : node list -> string
val test_case_paths : test -> node list list
module SetTestPath : sig ... end
val test_filter : ?skip:bool -> SetTestPath.elt list -> test -> test option