Module Autofonce_lib.Types
include module type of struct include Autofonce_core.Types end
and action = Autofonce_core.Types.action =
| AT_DATA of {
file : string;
content : string;
}
| AT_CAPTURE_FILE of string
| AT_XFAIL
| AT_XFAIL_IF of {
step : step;
loc : location;
command : string;
}
| AT_FAIL of {
loc : location;
}
| AT_FAIL_IF of {
step : step;
loc : location;
command : string;
}
| AT_SKIP
| AT_SKIP_IF of {
step : step;
loc : location;
command : string;
}
| AT_CHECK of check
| AT_CLEANUP of {
loc : location;
}
| AF_ENV of string
| AF_COPY of {
step : step;
loc : location;
files : string list;
command : string;
copy : bool;
promote : bool;
}
and test = Autofonce_core.Types.test = {
test_suite : suite;
test_loc : location;
test_name : string;
test_id : int;
test_banner : string;
test_env : string;
test_subst : string list;
mutable test_keywords : string list;
mutable test_actions : action list;
mutable test_keywords_set : EzCompat.StringSet.t;
}
and suite = Autofonce_core.Types.suite = {
suite_file : string;
suite_dir : string;
mutable suite_ntests : int;
suite_test_by_id : (int, test) Stdlib.Hashtbl.t;
mutable suite_tests : test list;
mutable suite_tested_programs : string list;
mutable suite_copyright : string;
mutable suite_name : string;
mutable suite_banners : string list;
}
val string_of_action : action -> string
val string_of_runif : action list -> string
val string_of_check : check -> string
include module type of struct include Autofonce_config.Types end
type project_config = Autofonce_config.Types.project_config = {
project_name : string option;
project_source_anchors : string list;
project_build_anchors : string list;
project_build_dir_candidates : string list;
project_run_from : run_from;
project_testsuites : testsuite_config list;
project_envs : testsuite_env EzCompat.StringMap.t;
project_captured_files : string list;
project_file : string;
project_source_dir : string;
project_build_dir : string;
project_run_dir : string;
}
type exec_args = {
mutable arg_clean_tests_dir : bool;
mutable arg_max_jobs : int;
mutable arg_auto_promote : int;
mutable arg_fake : bool;
mutable arg_print_results : bool;
mutable arg_subst_env : (string * string) option EzCompat.StringMap.t;
mutable arg_stop_on_first_failure : bool;
mutable arg_print_all : bool;
mutable arg_keep_skipped : bool;
mutable arg_keep_all : bool;
mutable arg_output : string option;
}
type state = {
state_args : exec_args;
state_suite : suite;
state_run_dir : string;
state_config : testsuite_config;
state_project : project_config;
mutable state_banner : string;
mutable state_status : string;
mutable state_ntests_ran : int;
mutable state_ntests_ok : int;
mutable state_tests_failed : tester list;
mutable state_tests_skipped : tester list;
mutable state_tests_failexpected : tester list;
mutable state_buffer : EzCompat.Buffer.t;
mutable state_ntests : int;
mutable state_nchecks : int;
mutable state_status_printed : bool;
}
and tester = {
tester_state : state;
tester_suite : suite;
tester_test : test;
mutable tester_renvs : string list;
mutable tester_fail_expected : bool;
mutable tester_captured_files : EzCompat.StringSet.t;
mutable tester_fail_reason : (location * string * check option) option;
}
and checker = {
checker_check : check;
checker_tester : tester;
checker_pid : int;
}