mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
oeqa/runtime/context: remove duplicate sys.path entries when looking for modules
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. (From OE-Core rev: e478381ac1cccc5f882198fd11c8757db7e3741a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
02b01be41f
commit
596fcd883f
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user