Module Core_kernel.Stable_unit_test

The tests generated by these functors are run like any other unit tests: by the inline test runner when the functor is applied.

See stable_unit_test_intf.ml for documentation regarding the argument module types.

module Make_sexp_deserialization_test : functor (T : sig ... end) -> sig ... end

We provide separate access to sexp serialization and deserialization tests because some stable types will have varying sexp serializations. Notably, Time.sexp_of_t depends on the local timezone. For such types it is still important to check that all the sexps can be deserialized correctly.

module Make_sexp_serialization_test : functor (T : sig ... end) -> sig ... end
module Make_bin_io_test : functor (T : sig ... end) -> sig ... end
module Make : functor (T : sig ... end) -> sig ... end

Include all of the above tests.

module type Unordered_container_arg = sig ... end

See stable_unit_test_intf.ml for documentation.

module Unordered_container_test : sig ... end

Unordered container tests are for types with serializations that will contain a certain set of elements (each represented by a single sexp or bin-io string) which may appear in any order, such as hash tables and hash sets.

module Make_unordered_container : functor (T : Unordered_container_arg) -> sig ... end