[PATCH 18/39] tests/functional: avoid accessing log_filename on earlier failures

Alex Bennée posted 39 patches 1 day, 22 hours ago
Only 38 patches received!
[PATCH 18/39] tests/functional: avoid accessing log_filename on earlier failures
Posted by Alex Bennée 1 day, 22 hours ago
From: Daniel P. Berrangé <berrange@redhat.com>

If a failure occurs early in the QemuBaseTest constructor, the
'log_filename' object atttribute may not exist yet. This happens
most notably if the QEMU_TEST_QEMU_BINARY is not set. We can't
initialize 'log_filename' earlier as we use the binary to identify
the architecture which is then used to build the path in which the
logs are stored.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20241121154218.1423005-19-berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/functional/qemu_test/testcase.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py
index fceafb32b0..90ae59eb54 100644
--- a/tests/functional/qemu_test/testcase.py
+++ b/tests/functional/qemu_test/testcase.py
@@ -81,10 +81,12 @@ def main():
         res = unittest.main(module = None, testRunner = tr, exit = False,
                             argv=["__dummy__", path])
         for (test, message) in res.result.errors + res.result.failures:
-            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)
+
+            if hasattr(test, "log_filename"):
+                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)
         sys.exit(not res.result.wasSuccessful())
 
 
-- 
2.39.5


Re: [PATCH 18/39] tests/functional: avoid accessing log_filename on earlier failures
Posted by Thomas Huth 1 day, 5 hours ago
On 21/11/2024 17.57, Alex Bennée wrote:
> From: Daniel P. Berrangé <berrange@redhat.com>
> 
> If a failure occurs early in the QemuBaseTest constructor, the
> 'log_filename' object atttribute may not exist yet. This happens

s/atttribute/attribute/

> most notably if the QEMU_TEST_QEMU_BINARY is not set. We can't
> initialize 'log_filename' earlier as we use the binary to identify
> the architecture which is then used to build the path in which the
> logs are stored.

With the typo fixed:
Reviewed-by: Thomas Huth <thuth@redhat.com>