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>
This commit is contained in:
parent
fb352b3c85
commit
e5381b0410
1 changed files with 3 additions and 2 deletions
|
|
@ -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())
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue