Add --test262-es2015 option to run-tests.py (#3667)

JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác oszi@inf.u-szeged.hu
This commit is contained in:
Csaba Osztrogonác 2020-05-18 16:43:17 +02:00 committed by GitHub
parent e01cfda0b8
commit f0d443daec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 765 additions and 41 deletions

View File

@ -61,10 +61,14 @@ matrix:
apt:
packages: [gcc-multilib]
- name: "Conformance Tests"
- name: "Conformance Tests - ES5.1"
env:
- OPTS="--test262"
- name: "Conformance Tests - ES2015"
env:
- OPTS="--test262-es2015"
- name: "Unit Tests"
env:
- OPTS="--unittests"

View File

@ -0,0 +1,648 @@
<?xml version="1.0" encoding="utf-8" ?>
<excludeList>
<test id="annexB/B.2.2.1.1.js"><reason></reason></test>
<test id="annexB/B.2.2.1.2.js"><reason></reason></test>
<test id="annexB/B.2.3.10.js"><reason></reason></test>
<test id="annexB/B.2.3.11.js"><reason></reason></test>
<test id="annexB/B.2.3.12.js"><reason></reason></test>
<test id="annexB/B.2.3.13.js"><reason></reason></test>
<test id="annexB/B.2.3.14.js"><reason></reason></test>
<test id="annexB/B.2.3.2.js"><reason></reason></test>
<test id="annexB/B.2.3.3.js"><reason></reason></test>
<test id="annexB/B.2.3.4.js"><reason></reason></test>
<test id="annexB/B.2.3.5.js"><reason></reason></test>
<test id="annexB/B.2.3.6.js"><reason></reason></test>
<test id="annexB/B.2.3.7.js"><reason></reason></test>
<test id="annexB/B.2.3.8.js"><reason></reason></test>
<test id="annexB/B.2.3.9.js"><reason></reason></test>
<test id="built-ins/ArrayBuffer/prototype/byteLength/name.js"><reason></reason></test>
<test id="built-ins/ArrayBuffer/symbol-species.js"><reason></reason></test>
<test id="built-ins/ArrayBuffer/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/Array/from/Array.from-name.js"><reason></reason></test>
<test id="built-ins/Array/of/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js"><reason></reason></test>
<test id="built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js"><reason></reason></test>
<test id="built-ins/Array/prototype/copyWithin/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/entries/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/fill/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/findIndex/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/find/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/keys/name.js"><reason></reason></test>
<test id="built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-28.js"><reason></reason></test>
<test id="built-ins/Array/prototype/map/15.4.4.19-3-14.js"><reason></reason></test>
<test id="built-ins/Array/prototype/map/15.4.4.19-3-28.js"><reason></reason></test>
<test id="built-ins/Array/prototype/map/15.4.4.19-3-29.js"><reason></reason></test>
<test id="built-ins/Array/prototype/map/15.4.4.19-3-8.js"><reason></reason></test>
<test id="built-ins/Array/prototype/pop/S15.4.4.6_A2_T2.js"><reason></reason></test>
<test id="built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js"><reason></reason></test>
<test id="built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js"><reason></reason></test>
<test id="built-ins/Array/prototype/push/S15.4.4.7_A2_T2.js"><reason></reason></test>
<test id="built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js"><reason></reason></test>
<test id="built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js"><reason></reason></test>
<test id="built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js"><reason></reason></test>
<test id="built-ins/Array/prototype/splice/S15.4.4.12_A3_T1.js"><reason></reason></test>
<test id="built-ins/Array/prototype/toLocaleString/primitive_this_value_getter.js"><reason></reason></test>
<test id="built-ins/Array/prototype/toLocaleString/primitive_this_value.js"><reason></reason></test>
<test id="built-ins/Array/prototype/values/name.js"><reason></reason></test>
<test id="built-ins/Array/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/S15.6.3.1_A1.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/S15.6.4_A1.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T1.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/toString/S15.6.4.2_A1_T2.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T1.js"><reason></reason></test>
<test id="built-ins/Boolean/prototype/valueOf/S15.6.4.3_A1_T2.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/buffer/name.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteLength/name.js"><reason></reason></test>
<test id="built-ins/DataView/prototype/byteOffset/name.js"><reason></reason></test>
<test id="built-ins/Date/construct_with_date.js"><reason></reason></test>
<test id="built-ins/Date/prototype/Symbol.toPrimitive/hint-invalid.js"><reason></reason></test>
<test id="built-ins/Date/prototype/Symbol.toPrimitive/name.js"><reason></reason></test>
<test id="built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1.js"><reason></reason></test>
<test id="built-ins/decodeURI/S15.1.3.1_A2.5_T1.js"><reason></reason></test>
<test id="built-ins/Function/instance-name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/15.3.4.5-15-5.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/BoundFunction_restricted-properties.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/instance-name-chained.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/instance-name-error.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/instance-name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/bind/instance-name-non-string.js"><reason></reason></test>
<test id="built-ins/Function/prototype/name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/name.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-not-callable.js"><reason></reason></test>
<test id="built-ins/Function/prototype/Symbol.hasInstance/this-val-poisoned-prototype.js"><reason></reason></test>
<test id="built-ins/Function/StrictFunction_restricted-properties.js"><reason></reason></test>
<test id="built-ins/GeneratorFunction/instance-name.js"><reason></reason></test>
<test id="built-ins/GeneratorFunction/instance-restricted-properties.js"><reason></reason></test>
<test id="built-ins/GeneratorPrototype/next/context-constructor-invocation.js"><reason></reason></test>
<test id="built-ins/GeneratorPrototype/throw/from-state-completed.js"><reason></reason></test>
<test id="built-ins/IteratorPrototype/Symbol.iterator/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/clear/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/delete/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/entries/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/forEach/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/get/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/has/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/keys/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/set/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/size/name.js"><reason></reason></test>
<test id="built-ins/Map/prototype/size/size.js"><reason></reason></test>
<test id="built-ins/Map/prototype/Symbol.iterator.js"><reason></reason></test>
<test id="built-ins/Map/prototype/values/name.js"><reason></reason></test>
<test id="built-ins/Map/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/Number/15.7.4-1.js"><reason></reason></test>
<test id="built-ins/Number/prototype/S15.7.3.1_A2_T1.js"><reason></reason></test>
<test id="built-ins/Number/prototype/S15.7.3.1_A2_T2.js"><reason></reason></test>
<test id="built-ins/Number/prototype/S15.7.3.1_A3.js"><reason></reason></test>
<test id="built-ins/Number/prototype/S15.7.4_A1.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A1_T01.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A1_T02.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A1_T03.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T01.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T02.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T03.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T04.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T05.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T06.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T07.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T08.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T09.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T10.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T11.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T12.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T13.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T14.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T15.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T16.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T17.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T18.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T19.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T20.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T21.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T22.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T23.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T24.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T25.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T26.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T27.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T28.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T29.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T30.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T31.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T32.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T33.js"><reason></reason></test>
<test id="built-ins/Number/prototype/toString/S15.7.4.2_A2_T34.js"><reason></reason></test>
<test id="built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T01.js"><reason></reason></test>
<test id="built-ins/Number/prototype/valueOf/S15.7.4.4_A1_T02.js"><reason></reason></test>
<test id="built-ins/Object/assign/name.js"><reason></reason></test>
<test id="built-ins/Object/is/name.js"><reason></reason></test>
<test id="built-ins/Object/is/object-is.js"><reason></reason></test>
<test id="built-ins/Object/prototype/hasOwnProperty/symbol_property_toPrimitive.js"><reason></reason></test>
<test id="built-ins/Object/prototype/hasOwnProperty/symbol_property_toString.js"><reason></reason></test>
<test id="built-ins/Object/prototype/hasOwnProperty/symbol_property_valueOf.js"><reason></reason></test>
<test id="built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toPrimitive.js"><reason></reason></test>
<test id="built-ins/Object/prototype/propertyIsEnumerable/symbol_property_toString.js"><reason></reason></test>
<test id="built-ins/Object/prototype/propertyIsEnumerable/symbol_property_valueOf.js"><reason></reason></test>
<test id="built-ins/Object/prototype/toLocaleString/primitive_this_value_getter.js"><reason></reason></test>
<test id="built-ins/Object/prototype/toLocaleString/primitive_this_value.js"><reason></reason></test>
<test id="built-ins/Object/setPrototypeOf/name.js"><reason></reason></test>
<test id="built-ins/Promise/all/invoke-then.js"><reason></reason></test>
<test id="built-ins/Promise/all/iter-close.js"><reason></reason></test>
<test id="built-ins/Promise/all/name.js"><reason></reason></test>
<test id="built-ins/Promise/all/species-get-error.js"><reason></reason></test>
<test id="built-ins/Promise/exec-args.js"><reason></reason></test>
<test id="built-ins/Promise/name.js"><reason></reason></test>
<test id="built-ins/Promise/prototype/catch/invokes-then.js"><reason></reason></test>
<test id="built-ins/Promise/prototype/catch/name.js"><reason></reason></test>
<test id="built-ins/Promise/prototype/then/ctor-custom.js"><reason></reason></test>
<test id="built-ins/Promise/prototype/then/name.js"><reason></reason></test>
<test id="built-ins/Promise/prototype/then/on-fulfilled-return-thenable.js"><reason></reason></test>
<test id="built-ins/Promise/race/invoke-then.js"><reason></reason></test>
<test id="built-ins/Promise/race/name.js"><reason></reason></test>
<test id="built-ins/Promise/race/species-get-error.js"><reason></reason></test>
<test id="built-ins/Promise/reject/name.js"><reason></reason></test>
<test id="built-ins/Promise/resolve/name.js"><reason></reason></test>
<test id="built-ins/Promise/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/Proxy/defineProperty/trap-return-is-false.js"><reason></reason></test>
<test id="built-ins/Proxy/enumerate/call-parameters.js"><reason></reason></test>
<test id="built-ins/Proxy/enumerate/return-is-abrupt.js"><reason></reason></test>
<test id="built-ins/Proxy/enumerate/return-trap-result.js"><reason></reason></test>
<test id="built-ins/Proxy/enumerate/return-trap-result-no-value.js"><reason></reason></test>
<test id="built-ins/Proxy/enumerate/trap-is-undefined.js"><reason></reason></test>
<test id="built-ins/Proxy/getOwnPropertyDescriptor/trap-is-undefined.js"><reason></reason></test>
<test id="built-ins/Proxy/name.js"><reason></reason></test>
<test id="built-ins/Proxy/preventExtensions/return-false.js"><reason></reason></test>
<test id="built-ins/Proxy/preventExtensions/return-true-target-is-not-extensible.js"><reason></reason></test>
<test id="built-ins/Proxy/preventExtensions/trap-is-undefined.js"><reason></reason></test>
<test id="built-ins/Reflect/apply/name.js"><reason></reason></test>
<test id="built-ins/Reflect/construct/name.js"><reason></reason></test>
<test id="built-ins/Reflect/defineProperty/name.js"><reason></reason></test>
<test id="built-ins/Reflect/defineProperty/return-abrupt-from-attributes.js"><reason></reason></test>
<test id="built-ins/Reflect/defineProperty/return-abrupt-from-result.js"><reason></reason></test>
<test id="built-ins/Reflect/deleteProperty/name.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/does-not-iterate-over-symbol-properties.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/enumerate.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/length.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/name.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/return-abrupt-from-result.js"><reason></reason></test>
<test id="built-ins/Reflect/enumerate/return-iterator.js"><reason></reason></test>
<test id="built-ins/Reflect/get/name.js"><reason></reason></test>
<test id="built-ins/Reflect/getOwnPropertyDescriptor/name.js"><reason></reason></test>
<test id="built-ins/Reflect/getPrototypeOf/name.js"><reason></reason></test>
<test id="built-ins/Reflect/has/name.js"><reason></reason></test>
<test id="built-ins/Reflect/isExtensible/name.js"><reason></reason></test>
<test id="built-ins/Reflect/ownKeys/length.js"><reason></reason></test>
<test id="built-ins/Reflect/ownKeys/name.js"><reason></reason></test>
<test id="built-ins/Reflect/preventExtensions/always-return-true-from-ordinary-object.js"><reason></reason></test>
<test id="built-ins/Reflect/preventExtensions/name.js"><reason></reason></test>
<test id="built-ins/Reflect/preventExtensions/return-boolean-from-proxy-object.js"><reason></reason></test>
<test id="built-ins/Reflect/set/name.js"><reason></reason></test>
<test id="built-ins/Reflect/setPrototypeOf/name.js"><reason></reason></test>
<test id="built-ins/Reflect/setPrototypeOf/proto-is-not-object-and-not-null-throws.js"><reason></reason></test>
<test id="built-ins/Reflect/setPrototypeOf/proto-is-symbol-throws.js"><reason></reason></test>
<test id="built-ins/Reflect/setPrototypeOf/return-abrupt-from-result.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/exec/get-sticky-coerce.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/exec/get-sticky-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/flags/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/global/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/ignoreCase/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/multiline/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/source/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/sticky/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-coerce-global.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-coerce-lastindex-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-coerce-sticky.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-failure-set-lastindex-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-failure-set-lastindex.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-get-global-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-get-sticky-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-success-g-set-lastindex-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/builtin-success-g-set-lastindex.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/coerce-global.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/coerce-sticky.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/get-sticky-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.match/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/coerce-global.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/coerce-unicode.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/get-sticky-coerce.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/y-fail-global-return.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/y-fail-lastindex.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/y-fail-lastindex-no-write.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/y-fail-return.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.replace/y-set-lastindex.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.search/get-sticky-coerce.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.search/get-sticky-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.search/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/Symbol.split/name.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/test/get-sticky-err.js"><reason></reason></test>
<test id="built-ins/RegExp/prototype/unicode/name.js"><reason></reason></test>
<test id="built-ins/RegExp/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_brackets.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_character_class_escape.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_identity_escape_alpha.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_identity_escape_c.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_identity_escape.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_identity_escape_u.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_identity_escape_x.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_incomple_quantifier.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_octal_escape.js"><reason></reason></test>
<test id="built-ins/RegExp/unicode_restricted_quantifiable_assertion.js"><reason></reason></test>
<test id="built-ins/Set/prototype/add/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/clear/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/delete/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/entries/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/forEach/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/has/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/keys/keys.js"><reason></reason></test>
<test id="built-ins/Set/prototype/size/name.js"><reason></reason></test>
<test id="built-ins/Set/prototype/size/size.js"><reason></reason></test>
<test id="built-ins/Set/prototype/Symbol.iterator.js"><reason></reason></test>
<test id="built-ins/Set/prototype/values/name.js"><reason></reason></test>
<test id="built-ins/Set/symbol-species-name.js"><reason></reason></test>
<test id="built-ins/String/fromCodePoint/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/codePointAt/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/endsWith/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/includes/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/form-is-not-valid-throws.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/length.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/normalize.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/return-abrupt-from-form.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/return-abrupt-from-this.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/return-normalized-string-from-coerced-form.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/return-normalized-string.js"><reason></reason></test>
<test id="built-ins/String/prototype/normalize/return-normalized-string-using-default-parameter.js"><reason></reason></test>
<test id="built-ins/String/prototype/repeat/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/S15.5.4_A1.js"><reason></reason></test>
<test id="built-ins/String/prototype/S15.5.4_A2.js"><reason></reason></test>
<test id="built-ins/String/prototype/S15.5.4_A3.js"><reason></reason></test>
<test id="built-ins/String/prototype/split/S15.5.4.14_A2_T37.js"><reason></reason></test>
<test id="built-ins/String/prototype/startsWith/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/startsWith/return-true-if-searchstring-is-empty.js"><reason></reason></test>
<test id="built-ins/String/prototype/startsWith/searchstring-found-with-position.js"><reason></reason></test>
<test id="built-ins/String/prototype/Symbol.iterator/name.js"><reason></reason></test>
<test id="built-ins/String/prototype/toLocaleLowerCase/special_casing_conditional.js"><reason></reason></test>
<test id="built-ins/String/prototype/toLocaleLowerCase/supplementary_plane.js"><reason></reason></test>
<test id="built-ins/String/prototype/toLocaleUpperCase/supplementary_plane.js"><reason></reason></test>
<test id="built-ins/String/prototype/toLowerCase/special_casing_conditional.js"><reason></reason></test>
<test id="built-ins/String/prototype/toLowerCase/supplementary_plane.js"><reason></reason></test>
<test id="built-ins/String/prototype/toUpperCase/supplementary_plane.js"><reason></reason></test>
<test id="built-ins/String/raw/name.js"><reason></reason></test>
<test id="built-ins/String/raw/special-characters.js"><reason></reason></test>
<test id="built-ins/Symbol/prototype/Symbol.toPrimitive/length.js"><reason></reason></test>
<test id="built-ins/Symbol/prototype/Symbol.toPrimitive/name.js"><reason></reason></test>
<test id="built-ins/Symbol/species/builtin-getter-name.js"><reason></reason></test>
<test id="built-ins/WeakMap/prototype/delete/name.js"><reason></reason></test>
<test id="built-ins/WeakMap/prototype/get/name.js"><reason></reason></test>
<test id="built-ins/WeakMap/prototype/has/name.js"><reason></reason></test>
<test id="built-ins/WeakMap/prototype/set/name.js"><reason></reason></test>
<test id="built-ins/WeakSet/prototype/add/name.js"><reason></reason></test>
<test id="built-ins/WeakSet/prototype/delete/name.js"><reason></reason></test>
<test id="built-ins/WeakSet/prototype/has/name.js"><reason></reason></test>
<test id="intl402/6.2.2_a.js"><reason></reason></test>
<test id="intl402/6.2.2_b.js"><reason></reason></test>
<test id="intl402/6.2.2_c.js"><reason></reason></test>
<test id="intl402/6.2.3.js"><reason></reason></test>
<test id="intl402/6.2.4.js"><reason></reason></test>
<test id="intl402/9.1_a.js"><reason></reason></test>
<test id="intl402/9.1_b.js"><reason></reason></test>
<test id="intl402/9.2.1_1.js"><reason></reason></test>
<test id="intl402/9.2.1_2.js"><reason></reason></test>
<test id="intl402/9.2.1_3.js"><reason></reason></test>
<test id="intl402/9.2.1_4.js"><reason></reason></test>
<test id="intl402/9.2.1_8_c_ii.js"><reason></reason></test>
<test id="intl402/9.2.1_8_c_vi.js"><reason></reason></test>
<test id="intl402/9.2.2.js"><reason></reason></test>
<test id="intl402/9.2.3_5.js"><reason></reason></test>
<test id="intl402/9.2.5_6.js"><reason></reason></test>
<test id="intl402/9.2.6_2.js"><reason></reason></test>
<test id="intl402/9.2.6_4_b.js"><reason></reason></test>
<test id="intl402/9.2.6_4_c.js"><reason></reason></test>
<test id="intl402/9.2.6_4.js"><reason></reason></test>
<test id="intl402/9.2.8_1_c.js"><reason></reason></test>
<test id="intl402/9.2.8_4.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_10.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_11.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_13.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_19_b.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_19_c.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_1.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_20.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_23.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_6.js"><reason></reason></test>
<test id="intl402/Collator/10.1.1_a.js"><reason></reason></test>
<test id="intl402/Collator/10.1.2.1_4.js"><reason></reason></test>
<test id="intl402/Collator/10.1.2_a.js"><reason></reason></test>
<test id="intl402/Collator/10.1.3.js"><reason></reason></test>
<test id="intl402/Collator/10.1_L15.js"><reason></reason></test>
<test id="intl402/Collator/10.2.3_b.js"><reason></reason></test>
<test id="intl402/Collator/10.4_a.js"><reason></reason></test>
<test id="intl402/Collator/9.2.5_11_g_ii_2.js"><reason></reason></test>
<test id="intl402/Collator/prototype/10.2.1.js"><reason></reason></test>
<test id="intl402/Collator/prototype/10.3_a.js"><reason></reason></test>
<test id="intl402/Collator/prototype/10.3_b.js"><reason></reason></test>
<test id="intl402/Collator/prototype/10.3_L15.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_1_a_L15.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_1_c.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_CS_a.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_CS_b_NN.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_CS_c_NN.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_CS_d_NN.js"><reason></reason></test>
<test id="intl402/Collator/prototype/compare/10.3.2_L15.js"><reason></reason></test>
<test id="intl402/Collator/prototype/constructor/10.3.1.js"><reason></reason></test>
<test id="intl402/Collator/prototype/resolvedOptions/10.3.3.js"><reason></reason></test>
<test id="intl402/Collator/prototype/resolvedOptions/10.3.3_L15.js"><reason></reason></test>
<test id="intl402/Collator/supportedLocalesOf/10.2.2_a.js"><reason></reason></test>
<test id="intl402/Collator/supportedLocalesOf/10.2.2_b.js"><reason></reason></test>
<test id="intl402/Collator/supportedLocalesOf/10.2.2_L15.js"><reason></reason></test>
<test id="intl402/Date/prototype/13.3.0_6_1.js"><reason></reason></test>
<test id="intl402/Date/prototype/13.3.0_6_2.js"><reason></reason></test>
<test id="intl402/Date/prototype/13.3.0_7.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_18.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_1.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_22.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_23.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_25.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_5.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_6.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_a.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.1_TDTO.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.2.1_4.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.2.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1.3.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.1_L15.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.2.3_b.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.2.3_c.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/12.4_a.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/6.4_a.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/6.4_b.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/6.4_c.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/12.2.1.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/12.3_a.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/12.3_b.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/12.3_L15.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/constructor/12.3.1.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_1_a_L15.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_1_c.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_FDT_1.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_FDT_7_a_iv.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_L15.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/format/12.3.2_TLT_2.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/resolvedOptions/12.3.3.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/prototype/resolvedOptions/12.3.3_L15.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/supportedLocalesOf/12.2.2_a.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/supportedLocalesOf/12.2.2_b.js"><reason></reason></test>
<test id="intl402/DateTimeFormat/supportedLocalesOf/12.2.2_L15.js"><reason></reason></test>
<test id="intl402/Intl/8.0.js"><reason></reason></test>
<test id="intl402/Intl/8.0_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_15.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_17.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_19.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_1.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_20_c.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_21.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_32.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_34.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_6.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_7.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.1_a.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.2.1_4.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.2.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1.3.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.1_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.2.3_b.js"><reason></reason></test>
<test id="intl402/NumberFormat/11.4_a.js"><reason></reason></test>
<test id="intl402/NumberFormat/6.3.1_a.js"><reason></reason></test>
<test id="intl402/NumberFormat/6.3.1_b.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/11.2.1.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/11.3_a.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/11.3_b.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/11.3_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/constructor/11.3.1.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_1_a_ii.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_1_a_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_1_c.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_FN_1.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_FN_2.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_FN_3_b.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_TRF.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/format/11.3.2_TRP.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/resolvedOptions/11.3.3.js"><reason></reason></test>
<test id="intl402/NumberFormat/prototype/resolvedOptions/11.3.3_L15.js"><reason></reason></test>
<test id="intl402/NumberFormat/supportedLocalesOf/11.2.2_a.js"><reason></reason></test>
<test id="intl402/NumberFormat/supportedLocalesOf/11.2.2_b.js"><reason></reason></test>
<test id="intl402/NumberFormat/supportedLocalesOf/11.2.2_L15.js"><reason></reason></test>
<test id="intl402/Number/prototype/toLocaleString/13.2.1_4_1.js"><reason></reason></test>
<test id="intl402/Number/prototype/toLocaleString/13.2.1_4_2.js"><reason></reason></test>
<test id="intl402/Number/prototype/toLocaleString/13.2.1_5.js"><reason></reason></test>
<test id="intl402/String/prototype/localeCompare/13.1.1_6_1.js"><reason></reason></test>
<test id="intl402/String/prototype/localeCompare/13.1.1_6_2.js"><reason></reason></test>
<test id="intl402/String/prototype/localeCompare/13.1.1_7.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleLowerCase/special_casing_Azeri.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleLowerCase/special_casing_Lithuanian.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleLowerCase/special_casing_Turkish.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleUpperCase/special_casing_Azeri.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleUpperCase/special_casing_Lithuanian.js"><reason></reason></test>
<test id="intl402/String/prototype/toLocaleUpperCase/special_casing_Turkish.js"><reason></reason></test>
<test id="language/arguments-object/10.6-13-a-2.js"><reason></reason></test>
<test id="language/arguments-object/10.6-13-a-3.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-2.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-4.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-2.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-delete-4.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-3.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-nonwritable-4.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-2.js"><reason></reason></test>
<test id="language/arguments-object/mapped/mapped-arguments-nonconfigurable-strict-delete-4.js"><reason></reason></test>
<test id="language/asi/S7.9_A5.7_T1.js"><reason></reason></test>
<test id="language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-function-declaration.js"><reason></reason></test>
<test id="language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-function-declaration-with-var.js"><reason></reason></test>
<test id="language/block-scope/syntax/redeclaration-in-block/attempt-to-redeclare-var-with-function-declaration.js"><reason></reason></test>
<test id="language/computed-property-names/class/static/method-number.js"><reason></reason></test>
<test id="language/computed-property-names/class/static/method-string.js"><reason></reason></test>
<test id="language/computed-property-names/class/static/method-symbol.js"><reason></reason></test>
<test id="language/computed-property-names/object/accessor/getter-super.js"><reason></reason></test>
<test id="language/computed-property-names/object/accessor/setter-super.js"><reason></reason></test>
<test id="language/computed-property-names/object/method/super.js"><reason></reason></test>
<test id="language/default-parameters/function-length.js"><reason></reason></test>
<test id="language/expressions/arrow-function/ArrowFunction_restricted-properties.js"><reason></reason></test>
<test id="language/expressions/arrow-function/lexical-super-call-from-within-constructor.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-elem-init-fn-name-arrow.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-elem-init-fn-name-class.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-elem-init-fn-name-cover.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-elem-init-fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-elem-init-fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/array-rest-init.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-id-init-fn-name-arrow.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-id-init-fn-name-class.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-id-init-fn-name-cover.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-id-init-fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-id-init-fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-init-fn-name-arrow.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-init-fn-name-class.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-init-fn-name-cover.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-init-fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-init-fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-target-yield-expr.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-elem-target-yield-ident-valid.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-put-prop-ref.js"><reason></reason></test>
<test id="language/expressions/assignment/destructuring/obj-prop-put-prop-ref-no-get.js"><reason></reason></test>
<test id="language/expressions/assignment/fn-name-arrow.js"><reason></reason></test>
<test id="language/expressions/assignment/fn-name-class.js"><reason></reason></test>
<test id="language/expressions/assignment/fn-name-cover.js"><reason></reason></test>
<test id="language/expressions/assignment/fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/assignment/fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T1.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T2.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T3.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T4.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A5_T5.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A6_T1.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A6_T2.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A6_T3.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A7_T1.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A7_T2.js"><reason></reason></test>
<test id="language/expressions/assignment/S11.13.1_A7_T3.js"><reason></reason></test>
<test id="language/expressions/class/name.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.10_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.11_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.1_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.2_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.3_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.4_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.5_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.6_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.7_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.8_T4.js"><reason></reason></test>
<test id="language/expressions/compound-assignment/S11.13.2_A7.9_T4.js"><reason></reason></test>
<test id="language/expressions/equals/coerce-symbol-to-prim-return-prim.js"><reason></reason></test>
<test id="language/expressions/function/name.js"><reason></reason></test>
<test id="language/expressions/generators/has-instance.js"><reason></reason></test>
<test id="language/expressions/generators/implicit-name.js"><reason></reason></test>
<test id="language/expressions/generators/name.js"><reason></reason></test>
<test id="language/expressions/generators/no-name.js"><reason></reason></test>
<test id="language/expressions/generators/prototype-value.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-accessor-get.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-accessor-set.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-arrow.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-class.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-cover.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/object/fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/fn-name-fn.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/fn-name-gen.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/generator-invoke-ctor.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/generator-name-prop-string.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/generator-name-prop-symbol.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/generator-super-prop-body.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/generator-super-prop-param.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-invoke-ctor.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-name-prop-string.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-name-prop-symbol.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-prototype-prop.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-super-prop-body.js"><reason></reason></test>
<test id="language/expressions/object/method-definition/name-super-prop-param.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A5_T1.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A5_T2.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A5_T3.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A5_T4.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A5_T5.js"><reason></reason></test>
<test id="language/expressions/postfix-decrement/S11.3.2_A6_T3.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A5_T1.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A5_T2.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A5_T3.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A5_T4.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A5_T5.js"><reason></reason></test>
<test id="language/expressions/postfix-increment/S11.3.1_A6_T3.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A5_T1.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A5_T2.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A5_T3.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A5_T4.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A5_T5.js"><reason></reason></test>
<test id="language/expressions/prefix-decrement/S11.4.5_A6_T3.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A5_T1.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A5_T2.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A5_T3.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A5_T4.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A5_T5.js"><reason></reason></test>
<test id="language/expressions/prefix-increment/S11.4.4_A6_T3.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-differing-expressions-eval.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-differing-expressions.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-differing-expressions-new-function.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-identical-source-eval.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-identical-source.js"><reason></reason></test>
<test id="language/expressions/tagged-template/cache-identical-source-new-function.js"><reason></reason></test>
<test id="language/expressions/tagged-template/constructor-invocation.js"><reason></reason></test>
<test id="language/expressions/tagged-template/template-object.js"><reason></reason></test>
<test id="language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js"><reason></reason></test>
<test id="language/expressions/template-literal/tv-character-escape-sequence.js"><reason></reason></test>
<test id="language/expressions/template-literal/tv-line-continuation.js"><reason></reason></test>
<test id="language/literals/regexp/u-astral.js"><reason></reason></test>
<test id="language/literals/regexp/u-case-mapping.js"><reason></reason></test>
<test id="language/literals/regexp/u-dec-esc.js"><reason></reason></test>
<test id="language/literals/regexp/u-invalid-char-esc.js"><reason></reason></test>
<test id="language/literals/regexp/u-invalid-char-range-a.js"><reason></reason></test>
<test id="language/literals/regexp/u-invalid-char-range-b.js"><reason></reason></test>
<test id="language/literals/regexp/u-surrogate-pairs.js"><reason></reason></test>
<test id="language/literals/regexp/u-unicode-esc.js"><reason></reason></test>
<test id="language/literals/regexp/u-unicode-esc-non-hex.js"><reason></reason></test>
<test id="language/literals/string/7.8.4-1-s.js"><reason></reason></test>
<test id="language/module-code/export-unresolvable.js"><reason></reason></test>
<test id="language/object-literal/concise-generator.js"><reason></reason></test>
<test id="language/object-literal/getter.js"><reason></reason></test>
<test id="language/object-literal/method.js"><reason></reason></test>
<test id="language/object-literal/setter.js"><reason></reason></test>
<test id="language/statements/class/definition/accessors.js"><reason></reason></test>
<test id="language/statements/class/definition/basics.js"><reason></reason></test>
<test id="language/statements/class/definition/fn-name-accessor-get.js"><reason></reason></test>
<test id="language/statements/class/definition/fn-name-accessor-set.js"><reason></reason></test>
<test id="language/statements/class/definition/fn-name-gen-method.js"><reason></reason></test>
<test id="language/statements/class/definition/fn-name-method.js"><reason></reason></test>
<test id="language/statements/class/definition/getters.js"><reason></reason></test>
<test id="language/statements/class/definition/methods.js"><reason></reason></test>
<test id="language/statements/class/definition/numeric-property-names.js"><reason></reason></test>
<test id="language/statements/class/definition/setters.js"><reason></reason></test>
<test id="language/statements/class/definition/this-access-restriction.js"><reason></reason></test>
<test id="language/statements/class/definition/this-check-ordering.js"><reason></reason></test>
<test id="language/statements/class/name-binding/in-extends-expression-assigned.js"><reason></reason></test>
<test id="language/statements/class/name-binding/in-extends-expression.js"><reason></reason></test>
<test id="language/statements/class/name.js"><reason></reason></test>
<test id="language/statements/class/strict-mode/arguments-caller.js"><reason></reason></test>
<test id="language/statements/class/strict-mode/with.js"><reason></reason></test>
<test id="language/statements/class/syntax/early-errors/class-body-static-method-get-propname-prototype.js"><reason></reason></test>
<test id="language/statements/const/fn-name-arrow.js"><reason></reason></test>
<test id="language/statements/const/fn-name-class.js"><reason></reason></test>
<test id="language/statements/const/fn-name-cover.js"><reason></reason></test>
<test id="language/statements/const/fn-name-fn.js"><reason></reason></test>
<test id="language/statements/const/fn-name-gen.js"><reason></reason></test>
<test id="language/statements/continue/labeled-continue.js"><reason></reason></test>
<test id="language/statements/continue/nested-let-bound-for-loops-labeled-continue.js"><reason></reason></test>
<test id="language/statements/continue/simple-and-labeled.js"><reason></reason></test>
<test id="language/statements/for-in/const-bound-names-fordecl-tdz-for-in.js"><reason></reason></test>
<test id="language/statements/for-in/let-bound-names-fordecl-tdz-for-in.js"><reason></reason></test>
<test id="language/statements/for-of/body-dstr-assign-error.js"><reason></reason></test>
<test id="language/statements/for-of/body-dstr-assign.js"><reason></reason></test>
<test id="language/statements/for-of/const-bound-names-fordecl-tdz-for-of.js"><reason></reason></test>
<test id="language/statements/for-of/let-bound-names-fordecl-tdz-for-of.js"><reason></reason></test>
<test id="language/statements/for/S12.6.3_A9.1.js"><reason></reason></test>
<test id="language/statements/for/S12.6.3_A9.js"><reason></reason></test>
<test id="language/statements/function/13.2-30-s.js"><reason></reason></test>
<test id="language/statements/function/name.js"><reason></reason></test>
<test id="language/statements/generators/has-instance.js"><reason></reason></test>
<test id="language/statements/generators/name.js"><reason></reason></test>
<test id="language/statements/generators/prototype-value.js"><reason></reason></test>
<test id="language/statements/generators/restricted-properties.js"><reason></reason></test>
<test id="language/statements/let/fn-name-arrow.js"><reason></reason></test>
<test id="language/statements/let/fn-name-class.js"><reason></reason></test>
<test id="language/statements/let/fn-name-cover.js"><reason></reason></test>
<test id="language/statements/let/fn-name-fn.js"><reason></reason></test>
<test id="language/statements/let/fn-name-gen.js"><reason></reason></test>
<test id="language/statements/let/syntax/identifier-let-disallowed-as-boundname.js"><reason></reason></test>
<test id="language/statements/variable/fn-name-arrow.js"><reason></reason></test>
<test id="language/statements/variable/fn-name-class.js"><reason></reason></test>
<test id="language/statements/variable/fn-name-cover.js"><reason></reason></test>
<test id="language/statements/variable/fn-name-fn.js"><reason></reason></test>
<test id="language/statements/variable/fn-name-gen.js"><reason></reason></test>
</excludeList>

15
tests/test262-es6.patch Normal file
View File

@ -0,0 +1,15 @@
diff --git a/tools/packaging/test262.py b/tools/packaging/test262.py
index 921360a05e..27a2938e48 100755
--- a/tools/packaging/test262.py
+++ b/tools/packaging/test262.py
@@ -469,8 +469,8 @@ class TestSuite(object):
if self.ShouldRun(rel_path, tests):
basename = path.basename(full_path)[:-3]
name = rel_path.split(path.sep)[:-1] + [basename]
- if EXCLUDE_LIST.count(basename) >= 1:
- print 'Excluded: ' + basename
+ if rel_path in EXCLUDE_LIST:
+ print 'Excluded: ' + rel_path
else:
if not self.non_strict_only:
strict_case = TestCase(self, name, full_path, True)

View File

@ -124,6 +124,11 @@ TEST262_TEST_SUITE_OPTIONS = [
Options('test262_tests-debug', OPTIONS_DEBUG)
]
# Test options for test262-es2015
TEST262_ES2015_TEST_SUITE_OPTIONS = [
Options('test262_tests_es2015', OPTIONS_PROFILE_ES2015 + ['--line-info=on', '--error-messages=on']),
]
# Test options for jerry-debugger
DEBUGGER_TEST_OPTIONS = [
Options('jerry_debugger_tests',
@ -213,7 +218,9 @@ def get_arguments():
parser.add_argument('--jerry-test-suite', action='store_true',
help='Run jerry-test-suite')
parser.add_argument('--test262', action='store_true',
help='Run test262')
help='Run test262 - ES5.1')
parser.add_argument('--test262-es2015', action='store_true',
help='Run test262 - ES2015')
parser.add_argument('--unittests', action='store_true',
help='Run unittests (including doctests)')
parser.add_argument('--buildoption-test', action='store_true',
@ -444,7 +451,14 @@ def run_jerry_test_suite(options):
def run_test262_test_suite(options):
ret_build = ret_test = 0
for job in TEST262_TEST_SUITE_OPTIONS:
jobs = []
if options.test262:
jobs.extend(TEST262_TEST_SUITE_OPTIONS)
if options.test262_es2015:
jobs.extend(TEST262_ES2015_TEST_SUITE_OPTIONS)
for job in jobs:
ret_build, build_dir_path = create_binary(job, options)
if ret_build:
print("\n%sBuild failed%s\n" % (TERM_RED, TERM_NORMAL))
@ -452,10 +466,15 @@ def run_test262_test_suite(options):
test_cmd = get_platform_cmd_prefix() + [
settings.TEST262_RUNNER_SCRIPT,
get_binary_path(build_dir_path),
settings.TEST262_TEST_SUITE_DIR
'--engine', get_binary_path(build_dir_path),
'--test-dir', settings.TEST262_TEST_SUITE_DIR
]
if '--profile=es2015-subset' in job.build_args:
test_cmd.append('--es2015')
else:
test_cmd.append('--es51')
if job.test_args:
test_cmd.extend(job.test_args)
@ -520,7 +539,7 @@ def main(options):
Check(options.jerry_debugger, run_jerry_debugger_tests, options),
Check(options.jerry_tests, run_jerry_tests, options),
Check(options.jerry_test_suite, run_jerry_test_suite, options),
Check(options.test262, run_test262_test_suite, options),
Check(options.test262 or options.test262_es2015, run_test262_test_suite, options),
Check(options.unittests, run_unittests, options),
Check(options.buildoption_test, run_buildoption_test, options),
]

View File

@ -15,6 +15,7 @@
# limitations under the License.
from __future__ import print_function
import argparse
import os
import shutil
import subprocess
@ -28,21 +29,76 @@ def get_platform_cmd_prefix():
return ['python2'] # The official test262.py isn't python3 compatible, but has python shebang.
def run_test262_tests(runtime, engine, path_to_test262):
if not os.path.isdir(os.path.join(path_to_test262, '.git')):
return_code = subprocess.call(['git', 'clone', 'https://github.com/tc39/test262.git',
'-b', 'es5-tests', path_to_test262])
def get_arguments():
execution_runtime = os.environ.get('RUNTIME', '')
parser = argparse.ArgumentParser()
parser.add_argument('--runtime', metavar='FILE', default=execution_runtime,
help='Execution runtime (e.g. qemu)')
parser.add_argument('--engine', metavar='FILE', required=True,
help='JerryScript binary to run tests with')
parser.add_argument('--test-dir', metavar='DIR', required=True,
help='Directory contains test262 test suite')
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('--es51', action='store_true',
help='Run test262 ES5.1 version')
group.add_argument('--es2015', action='store_true',
help='Run test262 ES2015 version')
args = parser.parse_args()
if args.es2015:
args.test_dir = os.path.join(args.test_dir, 'es2015')
else:
args.test_dir = os.path.join(args.test_dir, 'es51')
return args
def prepare_test262_test_suite(args):
if os.path.isdir(os.path.join(args.test_dir, '.git')):
return 0
return_code = subprocess.call(['git', 'clone', '--no-checkout',
'https://github.com/tc39/test262.git', args.test_dir])
if return_code:
print('Cloning test262 repository failed.')
return return_code
if args.es2015:
git_hash = 'fd44cd73dfbce0b515a2474b7cd505d6176a9eb5'
else:
git_hash = 'es5-tests'
return_code = subprocess.call(['git', 'checkout', git_hash], cwd=args.test_dir)
if return_code:
print('Cloning test262 repository failed - invalid git revision.')
return return_code
if args.es2015:
shutil.copyfile(os.path.join('tests', 'test262-es6-excludelist.xml'),
os.path.join(args.test_dir, 'excludelist.xml'))
return_code = subprocess.call(['git', 'apply', os.path.join('..', '..', 'test262-es6.patch')],
cwd=args.test_dir)
if return_code:
print('Cloning test262 repository failed.')
print('Applying test262-es6.patch failed')
return return_code
path_to_remove = os.path.join(path_to_test262, 'test', 'suite', 'bestPractice')
if os.path.isdir(path_to_remove):
shutil.rmtree(path_to_remove)
else:
path_to_remove = os.path.join(args.test_dir, 'test', 'suite', 'bestPractice')
if os.path.isdir(path_to_remove):
shutil.rmtree(path_to_remove)
path_to_remove = os.path.join(path_to_test262, 'test', 'suite', 'intl402')
if os.path.isdir(path_to_remove):
shutil.rmtree(path_to_remove)
path_to_remove = os.path.join(args.test_dir, 'test', 'suite', 'intl402')
if os.path.isdir(path_to_remove):
shutil.rmtree(path_to_remove)
return 0
def main(args):
return_code = prepare_test262_test_suite(args)
if return_code:
return return_code
if sys.platform == 'win32':
original_timezone = util.get_timezone()
@ -50,15 +106,15 @@ def run_test262_tests(runtime, engine, path_to_test262):
util.set_timezone('Pacific Standard Time')
proc = subprocess.Popen(get_platform_cmd_prefix() +
[os.path.join(path_to_test262, 'tools/packaging/test262.py'),
'--command', (runtime + ' ' + engine).strip(),
'--tests', path_to_test262,
[os.path.join(args.test_dir, 'tools/packaging/test262.py'),
'--command', (args.runtime + ' ' + args.engine).strip(),
'--tests', args.test_dir,
'--summary'],
universal_newlines=True,
stdout=subprocess.PIPE)
return_code = 0
with open(os.path.join(os.path.dirname(engine), 'test262.report'), 'w') as output_file:
with open(os.path.join(os.path.dirname(args.engine), 'test262.report'), 'w') as output_file:
counter = 0
summary_found = False
while True:
@ -67,7 +123,7 @@ def run_test262_tests(runtime, engine, path_to_test262):
if not output:
break
output_file.write(output)
if (counter % 100) == 0:
if not summary_found and (counter % 100) == 0:
print("\rExecuted approx %d tests..." % counter, end='')
if output.startswith('=== Summary ==='):
@ -87,23 +143,5 @@ def run_test262_tests(runtime, engine, path_to_test262):
return return_code
def main():
if len(sys.argv) != 3:
print ("This script performs test262 compliance testing of the specified engine.")
print ("")
print ("Usage:")
print (" 1st parameter: JavaScript engine to be tested.")
print (" 2nd parameter: path to the directory with official test262 testsuite.")
print ("")
print ("Example:")
print (" ./run-test-suite-test262.py <engine> <test262_dir>")
sys.exit(1)
runtime = os.environ.get('RUNTIME', '')
engine = sys.argv[1]
path_to_test262 = sys.argv[2]
sys.exit(run_test262_tests(runtime, engine, path_to_test262))
if __name__ == "__main__":
main()
sys.exit(main(get_arguments()))