From 637942ac8e093163742d7b74bf80836c3b950c4e Mon Sep 17 00:00:00 2001 From: David Lechner Date: Mon, 5 Jan 2026 10:49:13 -0600 Subject: test.py: check ubconfig exists before using it 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: 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 Tested-by: Mattijs Korpershoek # sandbox Reviewed-by: Mattijs Korpershoek Signed-off-by: David Lechner --- test/py/conftest.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/py/conftest.py b/test/py/conftest.py index 8ce680a92a0..37d9347a85f 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 and ubconfig.timing: print(buf.getvalue(), end='') -- cgit v1.2.3