If you individually run some of the devtool selftests, e.g. with:
oe-selftest -r devtool.DevtoolAddTests.test_devtool_add
then you bypass the sanity check in test_create_workspace that checks
for an existing workspace layer. Eventually, recipetool will be called
in a test, and tinfoil.prepare will fail. But because tinfoil.shutdown
doesn't get called, the thread spawned by bb.server.process.BBUIEventQueue
spins forever and recipetool never exits, hanging the test.
Signed-off-by: Chris Laplante <[email protected]>
---
scripts/recipetool | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/scripts/recipetool b/scripts/recipetool
index e2d585d2c5..9eaecfbde6 100755
--- a/scripts/recipetool
+++ b/scripts/recipetool
@@ -22,13 +22,6 @@ logger = scriptutils.logger_create('recipetool')
plugins = []
-def tinfoil_init(parserecipes):
- import bb.tinfoil
- import logging
- tinfoil = bb.tinfoil.Tinfoil(tracking=True)
- tinfoil.logger.setLevel(logger.getEffectiveLevel())
- tinfoil.prepare(not parserecipes)
- return tinfoil
def main():
@@ -67,8 +60,11 @@ def main():
scriptutils.logger_setup_color(logger, global_args.color)
- tinfoil = tinfoil_init(False)
- try:
+ import bb.tinfoil
+ with bb.tinfoil.Tinfoil(tracking=True) as tinfoil:
+ tinfoil.logger.setLevel(logger.getEffectiveLevel())
+ tinfoil.prepare(True)
+
for path in (tinfoil.config_data.getVar('BBPATH').split(':')
+ [scripts_path]):
pluginpath = os.path.join(path, 'lib', 'recipetool')
@@ -100,8 +96,6 @@ def main():
ret = args.func(args)
except bb.BBHandledException:
ret = 1
- finally:
- tinfoil.shutdown()
return ret
--
2.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188797):
https://lists.openembedded.org/g/openembedded-core/message/188797
Mute This Topic: https://lists.openembedded.org/mt/101820642/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-