Merge "kunit: test: port test abort support to x86" into kunit/alpha/master
diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py
index 5ba3a2a..dc4d14d 100755
--- a/tools/testing/kunit/kunit.py
+++ b/tools/testing/kunit/kunit.py
@@ -15,7 +15,7 @@
from collections import namedtuple
-KunitRequest = namedtuple('KunitRequest', ['raw_output','timeout'])
+KunitRequest = namedtuple('KunitRequest', ['raw_output','timeout', 'jobs'])
KunitResult = namedtuple('KunitResult', ['status','result'])
@@ -36,7 +36,7 @@
print(kunit_parser.timestamp('Building KUnit Kernel ...'))
build_start = time.time()
- build_result = linux.build_um_kernel()
+ build_result = linux.build_um_kernel(request.jobs)
build_end = time.time()
if build_result.status != kunit_kernel.BuildStatus.SUCCESS:
return KunitResult(KunitStatus.BUILD_FAILURE, build_result)
@@ -92,6 +92,11 @@
default=300,
metavar='timeout')
+ run_parser.add_argument('--jobs',
+ help='As in the make command, "Specifies the number of '
+ 'jobs (commands) to run simultaneously."',
+ type=int, default=8, metavar='jobs')
+
new_parser = subparser.add_parser(
'new',
help='Prints out boilerplate for writing new tests.')
@@ -112,9 +117,11 @@
if cli_args.subcommand == 'new':
print_test_skeletons(cli_args)
elif cli_args.subcommand == 'run':
- request = KunitRequest(cli_args.raw_output, cli_args.timeout)
+ request = KunitRequest(cli_args.raw_output,
+ cli_args.timeout,
+ cli_args.jobs)
result = run_tests(linux, request)
- if result.status == KunitStatus.TEST_FAILURE:
+ if result.status != KunitStatus.SUCCESS:
sys.exit(1)
else:
parser.print_help()
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index bd81c82..1cbb2ee 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -50,9 +50,9 @@
except subprocess.CalledProcessError as e:
raise ConfigError(e.output)
- def make(self):
+ def make(self, jobs):
try:
- subprocess.check_output(['make', 'ARCH=um'])
+ subprocess.check_output(['make', 'ARCH=um', '--jobs=' + str(jobs)])
except OSError as e:
raise BuildError('Could not call execute make: ' + e)
except subprocess.CalledProcessError as e:
@@ -137,13 +137,13 @@
print('Generating .config ...')
return self.build_config()
- def build_um_kernel(self):
+ def build_um_kernel(self, jobs):
try:
self._ops.make_olddefconfig()
- self._ops.make()
+ self._ops.make(jobs)
except (ConfigError, BuildError) as e:
logging.error(e)
- return BuildResult(BuildStatus.FAILURE, e.message)
+ return BuildResult(BuildStatus.FAILURE, str(e))
used_kconfig = kunit_config.Kconfig()
used_kconfig.read_from_file(KCONFIG_PATH)
try: