Move auto_gen_test_config.py to argparse.
Follow up to aosp/2752414 Test: atest-dev auto_gen_test_config_test Change-Id: I401c6213f0ed5e97eb97b1c603a8b6c5286f0d88
This commit is contained in:
parent
84b5bb9139
commit
4bccadd460
1 changed files with 23 additions and 14 deletions
|
@ -17,6 +17,7 @@
|
||||||
"""A tool to generate TradeFed test config file.
|
"""A tool to generate TradeFed test config file.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
@ -43,20 +44,28 @@ def main(argv):
|
||||||
Returns:
|
Returns:
|
||||||
0 if no error, otherwise 1.
|
0 if no error, otherwise 1.
|
||||||
"""
|
"""
|
||||||
if len(argv) != 4 and len(argv) != 6:
|
|
||||||
sys.stderr.write(
|
|
||||||
f'Invalid arguments: {argv}. The script requires 4 arguments for file paths: '
|
|
||||||
'target_config, android_manifest (or the xmltree dump), empty_config, '
|
|
||||||
'instrumentation_test_config_template, '
|
|
||||||
'and 2 optional arguments for extra configs: '
|
|
||||||
'--extra-configs \'EXTRA_CONFIGS\'.\n')
|
|
||||||
return 1
|
|
||||||
|
|
||||||
target_config = argv[0]
|
parser = argparse.ArgumentParser()
|
||||||
android_manifest = argv[1]
|
parser.add_argument(
|
||||||
empty_config = argv[2]
|
"target_config",
|
||||||
instrumentation_test_config_template = argv[3]
|
help="Path to the generated output config.")
|
||||||
extra_configs = '\n'.join(argv[5].split('\\n')) if len(argv) == 6 else ''
|
parser.add_argument(
|
||||||
|
"android_manifest",
|
||||||
|
help="Path to AndroidManifest.xml or output of 'aapt2 dump xmltree' with .xmltree extension.")
|
||||||
|
parser.add_argument(
|
||||||
|
"empty_config",
|
||||||
|
help="Path to the empty config template.")
|
||||||
|
parser.add_argument(
|
||||||
|
"instrumentation_test_config_template",
|
||||||
|
help="Path to the instrumentation test config template.")
|
||||||
|
parser.add_argument("--extra-configs", default="")
|
||||||
|
args = parser.parse_args(argv)
|
||||||
|
|
||||||
|
target_config = args.target_config
|
||||||
|
android_manifest = args.android_manifest
|
||||||
|
empty_config = args.empty_config
|
||||||
|
instrumentation_test_config_template = args.instrumentation_test_config_template
|
||||||
|
extra_configs = '\n'.join(args.extra_configs.split('\\n'))
|
||||||
|
|
||||||
module = os.path.splitext(os.path.basename(target_config))[0]
|
module = os.path.splitext(os.path.basename(target_config))[0]
|
||||||
|
|
||||||
|
@ -70,7 +79,7 @@ def main(argv):
|
||||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
pattern = re.compile(r"\(Raw:\s\"(.*)\"\)$")
|
pattern = re.compile(r"\(Raw:\s\"(.*)\"\)$")
|
||||||
curr_element = None
|
curr_element = None
|
||||||
for line in manifest.readlines():
|
for line in manifest:
|
||||||
curr_line = line.strip()
|
curr_line = line.strip()
|
||||||
if curr_line.startswith("E:"):
|
if curr_line.startswith("E:"):
|
||||||
# e.g. "E: instrumentation (line=9)"
|
# e.g. "E: instrumentation (line=9)"
|
||||||
|
|
Loading…
Reference in a new issue