Update auto-gen test config template with PARAMETERIZED_STRINGS

placeholder

Bug: 134509111
Test: add "test_mainline_modules: [some.apk]" to TetheringTests,
and build the modules, confirm the parameterized option is added
in the test config.

Change-Id: I0f4f837412075520153d21c9ca12cf5c3f555de7
Merged-In: I0f4f837412075520153d21c9ca12cf5c3f555de7
This commit is contained in:
easoncylee 2020-04-30 15:01:30 +08:00
parent b1e99dd0a1
commit 88936626cf
2 changed files with 10 additions and 3 deletions

View file

@ -17,6 +17,7 @@
<configuration description="Runs {LABEL}."> <configuration description="Runs {LABEL}.">
<option name="test-suite-tag" value="apct" /> <option name="test-suite-tag" value="apct" />
<option name="test-suite-tag" value="apct-instrumentation" /> <option name="test-suite-tag" value="apct-instrumentation" />
{EXTRA_CONFIGS}
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" /> <option name="cleanup-apks" value="true" />
<option name="test-file-name" value="{MODULE}.apk" /> <option name="test-file-name" value="{MODULE}.apk" />

View file

@ -27,6 +27,7 @@ ATTRIBUTE_RUNNER = 'android:name'
ATTRIBUTE_PACKAGE = 'package' ATTRIBUTE_PACKAGE = 'package'
PLACEHOLDER_LABEL = '{LABEL}' PLACEHOLDER_LABEL = '{LABEL}'
PLACEHOLDER_EXTRA_CONFIGS = '{EXTRA_CONFIGS}'
PLACEHOLDER_MODULE = '{MODULE}' PLACEHOLDER_MODULE = '{MODULE}'
PLACEHOLDER_PACKAGE = '{PACKAGE}' PLACEHOLDER_PACKAGE = '{PACKAGE}'
PLACEHOLDER_RUNNER = '{RUNNER}' PLACEHOLDER_RUNNER = '{RUNNER}'
@ -41,16 +42,20 @@ def main(argv):
Returns: Returns:
0 if no error, otherwise 1. 0 if no error, otherwise 1.
""" """
if len(argv) != 4: if len(argv) != 4 and len(argv) != 6:
sys.stderr.write( sys.stderr.write(
'Invalid arguements. The script requires 4 arguments for file paths: ' 'Invalid arguments. The script requires 4 arguments for file paths: '
'target_config android_manifest empty_config ' 'target_config android_manifest empty_config '
'instrumentation_test_config_template.\n') 'instrumentation_test_config_template '
'and 2 optional arguments for extra configs: '
'--extra-configs \'EXTRA_CONFIGS\'.\n')
return 1 return 1
target_config = argv[0] target_config = argv[0]
android_manifest = argv[1] android_manifest = argv[1]
empty_config = argv[2] empty_config = argv[2]
instrumentation_test_config_template = argv[3] instrumentation_test_config_template = argv[3]
extra_configs = '\n'.join(argv[5].split('\\n')) if len(argv) == 6 else ''
manifest = parse(android_manifest) manifest = parse(android_manifest)
instrumentation_elements = manifest.getElementsByTagName('instrumentation') instrumentation_elements = manifest.getElementsByTagName('instrumentation')
@ -80,6 +85,7 @@ def main(argv):
config = config.replace(PLACEHOLDER_MODULE, module) config = config.replace(PLACEHOLDER_MODULE, module)
config = config.replace(PLACEHOLDER_PACKAGE, package) config = config.replace(PLACEHOLDER_PACKAGE, package)
config = config.replace(PLACEHOLDER_TEST_TYPE, test_type) config = config.replace(PLACEHOLDER_TEST_TYPE, test_type)
config = config.replace(PLACEHOLDER_EXTRA_CONFIGS, extra_configs)
config = config.replace(PLACEHOLDER_RUNNER, runner) config = config.replace(PLACEHOLDER_RUNNER, runner)
with open(target_config, 'w') as config_file: with open(target_config, 'w') as config_file:
config_file.write(config) config_file.write(config)