mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
testsdk: Enable multiprocess execution
This uses the new concurrenttest code to enable parallel test execution if specified. (From OE-Core rev: 07d19fb3adab7a8d83ba83d9a16395f70d7b7a47) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -42,6 +42,8 @@ def testsdk_main(d):
|
|||||||
host_pkg_manifest = OESDKTestContextExecutor._load_manifest(
|
host_pkg_manifest = OESDKTestContextExecutor._load_manifest(
|
||||||
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
|
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
|
||||||
|
|
||||||
|
processes = d.getVar("TESTIMAGE_NUMBER_THREADS") or d.getVar("BB_NUMBER_THREADS")
|
||||||
|
|
||||||
sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
|
sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
|
||||||
bb.utils.remove(sdk_dir, True)
|
bb.utils.remove(sdk_dir, True)
|
||||||
bb.utils.mkdirhier(sdk_dir)
|
bb.utils.mkdirhier(sdk_dir)
|
||||||
@@ -65,7 +67,10 @@ def testsdk_main(d):
|
|||||||
import traceback
|
import traceback
|
||||||
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
|
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
|
||||||
|
|
||||||
result = tc.runTests()
|
if processes:
|
||||||
|
result = tc.runTests(processes=int(processes))
|
||||||
|
else:
|
||||||
|
result = tc.runTests()
|
||||||
|
|
||||||
component = "%s %s" % (pn, OESDKTestContextExecutor.name)
|
component = "%s %s" % (pn, OESDKTestContextExecutor.name)
|
||||||
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
|
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
|
||||||
|
|||||||
@@ -65,6 +65,9 @@ class OESDKTestContextExecutor(OETestContextExecutor):
|
|||||||
sdk_rgroup.add_argument('--sdk-dir', required=False, action='store',
|
sdk_rgroup.add_argument('--sdk-dir', required=False, action='store',
|
||||||
help='sdk installed directory')
|
help='sdk installed directory')
|
||||||
|
|
||||||
|
self.parser.add_argument('-j', '--num-processes', dest='processes', action='store',
|
||||||
|
type=int, help="number of processes to execute in parallel with")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _load_manifest(manifest):
|
def _load_manifest(manifest):
|
||||||
pkg_manifest = {}
|
pkg_manifest = {}
|
||||||
@@ -85,6 +88,7 @@ class OESDKTestContextExecutor(OETestContextExecutor):
|
|||||||
OESDKTestContextExecutor._load_manifest(args.target_manifest)
|
OESDKTestContextExecutor._load_manifest(args.target_manifest)
|
||||||
self.tc_kwargs['init']['host_pkg_manifest'] = \
|
self.tc_kwargs['init']['host_pkg_manifest'] = \
|
||||||
OESDKTestContextExecutor._load_manifest(args.host_manifest)
|
OESDKTestContextExecutor._load_manifest(args.host_manifest)
|
||||||
|
self.tc_kwargs['run']['processes'] = args.processes
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _get_sdk_environs(sdk_dir):
|
def _get_sdk_environs(sdk_dir):
|
||||||
|
|||||||
Reference in New Issue
Block a user