Add --all-<type> options to testrunner
It is sometimes useful to test all combinations of a subset of
options. This adds the ability to do so by using a '--all-<type>'
option that acts like passing in every flag of the given type. For
example passing `--all-gc` acts like passing `--gcstress --cms
--gcverify`.
Test: ./test/testrunner/testrunner.py --host --all-gc --all-compiler --host -t 001-HelloWorld
Change-Id: I13662194b3ba9e2cd55d9ed2e2974d5f306d9b5c
diff --git a/test/testrunner/testrunner.py b/test/testrunner/testrunner.py
index 578e885..5540544 100755
--- a/test/testrunner/testrunner.py
+++ b/test/testrunner/testrunner.py
@@ -977,11 +977,21 @@
var_group = parser.add_argument_group(
'{}-type Options'.format(variant_type),
"Options that control the '{}' variants.".format(variant_type))
+ var_group.add_argument('--all-' + variant_type,
+ action='store_true',
+ dest='all_' + variant_type,
+ help='Enable all variants of ' + variant_type)
for variant in variant_set:
flag = '--' + variant
var_group.add_argument(flag, action='store_true', dest=variant)
options = vars(parser.parse_args())
+ # Handle the --all-<type> meta-options
+ for variant_type, variant_set in VARIANT_TYPE_DICT.items():
+ if options['all_' + variant_type]:
+ for variant in variant_set:
+ options[variant] = True
+
if options['build_target']:
options = setup_env_for_build_target(target_config[options['build_target']],
parser, options)