From 99b30597ca9a7b59a6348e6b237e960a72110341 Mon Sep 17 00:00:00 2001 From: wupengyong Date: Thu, 15 Dec 2022 17:10:17 +0800 Subject: [PATCH] reason:add unForceGc list description:add unForceGc list issue:https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/I66CR0?from=project-issue Signed-off-by: wupengyong Change-Id: I50b70ceadbbbb7e341a1b367d6c3a45908f4de59 --- test262/config.py | 3 ++ test262/force_gc_skip_tests.json | 64 ++++++++++++++++++++++++++++++++ test262/run_sunspider.py | 27 +++++++++++++- 3 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 test262/force_gc_skip_tests.json diff --git a/test262/config.py b/test262/config.py index e58a30fa51..12f6a8f22b 100755 --- a/test262/config.py +++ b/test262/config.py @@ -80,9 +80,12 @@ SKIP_LIST_FILE = os.path.join("test262", "skip_tests.json") ES2ABC_SKIP_LIST_FILE = os.path.join("test262", "es2abc_skip_tests.json") TS2ABC_SKIP_LIST_FILE = os.path.join("test262", "ts2abc_skip_tests.json") INTL_SKIP_LIST_FILE = os.path.join("test262", "intl_skip_tests.json") +TS2ABC_SKIP_FORCE_GC_LIST_FILE = os.path.join("test262", "force_gc_skip_tests.json") SKIP_LIST_FILES = [SKIP_LIST_FILE, INTL_SKIP_LIST_FILE] ALL_SKIP_TESTS = [] INTL_SKIP_TESTS = [] +SKIP_FORCE_GC_LIST_FILES = [] +FORCE_GC_SKIP_TESTS = [] ARK_FRONTEND_LIST = [ "ts2panda", diff --git a/test262/force_gc_skip_tests.json b/test262/force_gc_skip_tests.json new file mode 100644 index 0000000000..39a29f9ce8 --- /dev/null +++ b/test262/force_gc_skip_tests.json @@ -0,0 +1,64 @@ +[ + { + "reason": "Force GC TimeOut", + "files": [ + "out/test262/test_es2021/intl402/language-tags-invalid", + "out/test262/test_es2021/intl402/supportedLocalesOf-unicode-extensions-ignored", + "out/test262/test_es2021/intl402/supportedLocalesOf-throws-if-element-not-string-or-object", + "out/test262/test_es2021/intl402/supportedLocalesOf-test-option-localeMatcher", + "out/test262/test_es2021/intl402/supportedLocalesOf-consistent-with-resolvedOptions", + "out/test262/test_es2021/intl402/fallback-locales-are-supported", + "out/test262/test_es2021/intl402/Collator/prototype/compare/bound-to-collator-instance", + "out/test262/test_es2021/intl402/Collator/prototype/compare/non-normative-sensitivity", + "out/test262/test_es2021/intl402/DisplayNames/prototype/resolvedOptions/option-fallback", + "out/test262/test_es2021/intl402/DisplayNames/prototype/resolvedOptions/option-style", + "out/test262/test_es2021/intl402/Number/prototype/toLocaleString/returns-same-results-as-NumberFormat", + "out/test262/test_es2021/intl402/NumberFormat/prototype/format/bound-to-numberformat-instance", + "out/test262/test_es2021/intl402/NumberFormat/prototype/format/format-fraction-digits", + "out/test262/test_es2021/intl402/NumberFormat/prototype/format/format-significant-digits", + "out/test262/test_es2021/intl402/NumberFormat/prototype/format/units", + "out/test262/test_es2021/intl402/RelativeTimeFormat/constructor/constructor/locales-valid", + "out/test262/test_es2021/intl402/RelativeTimeFormat/constructor/constructor/options-numberingSystem-valid", + "out/test262/test_es2021/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/branding", + "out/test262/test_es2021/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/locales-invalid", + "out/test262/test_es2021/intl402/RelativeTimeFormat/constructor/supportedLocalesOf/options-localeMatcher-invalid", + "out/test262/test_es2021/intl402/String/prototype/localeCompare/returns-same-results-as-Collator", + "out/test262/test_es2021/intl402/Collator/ignore-invalid-unicode-ext-values", + "out/test262/test_es2021/intl402/Collator/numeric-and-caseFirst", + "out/test262/test_es2021/intl402/DateTimeFormat/date-time-options", + "out/test262/test_es2021/intl402/DateTimeFormat/required-date-time-formats", + "out/test262/test_es2021/intl402/DisplayNames/options-style-valid", + "out/test262/test_es2021/intl402/Locale/invalid-tag-throws", + "out/test262/test_es2021/intl402/NumberFormat/constructor-unit", + "out/test262/test_es2021/intl402/Intl/getCanonicalLocales/invalid-tags", + "out/test262/test_es2021/intl402/Intl/getCanonicalLocales/transformed-ext-valid", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A2.3_T1", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A2.2_T1", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A2.4_T1", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A2.4_T2", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A2.5_T1", + "out/test262/test_es2021/built-ins/encodeURI/S15.1.3.3_A1.3_T1", + "out/test262/test_es2021/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array", + "out/test262/test_es2021/built-ins/Array/prototype/flatMap/array-like-objects", + "out/test262/test_es2021/built-ins/Array/prototype/sort/stability-2048-elements", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A2.1_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A2.3_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A2.4_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A2.5_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.10_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.11_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.11_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.12_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.12_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.13_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.12_T3", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.2_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.2_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.13_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.14_T1", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.14_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.15_T2", + "out/test262/test_es2021/built-ins/decodeURI/S15.1.3.1_A1.15_T3" + ] + } +] diff --git a/test262/run_sunspider.py b/test262/run_sunspider.py index 581cef419b..77cdf53747 100755 --- a/test262/run_sunspider.py +++ b/test262/run_sunspider.py @@ -21,6 +21,7 @@ Description: Use ark to execute js files import argparse import os import platform +import json import sys import signal import re @@ -243,6 +244,15 @@ class ArkProgram(): return False + def get_all_skip_force_gc_tests(self): + SKIP_FORCE_GC_LIST_FILES.append(TS2ABC_SKIP_FORCE_GC_LIST_FILE) + + for file in SKIP_FORCE_GC_LIST_FILES: + with open(file) as jsonfile: + json_data = json.load(jsonfile) + for key in json_data: + FORCE_GC_SKIP_TESTS.extend(key["files"]) + def gen_dependency_proto(self, dependency): cmd_args = [] output_file = os.path.splitext(dependency.replace(DATA_DIR, BASE_OUT_DIR))[0] @@ -466,6 +476,7 @@ class ArkProgram(): print_command(cmd_args) def execute_aot(self): + unForceGc = False os.environ["LD_LIBRARY_PATH"] = self.libs_dir file_name_pre = os.path.splitext(self.js_file)[0] cmd_args = [] @@ -486,7 +497,12 @@ class ArkProgram(): f'--aot-file={file_name_pre}', f'{file_name_pre}.abc'] elif self.arch == ARK_ARCH_LIST[0]: - cmd_args = [self.ark_tool, ICU_PATH, + if file_name_pre in FORCE_GC_SKIP_TESTS: + unForceGc = True + asm_arg1 = "--enable-force-gc=true" + if unForceGc: + asm_arg1 = "--enable-force-gc=false" + cmd_args = [self.ark_tool, ICU_PATH, asm_arg1, f'--aot-file={file_name_pre}', f'{file_name_pre}.abc'] @@ -498,6 +514,7 @@ class ArkProgram(): return retcode def execute(self): + unForceGc = False if platform.system() == "Windows" : #add env path for cmd/powershell execute libs_dir = self.libs_dir.replace(":", ";") @@ -524,7 +541,12 @@ class ArkProgram(): ICU_PATH, f'{file_name_pre}.abc'] elif self.arch == ARK_ARCH_LIST[0]: - cmd_args = [self.ark_tool, ICU_PATH, + if file_name_pre in FORCE_GC_SKIP_TESTS: + unForceGc = True + asm_arg1 = "--enable-force-gc=true" + if unForceGc: + asm_arg1 = "--enable-force-gc=false" + cmd_args = [self.ark_tool, ICU_PATH, asm_arg1, f'{file_name_pre}.abc'] record_name = os.path.splitext(os.path.split(self.js_file)[1])[0] @@ -542,6 +564,7 @@ class ArkProgram(): def execute_ark(self): self.proce_parameters() + self.get_all_skip_force_gc_tests() if not self.is_legal_frontend(): return if self.gen_abc(): -- Gitee