OUnitRunnerProcessesUse processes to run several tests in parallel. * * Run processes that handle running tests. The processes read test, execute * it, and communicate back to the master the log. * * This need to be done in another process because OCaml Threads are not truly * running in parallel. Moreover we cannot use Unix.fork because it's not * portable
val unix_fork : (unit -> int) refval make_channel : 
  string ->
  ('a -> string) ->
  ('b -> string) ->
  Unix.file_descr ->
  Unix.file_descr ->
  ('b, 'a) OUnitRunner.GenericWorker.channelval processes_grace_period : float OUnitConf.varval processes_kill_period : float OUnitConf.varval select_no_interrupt : 
  Unix.file_descr list ->
  Unix.file_descr list ->
  Unix.file_descr list ->
  float ->
  Unix.file_descr list * Unix.file_descr list * Unix.file_descr listval create_worker : 
  shard_id:string ->
  master_id:string ->
  worker_log_file:bool ->
  OUnitConf.conf ->
  OUnitRunner.GenericWorker.map_test_cases ->
  Unix.file_descr OUnitRunner.GenericWorker.workerval workers_waiting : 
  timeout:float ->
  Unix.file_descr OUnitRunner.GenericWorker.worker list ->
  Unix.file_descr OUnitRunner.GenericWorker.worker list