diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2025-09-08 14:57:20 +0100 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2025-09-09 12:41:32 +0200 |
commit | e5381b041037f3918163f2b7f82415aee80cd64e (patch) | |
tree | 2f0333553f429441b7cf8538b78de4dda84c90f7 | |
parent | fb352b3c85a990ba81e41e4e8c7eb53ccc3059a3 (diff) | |
download | qemu-e5381b041037f3918163f2b7f82415aee80cd64e.zip qemu-e5381b041037f3918163f2b7f82415aee80cd64e.tar.gz qemu-e5381b041037f3918163f2b7f82415aee80cd64e.tar.bz2 |
tests/functional: avoid duplicate messages on failures
In some scenarios the same tests is mentioned in both the
'res.results.errors' and 'res.results.failures' array returned
by unittest.main(). This was seen when the 'tearDown' method
raised an exception.
In such a case, we printed out the same information about where
to find a log file twice for each test. Track which tests we
have already reported on, to avoid the duplication.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250908135722.3375580-3-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r-- | tests/functional/qemu_test/testcase.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py index fbeb171..82a7724 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -251,13 +251,14 @@ class QemuBaseTest(unittest.TestCase): test_output_log = pycotap.LogMode.LogToError) res = unittest.main(module = None, testRunner = tr, exit = False, argv=[sys.argv[0], path] + sys.argv[1:]) + failed = {} for (test, message) in res.result.errors + res.result.failures: - - if hasattr(test, "log_filename"): + if hasattr(test, "log_filename") and not test.id() in failed: print('More information on ' + test.id() + ' could be found here:' '\n %s' % test.log_filename, file=sys.stderr) if hasattr(test, 'console_log_name'): print(' %s' % test.console_log_name, file=sys.stderr) + failed[test.id()] = True sys.exit(not res.result.wasSuccessful()) |