OUnitState
Manipulate the state of OUnit runner.
type 'worker next_test_case_t =
| Not_enough_worker
| Try_again
| Next_test_case of OUnitTest.path * OUnitTest.test_fun * 'worker
| Finished
type 'worker test_running = {
test_length : OUnitTest.test_length;
deadline : time;
next_health_check : time;
worker : 'worker;
}
type 'worker t = {
tests_planned : (OUnitTest.path * (OUnitTest.test_length * OUnitTest.test_fun))
list;
tests_running : (OUnitTest.path * 'worker test_running) list;
tests_passed : (OUnitTest.result_full * OUnitTest.result_list) list;
idle_workers : 'worker list;
chooser : OUnitChooser.chooser;
cache : OUnitCache.cache;
health_check_interval : time;
}
val health_check_interval : float OUnitConf.var
val create :
OUnitConf.conf ->
OUnitChooser.chooser ->
(OUnitTest.path * OUnitTest.test_length * OUnitTest.test_fun) list ->
'a t
val maybe_dump_cache : OUnitConf.conf -> 'a t -> 'a t
val add_test_results :
OUnitConf.conf ->
(OUnitTest.result_full * OUnitTest.result_list) ->
'a t ->
'b t
val test_finished :
OUnitConf.conf ->
(OUnitTest.result_full * OUnitTest.result_list) ->
'a ->
'b t ->
'c t
val count_worker : 'a t -> int
val count_tests_running : 'a t -> int
val get_workers : 'a t -> 'b list
val get_idle_workers : 'a t -> 'a list
val is_idle_worker : 'a -> 'b t -> bool
val get_tests_running : 'a t -> OUnitTest.path list
val next_test_case :
OUnitConf.conf ->
(OUnitTest.path, OUnitTest.result) OUnitLogger.logger ->
'a t ->
'b next_test_case_t * 'a t
val get_results : 'a t -> OUnitTest.result_full list
Get all the results.
val get_worker_need_health_check : 'a t -> (OUnitTest.path option * 'b) list
Get all the workers that need to be checked for their health.
val update_test_activity : OUnitTest.path -> 'a t -> 'b t
Update the activity of a worker, this postpone the next health check.
val get_worker_timed_out :
'a t ->
(OUnitTest.path * OUnitTest.test_length * 'b) list
Get all the workers that are timed out, i.e. that need to be stopped.
val timeout : 'a t -> float
Compute when is the next time, we should either run health check or timeout a test.