From 309e74d320966953af268ea3e07a80a88b87f247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AD=A3=E8=93=89?= Date: Wed, 29 Jun 2022 11:34:34 +0000 Subject: [PATCH] Signed-off-by:lizhengrong --- src/core/command/console.py | 30 ++++++++++++++++++++++++++++++ src/main/__main__.py | 9 +++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/core/command/console.py b/src/core/command/console.py index 87c3e9e..dfbf94b 100755 --- a/src/core/command/console.py +++ b/src/core/command/console.py @@ -214,6 +214,29 @@ class Console(object): default="", help="Specify fuzzer name" ) + parser.add_argument("-ta", "--testargs", + action=SplicingAction, + type=str, + nargs="+", + dest="testargs", + default={}, + help="Specify test arguments" + ) + parser.add_argument("-c", "--config", + action="store", + type=str, + dest="config", + default="", + help="Specify config file path" + ) + parser.add_argument("-rp", "--reportpath", + action=SplicingAction, + type=str, + nargs="+", + dest="report_path", + default="", + help="Specify report path" + ) # 解析部分命令行参数,会返回一个由两个条目构成的元组,其中包含带成员的命名空间(options)和剩余参数字符串的列表(unparsed) (options, unparsed) = parser.parse_known_args(para_list) @@ -347,8 +370,15 @@ class Console(object): if is_build_version: build_result = build_manager.build_version(project_root_path, product_form) + else: + build_result = build_manager.build_gn_file(project_root_path, product_form) return build_result +class SplicingAction(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + setattr(namespace, self.dest, " ".join(values)) + + ############################################################################## ############################################################################## diff --git a/src/main/__main__.py b/src/main/__main__.py index 72a567e..e947551 100755 --- a/src/main/__main__.py +++ b/src/main/__main__.py @@ -23,10 +23,15 @@ from xdevice import platform_logger LOG = platform_logger("main") -def main_process(): +def main_process(command=None): LOG.info("************* Developer Test Framework Starting **************") + if command: + args = str(command).split(" ") + args.insert(0, "xDevice") + else: + args = sys.argv console = Console() - console.console(sys.argv) + console.console(args) LOG.info("************* Developer Test Framework Finished **************") -- Gitee