[PATCH v2 1/3] test.py: check ubconfig exists before using it
David Lechner
dlechner at baylibre.com
Wed Dec 17 19:42:09 CET 2025
Set ubconfig to None and add a check in the show_timings() function of
test/py/test.py to ensure that the global ubconfig variable was actually
initialized before access attributes.
If tests fail early, e.g. because --build failed, ubconfig may not have
been initialized yet and results in an exception in an atexit handler.
Adding this check avoids unnecessary noise in the output.
Exception ignored in atexit callback: <function cleanup at 0x7de475ea6b60>
Traceback (most recent call last):
File "u-boot/test/py/conftest.py", line 669, in cleanup
show_timings()
File "u-boot/test/py/conftest.py", line 616, in show_timings
if ubconfig.timing:
^^^^^^^^
NameError: name 'ubconfig' is not defined
Signed-off-by: David Lechner <dlechner at baylibre.com>
---
v2 changes:
- Set to None and check for not None instead of using 'in globals()'
---
test/py/conftest.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/test/py/conftest.py b/test/py/conftest.py
index 8ce680a92a0..5689fcd0349 100644
--- a/test/py/conftest.py
+++ b/test/py/conftest.py
@@ -28,9 +28,10 @@ import sys
from spawn import BootFail, Timeout, Unexpected, handle_exception
import time
-# Globals: The HTML log file, and the top-level fixture
+# Globals: The HTML log file, the top-level fixture and the config container
log = None
ubman_fix = None
+ubconfig = None
TEST_PY_DIR = os.path.dirname(os.path.abspath(__file__))
@@ -613,7 +614,7 @@ def show_timings():
if too_long:
show_bar(f'>{get_time_delta(max_dur)}', too_long_msecs, too_long)
log.info(buf.getvalue())
- if ubconfig.timing:
+ if ubconfig is not None and ubconfig.timing:
print(buf.getvalue(), end='')
--
2.43.0
More information about the U-Boot
mailing list