On 02/03/2023 19.46, Daniel P. Berrangé wrote:
To just repeat the patch 5 description...Currently meson registers a single test that invokes an entire group of I/O tests, hiding the test granularity from meson. There are various downsides of doing this * You cannot ask 'meson test' to invoke a single I/O test * The meson test timeout can't be applied to the individual tests * Meson only gets a pass/fail for the overall I/O test group not individual tests * If a CI job gets killed by the GitLab timeout, we don't get visibility into how far through the I/O tests execution got. This is not really specific to the I/O tests, the problem is common to any case of us running a test which is in fact another test harness which runs many tests. It would be nice to have meson have the full view of all tests run. Adapting the I/O tests is as easy win in this respect. This switches meson to perform test discovery by invoking 'check' in dry-run mode. It then registers one meson test case for each I/O test. Parallel execution remains disabled since the I/O tests do not use self contained execution environments and thus conflict with each other.
Great to see some movement in this area again! Some questions/remarks: 1) Could you remove tests/check-block.sh now? See also: https://lore.kernel.org/all/[email protected]/ 2) With regards to parallel execution ... I think it should be possible nowadays - the "check" script is normally also run with the "-j" switch by the tests/check-block.sh script, so if you remove the possibility to run in parallel, it's a regression from the previous behavior! 3) When I tried this last year, I had a weird problem that the terminal sometimes gets messed up ... I wasn't able to track it down back then - could you check by running "make check-block" many times (>10 times) to see whether it happens with your series or not? Thomas
