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]

(From OE-Core rev: 94ab9892e87f159840432fdbfb3873d4496d4786)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez 2015-09-18 13:31:32 +00:00 committed by Richard Purdie
parent 7d166a6d06
commit c8a7d76d36
1 changed files with 11 additions and 9 deletions

View File

@ -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"