test/py: Provide the correct U_BOOT_SOURCE_DIR to getrole

The u-boot-test-getrole script runs before the normal environment
variables have been set up. This is unavoidable since the script is
providing necessary information to test.py

This means that U_BOOT_SOURCE_DIR is not set in the environment.

As a result, Labgrid uses its default source path, configured in its
environment variable. While this may happen to work, it is not correct.
Also, it causes problems when running from Gitlab, where the runner may
not have access to that source path.

Provide the required source path in U_BOOT_SOURCE_DIR so that Labgrid
does the right thing.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: bf89a8f1fc ("test: Introduce the concept of a role")

[1] https://patchwork.ozlabs.org/project/uboot/patch/20241211131858.520639-1-sjg@chromium.org/
This commit is contained in:
Simon Glass 2024-12-14 11:20:20 -07:00 committed by Tom Rini
parent 0e198ff1a9
commit ba87a2fcfb

View file

@ -161,6 +161,10 @@ def get_details(config):
env['U_BOOT_BUILD_DIR'] = build_dir env['U_BOOT_BUILD_DIR'] = build_dir
if build_dir_extra: if build_dir_extra:
env['U_BOOT_BUILD_DIR_EXTRA'] = build_dir_extra env['U_BOOT_BUILD_DIR_EXTRA'] = build_dir_extra
# Make sure the script sees that it is being run from pytest
env['U_BOOT_SOURCE_DIR'] = source_dir
proc = subprocess.run(cmd, capture_output=True, encoding='utf-8', proc = subprocess.run(cmd, capture_output=True, encoding='utf-8',
env=env) env=env)
if proc.returncode: if proc.returncode: