utils/httpserver.py now depends on bb and multiprocessing. Fixes oeqa test execution:
https://ledge.validation.linaro.org/scheduler/job/123974 ImportError: Failed to import test module: apt Traceback (most recent call last): File "/usr/lib/python3.13/unittest/loader.py", line 396, in _find_test_path module = self._get_module_from_name(name) File "/usr/lib/python3.13/unittest/loader.py", line 339, in _get_module_from_name __import__(name) ~~~~~~~~~~^^^^^^ File "/lava-downloads/core-image-sato/meta/lib/oeqa/runtime/cases/apt.py", line 8, in <module> from oeqa.utils.httpserver import HTTPService File "/lava-downloads/core-image-sato/meta/lib/oeqa/utils/httpserver.py", line 9, in <module> from bb import multiprocessing ModuleNotFoundError: No module named 'bb' Signed-off-by: Mikko Rapeli <[email protected]> --- meta/classes-recipe/testexport.bbclass | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) v2: changed from python import workaround to exporting bitbake/lib in testexport.bbclass as requested by Richard v1: https://lists.openembedded.org/g/openembedded-core/message/226668 diff --git a/meta/classes-recipe/testexport.bbclass b/meta/classes-recipe/testexport.bbclass index 843d777e3b..344ae489b5 100644 --- a/meta/classes-recipe/testexport.bbclass +++ b/meta/classes-recipe/testexport.bbclass @@ -84,6 +84,7 @@ def copy_needed_files(d, tc): from oeqa.core.utils.test import getSuiteCasesFiles export_path = d.getVar('TEST_EXPORT_DIR') + bitbake_path = d.getVar('BITBAKEPATH') corebase_path = d.getVar('COREBASE') bblayers = d.getVar('BBLAYERS').split() @@ -91,9 +92,18 @@ def copy_needed_files(d, tc): oe.path.remove(export_path) bb.utils.mkdirhier(os.path.join(export_path, 'lib', 'oeqa')) - # The source of files to copy are relative to 'COREBASE' directory - # The destination is relative to 'TEST_EXPORT_DIR' - # core files/dirs first + # The source of files to copy are relative to 'BITBAKEPATH' and 'COREBASE' + # directory. The destination is relative to 'TEST_EXPORT_DIR'. + # bitbake and core files/dirs first. + bitbake_files_to_copy = [os.path.join('..', 'lib')] + for f in bitbake_files_to_copy: + src = os.path.join(bitbake_path, f) + dst = os.path.join(export_path, 'bitbake', f.split('/', 1)[-1]) + if os.path.isdir(src): + oe.path.copytree(src, dst) + else: + shutil.copy2(src, dst) + core_files_to_copy = [ os.path.join('scripts', 'oe-test'), os.path.join('scripts', 'lib', 'argparse_oe.py'), os.path.join('scripts', 'lib', 'scriptutils.py'), ] -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#226688): https://lists.openembedded.org/g/openembedded-core/message/226688 Mute This Topic: https://lists.openembedded.org/mt/116409323/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
