sys.path can contain duplicate entries for each layer, which means that the search in add_controller_list() will find the same name twice and abort.
As duplicate directories should be harmless, remove any duplicates before iterating through the entries. Signed-off-by: Ross Burton <[email protected]> --- meta/lib/oeqa/runtime/context.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runtime/context.py b/meta/lib/oeqa/runtime/context.py index d707ab263a8..8092dd0baee 100644 --- a/meta/lib/oeqa/runtime/context.py +++ b/meta/lib/oeqa/runtime/context.py @@ -153,7 +153,11 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): else: raise RuntimeError("Duplicate controller module found for %s. Layers should create unique controller module names" % module) - for p in sys.path: + # sys.path can contain duplicate paths, but because of the login in + # add_controller_list this doesn't work and causes testimage to abort. + # Remove duplicates using an intermediate dictionary to ensure this + # doesn't happen. + for p in list(dict.fromkeys(sys.path)): controllerpath = os.path.join(p, 'oeqa', 'controllers') if os.path.exists(controllerpath): add_controller_list(controllerpath) -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#163638): https://lists.openembedded.org/g/openembedded-core/message/163638 Mute This Topic: https://lists.openembedded.org/mt/90021079/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
