From 94ab9892e87f159840432fdbfb3873d4496d4786 Mon Sep 17 00:00:00 2001 From: Mariano Lopez Date: Fri, 18 Sep 2015 13:31:32 +0000 Subject: testimage.bbclass: Fix break introduced with SIGTERM handling The SIGTERM introduced another break into runexported test, the handler is in the class TestContext while exporting it will try to convert the singnal handler to JSON, and this will throw an exception. The SIGTERM handler is not needed in the exported test, so this change will remove the handler before exporting the test. Also when a test is exported the target is not deployed/started anymore, it is not necessary. [YOCTO #8239] Signed-off-by: Mariano Lopez Signed-off-by: Ross Burton --- meta/classes/testimage.bbclass | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'meta') diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 70e28004fe..c62e391ec2 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -311,13 +311,15 @@ def testimage_main(d): import traceback bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) - target.deploy() - try: - target.start() - if export: - exportTests(d,tc) - else: + if export: + signal.signal(signal.SIGTERM, tc.origsigtermhandler) + tc.origsigtermhandler = None + exportTests(d,tc) + else: + target.deploy() + try: + target.start() starttime = time.time() result = runTests(tc) stoptime = time.time() @@ -330,9 +332,9 @@ def testimage_main(d): bb.plain(msg) else: raise bb.build.FuncFailed("%s - FAILED - check the task log and the ssh log" % pn ) - finally: - signal.signal(signal.SIGTERM, tc.origsigtermhandler) - target.stop() + finally: + signal.signal(signal.SIGTERM, tc.origsigtermhandler) + target.stop() testimage_main[vardepsexclude] =+ "BB_ORIGENV" -- cgit v1.2.3