# Module OUnitConf

    module OUnitConf: sig .. end

Load test options from file, environment and command line (in this order). Not that `extra_specs` is here for historical reason, better use `make` to create command line options.

    exception Parse_error of string

    type conf = OUnitPropList.t

    type metadata = {

`` | `help : `string`;`
`` | `get_print : `conf -> string`;`
`` | `parse_set : `string -> conf -> unit`;`
`` | `cli : `conf -> (string * Arg.spec * string) list`;`

}

    val metaconf : (string, metadata) Hashtbl.t

    val check_variable_name : string -> unit

    val cli_name : string -> string

    val subst : conf -> (string * string) list -> string -> string

    val make : name:string ->
           parse:(string -> 'a) ->
           print:('a -> string) ->
           default:'a ->
           help:string ->
           fcli:('a -> ('a -> unit) -> (string * Arg.spec * string) list) ->
           unit -> conf -> 'a

    val make_string : string -> string -> string -> conf -> string

    val make_string_subst : string ->
           string ->
           string -> ?extra_subst:(string * string) list -> conf -> string

    val make_string_opt : string -> string option -> string -> conf -> string option

    val make_string_subst_opt : string ->
           string option ->
           string ->
           ?extra_subst:(string * string) list -> conf -> string option

    val make_int : string -> int -> string -> conf -> int

    val make_float : string -> float -> string -> conf -> float

    val make_bool : string -> bool -> string -> conf -> bool

    val make_enum : string ->
           (unit -> (string * 'a) list) ->
           string -> string -> conf -> string * 'a

    val make_exec : string -> conf -> string

    val set : origin:string -> conf -> string -> string -> unit

    val file_parse : conf -> string -> unit

    val env_parse : conf -> unit

    val cli_parse : ?argv:string array ->
           (Arg.key * Arg.spec * Arg.doc) list -> conf -> unit

    val default : ?preset:(string * string) list -> unit -> (int, unit -> unit) Hashtbl.t

    val load : ?preset:(string * string) list ->
           ?argv:string array ->
           (Arg.key * Arg.spec * Arg.doc) list -> (int, unit -> unit) Hashtbl.t

Load test options from file, environment and command line (in this order). Not that `extra_specs` is here for historical reason, better use `make` to create command line options.

    val dump : conf -> (string * string) list