Module OUnitState

module OUnitState: sig .. end
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 time = float 
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 : OUnitConf.conf -> float
val create : OUnitConf.conf ->
OUnitChooser.chooser ->
(OUnitTest.path * OUnitTest.test_length * OUnitTest.test_fun) list ->
'a t
val filter_out : 'a -> ('a * 'b) list -> ('a * 'b) list
val maybe_dump_cache : OUnitConf.conf -> 'a t -> 'a t
val add_test_results : OUnitConf.conf ->
OUnitTest.result_full * OUnitTest.result_list ->
'a t -> 'a t
val test_finished : OUnitConf.conf ->
OUnitTest.result_full * OUnitTest.result_list ->
'a -> 'a t -> 'a t
val add_worker : 'a -> 'a t -> 'a t
val remove_idle_worker : 'a -> 'a t -> 'a t
val count_worker : 'a t -> int
val count_tests_running : 'a t -> int
val get_workers : 'a t -> 'a list
val get_idle_workers : 'a t -> 'a list
val is_idle_worker : 'a -> 'a 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 -> 'a 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 * 'a) list
Get all the workers that need to be checked for their health.
val update_test_activity : OUnitTest.path -> 'a t -> 'a 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 * 'a) 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.