diff --git a/src/core/command/console.py b/src/core/command/console.py index 87c3e9ef2028b815cfd5797d1f5d64d21b4b00f7..dfbf94b7926f8c9e6a22bf17661cc394a7902ff3 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 72a567ed64d0af2298772c6b5c5f0d69c26447cb..e947551d114c27debb253809a5c35271a5f2bd46 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 **************")