testsdk.bbclass: check python module testtools and subunit

The testtools or subunit is not part of python's standard library, so check them
before use.

Fixed when they are not installed on host:
$ bitbake core-image-minimal -ctestsdk
Exception: ImportError: No module named 'testtools'

Now it can run with a warning:
WARNING: core-image-minimal-1.0-r0 do_testsdk: Failed to import testtools or subunit, the testcases will run serially

(From OE-Core rev: ae53461608c4e71533378369b3f623b4c9002e39)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2018-07-27 11:17:36 +08:00
committed by Richard Purdie
parent 3bbe1ec7d5
commit ac134ce9be

View File

@@ -43,6 +43,12 @@ def testsdk_main(d):
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
processes = d.getVar("TESTIMAGE_NUMBER_THREADS") or d.getVar("BB_NUMBER_THREADS")
if processes:
try:
import testtools, subunit
except ImportError:
bb.warn("Failed to import testtools or subunit, the testcases will run serially")
processes = None
sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
bb.utils.remove(sdk_dir, True)