diff --git a/daily_report_test.py b/daily_report_test.py index 87fcc15ff721e00213154bfdedad917e508cd94a..93ec9e0a5e7a153faa0d07569ff53af22595fe9b 100644 --- a/daily_report_test.py +++ b/daily_report_test.py @@ -27,6 +27,7 @@ def get_args(): parser.add_argument('--runtime-core-host-unittest', default=True, help='run runtime core unittest') # TODO(huangyu): Add defect scan hap tests parser.add_argument('--defect-scan', default=True, help='run defect scan hap tests') + parser.add_argument('--co-created', default=True, help='run co-created cases tests') return parser.parse_args() class UpdateCode(): @@ -121,6 +122,7 @@ class RunTest(): self.ret_tsc = Counter('', '', '') self.ret_type_extractor = Counter('', '', '') self.ret_runtime_core_host_unittest = Counter('', '', '') + self.ret_co_create = Counter('', '', '') self.commits = Commit('', '', '') self.attach_log = False @@ -328,6 +330,43 @@ class RunTest(): subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) return [total, pass_num, fail_num] + def run_co_created_cases_test(self, dir_name): + cmd = f'cd ../../ && cd third_party/typescript/tests/ts_extra_tests' + + cmd += f' && export LD_LIBRARY_PATH=../../../../out/{dir_name}/clang_x64/arkcompiler/ets_runtime:'\ + f'../../../../out/{dir_name}/clang_x64/thirdparty/icu:'\ + f'../../../../out/{dir_name}/clang_x64/thirdparty/zlib:'\ + f'../../../../prebuilts/clang/ohos/linux-x86_64/llvm/lib' + + cmd += f' && python3 run_ts_case.py -a -d test_ts_cases/disablelist.txt test_ts_cases --LD_LIBRARY_PATH '\ + f'../../../../out/{dir_name}/clang_x64/arkcompiler/ets_runtime:'\ + f'../../../../out/{dir_name}/clang_x64/thirdparty/icu:'\ + f'../../../../out/{dir_name}/clang_x64/thirdparty/zlib:'\ + f'../../../../prebuilts/clang/ohos/linux-x86_64/llvm/lib '\ + f'--js-runtime=../../../../out/{dir_name}/clang_x64/arkcompiler/ets_runtime/ '\ + f'--es2abc=../../../../out/{dir_name}/clang_x64/arkcompiler/ets_frontend/' + + try: + print("Start to run co-created tests") + print(cmd) + result = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) + + output_lines = result.stdout.split('\n') + co_create_total = co_create_pass_number = co_create_fail_number = 0 + for line in output_lines: + if "TOTAL CASE COUNT:" in line: + co_create_total = int(line.split(':')[1].strip()) + elif "SUCCESS CASE COUNT:" in line: + co_create_pass_number = int(line.split(':')[1].strip()) + elif "FAILED CASE COUNT:" in line: + co_create_fail_number = int(line.split(':')[1].strip()) + + except: + co_create_total = 'Fail to run co-created test' + co_create_pass_number = '' + co_create_fail_number = '' + return [co_create_total, co_create_pass_number, co_create_fail_number] + def run(self): if not os.path.exists(self.today_log): os.makedirs(self.today_log) @@ -365,6 +404,8 @@ class RunTest(): rets['Bytecode Test'] = self.run_bytecode(dir_name) if self.args.runtime_core_host_unittest: rets["Runtime Core Host Unittest" ] = self.run_runtime_core_host_unittest(product_name, dir_name, isRelease) + if self.args.co_created: + rets["Run Co-created Cases Test"] = self.run_co_created_cases_test(dir_name) return rets def get_commit(self, dir_name):