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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to