diff --git a/test262/CI_tests.txt b/test262/CI_tests.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bfffcf91d91edd9cfbf7bd3574c825cff7a4627 --- /dev/null +++ b/test262/CI_tests.txt @@ -0,0 +1,2 @@ +built-ins/Array/S15.4.2.1_A1.1_T2.js +built-ins/Array/proto.js diff --git a/test262/config.py b/test262/config.py index 27adf36b11d1ededc03f57d2b3464bc590330ff1..2c3f28ba79f788ad47cab2d3ab27cc68465f1937 100755 --- a/test262/config.py +++ b/test262/config.py @@ -42,6 +42,7 @@ DEFAULT_MODE = 2 TEST_ES5_DIR = os.path.join(DATA_DIR, "test_es51") TEST_ES2015_DIR = os.path.join(DATA_DIR, "test_es2015") +TEST_CI_DIR = os.path.join(DATA_DIR, "test_CI") DEFAULT_ARK_FRONTEND_TOOL = os.path.join(ARK_DIR, "build", "src", "index.js") DEFAULT_ARK_TOOL = os.path.join(ARK_DIR, "..", "ark_js_runtime", "ark_js_vm") @@ -57,6 +58,7 @@ DEFAULT_TIMEOUT = 60000 ES5_LIST_FILE = os.path.join("test262", "es5_tests.txt") ES2015_LIST_FILE = os.path.join("test262", "es2015_tests.txt") +CI_LIST_FILE = os.path.join("test262", "CI_tests.txt") TEST262_GIT_HASH = "9ca13b12728b7e0089c7eb03fa2bd17f8abe297f" HARNESS_GIT_HASH = "9c499f028eb24e67781435c0bb442e00343eb39d" diff --git a/test262/run_test262.py b/test262/run_test262.py index 353c269096097a804fb1a61aace08fec1fdb8a80..256a044b24803d153d468fa302af4c9486750258 100755 --- a/test262/run_test262.py +++ b/test262/run_test262.py @@ -49,6 +49,8 @@ def parse_args(): help='Run test262 - ES2015. ' + 'all: Contains all use cases for ES5 and ES2015' + 'only: Only include use cases for ES2015') + parser.add_argument('--ci-build', action='store_true', + help='Run test262 ES2015 filter cases for build version') parser.add_argument('--esnext', action='store_true', help='Run test262 - ES.next.') parser.add_argument('--engine', metavar='FILE', @@ -112,6 +114,7 @@ def init(args): remove_dir(BASE_OUT_DIR) remove_dir(TEST_ES5_DIR) remove_dir(TEST_ES2015_DIR) + remove_dir(TEST_CI_DIR) get_all_skip_tests(SKIP_LIST_FILE) excuting_npm_install(args) @@ -205,6 +208,8 @@ class TestPrepare(): self.out_dir = os.path.join(BASE_OUT_DIR, "test_es51") elif self.args.es2015: self.out_dir = os.path.join(BASE_OUT_DIR, "test_es2015") + elif self.args.ci_build: + self.out_dir = os.path.join(BASE_OUT_DIR, "test_CI") else: self.out_dir = os.path.join(BASE_OUT_DIR, "test") @@ -216,6 +221,8 @@ class TestPrepare(): self.args.dir = TEST_ES5_DIR elif self.args.es2015: self.args.dir = TEST_ES2015_DIR + elif self.args.ci_build: + self.args.dir = TEST_CI_DIR else: self.args.dir = os.path.join(DATA_DIR, "test") @@ -230,6 +237,8 @@ class TestPrepare(): dstdir = os.path.join(TEST_ES5_DIR, file) elif self.args.es2015: dstdir = os.path.join(TEST_ES2015_DIR, file) + elif self.args.ci_build: + dstdir = os.path.join(TEST_CI_DIR, file) subprocess.getstatusoutput("cp %s %s" % (srcdir, dstdir)) def collect_tests(self): @@ -272,6 +281,9 @@ class TestPrepare(): elif self.args.es2015: test_dir = TEST_ES2015_DIR files = self.prepare_es2015_tests() + elif self.args.ci_build: + test_dir = TEST_CI_DIR + files = self.get_tests_from_file(CI_LIST_FILE) for file in files: path = os.path.split(file)[0] @@ -291,6 +303,9 @@ class TestPrepare(): elif self.args.es2015: self.prepare_test_suit() src_dir = TEST_ES2015_DIR + elif self.args.ci_build: + self.prepare_test_suit() + src_dir = TEST_CI_DIR elif self.args.esnext: git_checkout(ESNEXT_GIT_HASH, DATA_DIR) else: