Make testrunner use an environment variable to control building.
If it sees ART_TEST_RUN_TEST_BUILD=true then it will build
dependencies before runnning tests by default.
Test: m clean && \
ART_TEST_RUN_TEST_BUILD=false \
./test/testrunner/testrunner.py --verbose --host -j40 -b;
# Observe that it calls make
Test: m clean && \
ART_TEST_RUN_TEST_BUILD=true \
./test/testrunner/testrunner.py --verbose --host -j40 \
--no-build-dependencies;
# Observe that it does not call make
Test: m clean && \
ART_TEST_RUN_TEST_BUILD=false\
./test/testrunner/testrunner.py --verbose --host -j40;
# Observe that it does not call make
Test: m clean && \
ART_TEST_RUN_TEST_BUILD=true \
./test/testrunner/testrunner.py --verbose --host -j40;
# Observe that it calls make
Test: m clean && \
./test/testrunner/testrunner.py --verbose --host -j40;
# Observe that it does not call make
Change-Id: Iedd9e5be42b0977b177c4c4e7f9a4805387d4535
diff --git a/test/testrunner/env.py b/test/testrunner/env.py
index 4336d77..ed4b4a9 100644
--- a/test/testrunner/env.py
+++ b/test/testrunner/env.py
@@ -178,6 +178,8 @@
EXTRA_DISABLED_TESTS = set(env.get("ART_TEST_RUN_TEST_SKIP", "").split())
+ART_TEST_RUN_TEST_BUILD = getEnvBoolean('ART_TEST_RUN_TEST_BUILD', False)
+
TARGET_2ND_ARCH = get_build_var('TARGET_2ND_ARCH')
TARGET_ARCH = get_build_var('TARGET_ARCH')
if TARGET_2ND_ARCH:
diff --git a/test/testrunner/testrunner.py b/test/testrunner/testrunner.py
index 8c0b928..ec301de 100755
--- a/test/testrunner/testrunner.py
+++ b/test/testrunner/testrunner.py
@@ -704,7 +704,6 @@
return {match.group(12)}
raise ValueError(test_name + " is not a valid test")
-
def parse_option():
global verbose
global dry_run
@@ -726,7 +725,15 @@
parser.add_argument('--dry-run', action='store_true', dest='dry_run')
parser.add_argument("--skip", action="append", dest="skips", default=[],
help="Skip the given test in all circumstances.")
- parser.add_argument('-b', '--build-dependencies', action='store_true', dest='build')
+ parser.add_argument('--no-build-dependencies',
+ action='store_false', dest='build',
+ help="Don't build dependencies under any circumstances. This is the " +
+ "behavior if ART_TEST_RUN_TEST_ALWAYS_BUILD is not set to 'true'.")
+ parser.add_argument('-b', '--build-dependencies',
+ action='store_true', dest='build',
+ help="Build dependencies under all circumstances. By default we will " +
+ "not build dependencies unless ART_TEST_RUN_TEST_BUILD=true.")
+ parser.set_defaults(build = env.ART_TEST_RUN_TEST_BUILD)
parser.add_argument('--gdb', action='store_true', dest='gdb')
parser.add_argument('--gdb-arg', dest='gdb_arg')
@@ -804,8 +811,7 @@
if options.dry_run:
dry_run = True
verbose = True
- if options.build:
- build = True
+ build = options.build
if options.gdb:
n_thread = 1
gdb = True