diff mbox series

[1/2] tests/qemu-iotests: print intent to run a test in TAP mode

Message ID 20220509124134.867431-2-berrange@redhat.com
State New
Headers show
Series ci: improve debuggability of I/O tests | expand

Commit Message

Daniel P. Berrangé May 9, 2022, 12:41 p.m. UTC
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(+)

Comments

Thomas Huth May 9, 2022, 12:48 p.m. UTC | #1
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?
diff mbox series

Patch

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)