On 09/05/2022 14.41, Daniel P. Berrangé wrote:
> When running I/O tests using TAP output mode, we get a single TAP test
> with a sub-test reported for each I/O test that is run. The output looks
> something like this:
>
> 1..123
> ok qcow2 011
> ok qcow2 012
> ok qcow2 013
> ok qcow2 217
> ...
>
> If everything runs or fails normally this is fine, but periodically we
> have been seeing the test harness abort early before all 123 tests have
> been run, just leaving a fairly useless message like
>
> TAP parsing error: Too few tests run (expected 123, got 107)
>
> we have no idea which tests were running at the time the test harness
> abruptly exited. This change causes us to print a message about our
> intent to run each test, so we have a record of what is active at the
> time the harness exits abnormally.
>
> 1..123
> # running qcow2 011
> ok qcow2 011
> # running qcow2 012
> ok qcow2 012
> # running qcow2 013
> ok qcow2 013
> # running qcow2 217
> ok qcow2 217
> ...
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> tests/qemu-iotests/testrunner.py | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tests/qemu-iotests/testrunner.py b/tests/qemu-iotests/testrunner.py
> index aae70a8341..dc871b7caf 100644
> --- a/tests/qemu-iotests/testrunner.py
> +++ b/tests/qemu-iotests/testrunner.py
> @@ -361,6 +361,9 @@ def run_test(self, test: str,
> starttime=start,
> lasttime=last_el,
> end = '\n' if mp else '\r')
> + else:
> + testname = os.path.basename(test)
> + print(f'# running {self.env.imgfmt} {testname}')
>
> res = self.do_run_test(test, mp)
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
I wonder whether we should flush stdout, too?