From: Simon Glass Date: Wed, 11 Dec 2024 13:18:58 +0000 (-0700) Subject: test/py: Always use the current dir as the source tree X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-favicon.png?a=commitdiff_plain;h=a8f09d62821750aa755a8fe40bb72febc9154f20;p=u-boot.git test/py: Always use the current dir as the source tree The logic in get_details() retrieves the default source directory from the Labgrid settings. This is convenient for interactive use, since it allows pytests to be run from any directory and still find the source tree. However, it is not actually correct. Gitlab sets the current directory to the source tree and expects that to be used. At present it is ignored. The result is that Gitlab builds whatever happens to be in the default source directory, ignoring the tree it is supposed to be building. Fix this by using the directory of the source tree, always. This is obtained by looking at the grandparent of the conftest.py file. Signed-off-by: Simon Glass Reported-by: Tom Rini Fixes: bf89a8f1fc2 ("test: Introduce the concept of a role") Tested-by: Tom Rini --- diff --git a/test/py/conftest.py b/test/py/conftest.py index d9f074f381..509d19b449 100644 --- a/test/py/conftest.py +++ b/test/py/conftest.py @@ -144,6 +144,9 @@ def get_details(config): # Get a few provided parameters build_dir = config.getoption('build_dir') build_dir_extra = config.getoption('build_dir_extra') + + # The source tree must be the current directory + source_dir = os.path.dirname(os.path.dirname(TEST_PY_DIR)) if role: # When using a role, build_dir and build_dir_extra are normally not set, # since they are picked up from Labgrid-sjg via the u-boot-test-getrole @@ -172,15 +175,13 @@ def get_details(config): # Read the build directories here, in case none were provided in the # command-line arguments (board_type, board_type_extra, default_build_dir, - default_build_dir_extra, source_dir) = (vals['board'], - vals['board_extra'], vals['build_dir'], vals['build_dir_extra'], - vals['source_dir']) + default_build_dir_extra) = (vals['board'], + vals['board_extra'], vals['build_dir'], vals['build_dir_extra']) else: board_type = config.getoption('board_type') board_type_extra = config.getoption('board_type_extra') board_identity = config.getoption('board_identity') - source_dir = os.path.dirname(os.path.dirname(TEST_PY_DIR)) default_build_dir = source_dir + '/build-' + board_type default_build_dir_extra = source_dir + '/build-' + board_type_extra