[PATCH v2 1/3] test.py: check ubconfig exists before using it
Simon Glass
sjg at chromium.org
Sat Dec 27 15:52:31 CET 2025
Hi David,
On Wed, 17 Dec 2025 at 11:43, David Lechner <dlechner at baylibre.com> wrote:
>
> 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:
if ubconfig and ubconfig.timing
> print(buf.getvalue(), end='')
>
>
>
> --
> 2.43.0
>
Regards,
SImon
More information about the U-Boot
mailing list