I can reproduce this on my Windows VM by running the the parallel tests. What seems to happen is that some call to flush output raises a Sys_error("Invalid argument"). If I am not mistaken, this can happen either in the worker OR in the scheduler. When it happens in the worker it produces a deadlock, because the worker never returns from the select, and if in the scheduler the test will just fail.
Perhaps this is related to ocaml/ocaml#13586?
The current workaround is to force testo to run without workers by passing -j 0 in test invocations.
I can reproduce this on my Windows VM by running the the parallel tests. What seems to happen is that some call to flush output raises a
Sys_error("Invalid argument"). If I am not mistaken, this can happen either in the worker OR in the scheduler. When it happens in the worker it produces a deadlock, because the worker never returns from the select, and if in the scheduler the test will just fail.Perhaps this is related to ocaml/ocaml#13586?
The current workaround is to force testo to run without workers by passing
-j 0in test invocations.