Changeset 251588 in webkit


Ignore:
Timestamp:
Oct 25, 2019 5:09:06 AM (4 years ago)
Author:
Ross Kirsling
Message:

test262-runner should be able to pass JSC a feature flag
https://bugs.webkit.org/show_bug.cgi?id=203301

Reviewed by Keith Miller.

JSTests:

  • test262/config.yaml:

Add feature flag mapping.
Also skip a few forgotten features as well as BigInt TypedArray tests.

  • test262/expectations.yaml:

Regenerate expectations.

Tools:

  • Scripts/test262/Runner.pm:

Recognize mapping from 262 features to JSC runtime options.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r251525 r251588  
     12019-10-25  Ross Kirsling  <ross.kirsling@sony.com>
     2
     3        test262-runner should be able to pass JSC a feature flag
     4        https://bugs.webkit.org/show_bug.cgi?id=203301
     5
     6        Reviewed by Keith Miller.
     7
     8        * test262/config.yaml:
     9        Add feature flag mapping.
     10        Also skip a few forgotten features as well as BigInt TypedArray tests.
     11
     12        * test262/expectations.yaml:
     13        Regenerate expectations.
     14
    1152019-10-23  Keith Miller  <keith_miller@apple.com>
    216
  • trunk/JSTests/test262/config.yaml

    r251480 r251588  
    11
    22---
     3flags:
     4  coalesce-expression: useNullishAwareOperators
     5  optional-chaining: useNullishAwareOperators
     6  BigInt: useBigInt
     7  WeakRef: useWeakRefs
    38skip:
    4   # (uncomment to skip tests based on path)
    5   paths:
    6     # https://bugs.webkit.org/show_bug.cgi?id=192920
    7     - test/intl402/NumberFormat/prototype/formatToParts
    89  features:
    910    - SharedArrayBuffer
    1011    - Atomics
    11     # https://bugs.webkit.org/show_bug.cgi?id=179001
    12     - BigInt
    1312    # https://bugs.webkit.org/show_bug.cgi?id=166693
    1413    - async-iteration
     
    2221    - class-static-fields-private
    2322    - class-static-methods-private
    24     - coalesce-expression
     23    - host-gc-required
     24    - regexp-match-indices
    2525    - top-level-await
     26    - FinalizationGroup
    2627    - Intl.DateTimeFormat-datetimestyle
    2728    - Intl.DateTimeFormat-formatRange
     
    3132    - Intl.RelativeTimeFormat
    3233    - Intl.Segmenter
     34  paths:
     35    # https://bugs.webkit.org/show_bug.cgi?id=192920
     36    - test/intl402/NumberFormat/prototype/formatToParts
     37
     38    - test/built-ins/DataView/prototype/getBigInt64
     39    - test/built-ins/DataView/prototype/getBigUint64
     40    - test/built-ins/DataView/prototype/setBigInt64
     41
     42    # https://bugs.webkit.org/show_bug.cgi?id=190800
     43    - test/built-ins/TypedArray/prototype/Symbol.toStringTag/BigInt
     44    - test/built-ins/TypedArray/prototype/buffer/BigInt
     45    - test/built-ins/TypedArray/prototype/byteLength/BigInt
     46    - test/built-ins/TypedArray/prototype/byteOffset/BigInt
     47    - test/built-ins/TypedArray/prototype/copyWithin/BigInt
     48    - test/built-ins/TypedArray/prototype/entries/BigInt
     49    - test/built-ins/TypedArray/prototype/every/BigInt
     50    - test/built-ins/TypedArray/prototype/fill/BigInt
     51    - test/built-ins/TypedArray/prototype/filter/BigInt
     52    - test/built-ins/TypedArray/prototype/find/BigInt
     53    - test/built-ins/TypedArray/prototype/findIndex/BigInt
     54    - test/built-ins/TypedArray/prototype/forEach/BigInt
     55    - test/built-ins/TypedArray/prototype/includes/BigInt
     56    - test/built-ins/TypedArray/prototype/indexOf/BigInt
     57    - test/built-ins/TypedArray/prototype/join/BigInt
     58    - test/built-ins/TypedArray/prototype/keys/BigInt
     59    - test/built-ins/TypedArray/prototype/lastIndexOf/BigInt
     60    - test/built-ins/TypedArray/prototype/length/BigInt
     61    - test/built-ins/TypedArray/prototype/map/BigInt
     62    - test/built-ins/TypedArray/prototype/reduce/BigInt
     63    - test/built-ins/TypedArray/prototype/reduceRight/BigInt
     64    - test/built-ins/TypedArray/prototype/reverse/BigInt
     65    - test/built-ins/TypedArray/prototype/set/BigInt
     66    - test/built-ins/TypedArray/prototype/slice/BigInt
     67    - test/built-ins/TypedArray/prototype/some/BigInt
     68    - test/built-ins/TypedArray/prototype/sort/BigInt
     69    - test/built-ins/TypedArray/prototype/subarray/BigInt
     70    - test/built-ins/TypedArray/prototype/toLocaleString/BigInt
     71    - test/built-ins/TypedArray/prototype/toString/BigInt
     72    - test/built-ins/TypedArray/prototype/values/BigInt
     73    - test/built-ins/TypedArrayConstructors/BigInt64Array
     74    - test/built-ins/TypedArrayConstructors/BigUint64Array
     75    - test/built-ins/TypedArrayConstructors/ctors-bigint
     76    - test/built-ins/TypedArrayConstructors/from/BigInt
     77    - test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt
     78    - test/built-ins/TypedArrayConstructors/internals/Get/BigInt
     79    - test/built-ins/TypedArrayConstructors/internals/GetOwnProperty/BigInt
     80    - test/built-ins/TypedArrayConstructors/internals/HasProperty/BigInt
     81    - test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/BigInt
     82    - test/built-ins/TypedArrayConstructors/internals/Set/BigInt
     83    - test/built-ins/TypedArrayConstructors/of/BigInt
    3384  files:
    3485    - test/built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-object.js
     
    67118    - test/intl402/NumberFormat/prototype/format/format-fraction-digits.js
    68119    - test/intl402/NumberFormat/prototype/format/format-significant-digits.js
     120
     121    # https://bugs.webkit.org/show_bug.cgi?id=190800
     122    - test/built-ins/TypedArray/prototype/set/src-typedarray-big-throws.js
     123    - test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/src-typedarray-big-throws.js
     124    - test/built-ins/TypedArrayConstructors/prototype/Symbol.toStringTag/bigint-inherited.js
     125    - test/built-ins/TypedArrayConstructors/prototype/bigint-Symbol.iterator.js
     126    - test/built-ins/TypedArrayConstructors/prototype/buffer/bigint-inherited.js
     127    - test/built-ins/TypedArrayConstructors/prototype/byteLength/bigint-inherited.js
     128    - test/built-ins/TypedArrayConstructors/prototype/byteOffset/bigint-inherited.js
     129    - test/built-ins/TypedArrayConstructors/prototype/copyWithin/bigint-inherited.js
     130    - test/built-ins/TypedArrayConstructors/prototype/entries/bigint-inherited.js
     131    - test/built-ins/TypedArrayConstructors/prototype/every/bigint-inherited.js
     132    - test/built-ins/TypedArrayConstructors/prototype/fill/bigint-inherited.js
     133    - test/built-ins/TypedArrayConstructors/prototype/filter/bigint-inherited.js
     134    - test/built-ins/TypedArrayConstructors/prototype/find/bigint-inherited.js
     135    - test/built-ins/TypedArrayConstructors/prototype/findIndex/bigint-inherited.js
     136    - test/built-ins/TypedArrayConstructors/prototype/forEach/bigint-inherited.js
     137    - test/built-ins/TypedArrayConstructors/prototype/indexOf/bigint-inherited.js
     138    - test/built-ins/TypedArrayConstructors/prototype/join/bigint-inherited.js
     139    - test/built-ins/TypedArrayConstructors/prototype/keys/bigint-inherited.js
     140    - test/built-ins/TypedArrayConstructors/prototype/lastIndexOf/bigint-inherited.js
     141    - test/built-ins/TypedArrayConstructors/prototype/length/bigint-inherited.js
     142    - test/built-ins/TypedArrayConstructors/prototype/map/bigint-inherited.js
     143    - test/built-ins/TypedArrayConstructors/prototype/reduce/bigint-inherited.js
     144    - test/built-ins/TypedArrayConstructors/prototype/reduceRight/bigint-inherited.js
     145    - test/built-ins/TypedArrayConstructors/prototype/reverse/bigint-inherited.js
     146    - test/built-ins/TypedArrayConstructors/prototype/set/bigint-inherited.js
     147    - test/built-ins/TypedArrayConstructors/prototype/slice/bigint-inherited.js
     148    - test/built-ins/TypedArrayConstructors/prototype/some/bigint-inherited.js
     149    - test/built-ins/TypedArrayConstructors/prototype/sort/bigint-inherited.js
     150    - test/built-ins/TypedArrayConstructors/prototype/subarray/bigint-inherited.js
     151    - test/built-ins/TypedArrayConstructors/prototype/toLocaleString/bigint-inherited.js
     152    - test/built-ins/TypedArrayConstructors/prototype/toString/bigint-inherited.js
     153    - test/built-ins/TypedArrayConstructors/prototype/values/bigint-inherited.js
  • trunk/JSTests/test262/expectations.yaml

    r251483 r251588  
    742742  default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncFunction]», «[object AsyncFunction]») to be true'
    743743  strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncFunction]», «[object AsyncFunction]») to be true'
     744test/built-ins/BigInt/constructor-integer.js:
     745  default: 'RangeError: Not safe integer'
     746  strict mode: 'RangeError: Not safe integer'
    744747test/built-ins/Boolean/proto-from-ctor-realm.js:
    745748  default: 'Test262Error: Expected SameValue(«false», «false») to be true'
     
    871874  default: 'Test262Error: Expected SameValue(«Error», «Error») to be true'
    872875  strict mode: 'Test262Error: Expected SameValue(«Error», «Error») to be true'
    873 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/Symbol.toStringTag.js:
    874   default: "ReferenceError: Can't find variable: FinalizationGroup"
    875   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    876 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-job-not-active-throws.js:
    877   default: "ReferenceError: Can't find variable: FinalizationGroup"
    878   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    879 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-length.js:
    880   default: "ReferenceError: Can't find variable: FinalizationGroup"
    881   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    882 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-missing-internal-throws.js:
    883   default: "ReferenceError: Can't find variable: FinalizationGroup"
    884   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    885 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-name.js:
    886   default: "ReferenceError: Can't find variable: FinalizationGroup"
    887   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    888 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-not-object-throws.js:
    889   default: "ReferenceError: Can't find variable: FinalizationGroup"
    890   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    891 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/next-prop-desc.js:
    892   default: "ReferenceError: Can't find variable: FinalizationGroup"
    893   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    894 test/built-ins/FinalizationGroup/FinalizationGroupCleanupIteratorPrototype/proto.js:
    895   default: "ReferenceError: Can't find variable: FinalizationGroup"
    896   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    897 test/built-ins/FinalizationGroup/constructor.js:
    898   default: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    899   strict mode: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    900 test/built-ins/FinalizationGroup/gc-has-one-chance-to-call-cleanupCallback.js:
    901   default: "ReferenceError: Can't find variable: FinalizationGroup"
    902   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    903 test/built-ins/FinalizationGroup/instance-extensible.js:
    904   default: "ReferenceError: Can't find variable: FinalizationGroup"
    905   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    906 test/built-ins/FinalizationGroup/length.js:
    907   default: "ReferenceError: Can't find variable: FinalizationGroup"
    908   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    909 test/built-ins/FinalizationGroup/name.js:
    910   default: "ReferenceError: Can't find variable: FinalizationGroup"
    911   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    912 test/built-ins/FinalizationGroup/newtarget-prototype-is-not-object.js:
    913   default: "ReferenceError: Can't find variable: FinalizationGroup"
    914   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    915 test/built-ins/FinalizationGroup/prop-desc.js:
    916   default: 'Test262Error: obj should have an own property FinalizationGroup'
    917   strict mode: 'Test262Error: obj should have an own property FinalizationGroup'
    918 test/built-ins/FinalizationGroup/proto-from-ctor-realm.js:
    919   default: "ReferenceError: Can't find variable: FinalizationGroup"
    920   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    921 test/built-ins/FinalizationGroup/proto.js:
    922   default: "ReferenceError: Can't find variable: FinalizationGroup"
    923   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    924 test/built-ins/FinalizationGroup/prototype-from-newtarget-abrupt.js:
    925   default: 'Test262Error: Expected a Test262Error but got a ReferenceError'
    926   strict mode: 'Test262Error: Expected a Test262Error but got a ReferenceError'
    927 test/built-ins/FinalizationGroup/prototype-from-newtarget-custom.js:
    928   default: "ReferenceError: Can't find variable: FinalizationGroup"
    929   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    930 test/built-ins/FinalizationGroup/prototype-from-newtarget.js:
    931   default: "ReferenceError: Can't find variable: FinalizationGroup"
    932   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    933 test/built-ins/FinalizationGroup/prototype/Symbol.toStringTag.js:
    934   default: "ReferenceError: Can't find variable: FinalizationGroup"
    935   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    936 test/built-ins/FinalizationGroup/prototype/cleanupSome/callback-iterator-proto.js:
    937   default: "ReferenceError: Can't find variable: FinalizationGroup"
    938   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    939 test/built-ins/FinalizationGroup/prototype/cleanupSome/callback-not-callable-throws.js:
    940   default: "ReferenceError: Can't find variable: FinalizationGroup"
    941   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    942 test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-reference.js:
    943   default: "ReferenceError: Can't find variable: FinalizationGroup"
    944   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    945 test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanup-prevented-with-unregister.js:
    946   default: "ReferenceError: Can't find variable: FinalizationGroup"
    947   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    948 test/built-ins/FinalizationGroup/prototype/cleanupSome/cleanupcallback-iterator-proto.js:
    949   default: "ReferenceError: Can't find variable: FinalizationGroup"
    950   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    951 test/built-ins/FinalizationGroup/prototype/cleanupSome/custom-this.js:
    952   default: "ReferenceError: Can't find variable: FinalizationGroup"
    953   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    954 test/built-ins/FinalizationGroup/prototype/cleanupSome/iterator-dynamic.js:
    955   default: "ReferenceError: Can't find variable: FinalizationGroup"
    956   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    957 test/built-ins/FinalizationGroup/prototype/cleanupSome/iterator-holdings-multiple-values.js:
    958   default: "ReferenceError: Can't find variable: FinalizationGroup"
    959   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    960 test/built-ins/FinalizationGroup/prototype/cleanupSome/length.js:
    961   default: "ReferenceError: Can't find variable: FinalizationGroup"
    962   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    963 test/built-ins/FinalizationGroup/prototype/cleanupSome/name.js:
    964   default: "ReferenceError: Can't find variable: FinalizationGroup"
    965   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    966 test/built-ins/FinalizationGroup/prototype/cleanupSome/prop-desc.js:
    967   default: "ReferenceError: Can't find variable: FinalizationGroup"
    968   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    969 test/built-ins/FinalizationGroup/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js:
    970   default: "ReferenceError: Can't find variable: FinalizationGroup"
    971   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    972 test/built-ins/FinalizationGroup/prototype/cleanupSome/this-not-object-throws.js:
    973   default: "ReferenceError: Can't find variable: FinalizationGroup"
    974   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    975 test/built-ins/FinalizationGroup/prototype/constructor.js:
    976   default: "ReferenceError: Can't find variable: FinalizationGroup"
    977   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    978 test/built-ins/FinalizationGroup/prototype/prop-desc.js:
    979   default: "ReferenceError: Can't find variable: FinalizationGroup"
    980   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    981 test/built-ins/FinalizationGroup/prototype/proto.js:
    982   default: "ReferenceError: Can't find variable: FinalizationGroup"
    983   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    984 test/built-ins/FinalizationGroup/prototype/register/custom-this.js:
    985   default: "ReferenceError: Can't find variable: FinalizationGroup"
    986   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    987 test/built-ins/FinalizationGroup/prototype/register/holdings-any-value-type.js:
    988   default: "ReferenceError: Can't find variable: FinalizationGroup"
    989   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    990 test/built-ins/FinalizationGroup/prototype/register/holdings-same-as-target.js:
    991   default: "ReferenceError: Can't find variable: FinalizationGroup"
    992   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    993 test/built-ins/FinalizationGroup/prototype/register/length.js:
    994   default: "ReferenceError: Can't find variable: FinalizationGroup"
    995   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    996 test/built-ins/FinalizationGroup/prototype/register/name.js:
    997   default: "ReferenceError: Can't find variable: FinalizationGroup"
    998   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    999 test/built-ins/FinalizationGroup/prototype/register/prop-desc.js:
    1000   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1001   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1002 test/built-ins/FinalizationGroup/prototype/register/return-undefined-register-itself.js:
    1003   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1004   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1005 test/built-ins/FinalizationGroup/prototype/register/return-undefined.js:
    1006   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1007   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1008 test/built-ins/FinalizationGroup/prototype/register/target-not-object-throws.js:
    1009   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1010   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1011 test/built-ins/FinalizationGroup/prototype/register/this-does-not-have-internal-target-throws.js:
    1012   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1013   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1014 test/built-ins/FinalizationGroup/prototype/register/this-not-object-throws.js:
    1015   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1016   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1017 test/built-ins/FinalizationGroup/prototype/register/unregisterToken-not-object-or-undefined-throws.js:
    1018   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1019   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1020 test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings-and-target.js:
    1021   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1022   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1023 test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-holdings.js:
    1024   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1025   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1026 test/built-ins/FinalizationGroup/prototype/register/unregisterToken-same-as-target.js:
    1027   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1028   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1029 test/built-ins/FinalizationGroup/prototype/unregister/custom-this.js:
    1030   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1031   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1032 test/built-ins/FinalizationGroup/prototype/unregister/length.js:
    1033   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1034   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1035 test/built-ins/FinalizationGroup/prototype/unregister/name.js:
    1036   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1037   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1038 test/built-ins/FinalizationGroup/prototype/unregister/prop-desc.js:
    1039   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1040   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1041 test/built-ins/FinalizationGroup/prototype/unregister/this-does-not-have-internal-cells-throws.js:
    1042   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1043   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1044 test/built-ins/FinalizationGroup/prototype/unregister/this-not-object-throws.js:
    1045   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1046   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1047 test/built-ins/FinalizationGroup/prototype/unregister/unregister.js:
    1048   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1049   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1050 test/built-ins/FinalizationGroup/prototype/unregister/unregisterToken-not-object-throws.js:
    1051   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1052   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1053 test/built-ins/FinalizationGroup/returns-new-object-from-constructor.js:
    1054   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1055   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1056 test/built-ins/FinalizationGroup/target-not-callable-throws.js:
    1057   default: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    1058   strict mode: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    1059 test/built-ins/FinalizationGroup/undefined-newtarget-throws.js:
    1060   default: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    1061   strict mode: 'Test262Error: typeof FinalizationGroup is function Expected SameValue(«undefined», «function») to be true'
    1062 test/built-ins/FinalizationGroup/unnaffected-by-poisoned-cleanupCallback.js:
    1063   default: "ReferenceError: Can't find variable: FinalizationGroup"
    1064   strict mode: "ReferenceError: Can't find variable: FinalizationGroup"
    1065876test/built-ins/Function/call-bind-this-realm-undef.js:
    1066877  default: 'Test262Error: implicit undefined Expected SameValue(«[object global]», «[object Undefined]») to be true'
     
    12251036  default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«URIError», «URIError») to be true'
    12261037  strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«URIError», «URIError») to be true'
     1038test/built-ins/Number/bigint-conversion.js:
     1039  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     1040  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
    12271041test/built-ins/Number/proto-from-ctor-realm.js:
    12281042  default: 'Test262Error: Expected SameValue(«0», «0») to be true'
     
    13461160  default: 'Test262Error: obj should have an own property name'
    13471161  strict mode: 'Test262Error: obj should have an own property name'
    1348 test/built-ins/RegExp/match-indices/indices-array-element.js:
    1349   default: "TypeError: undefined is not an object (evaluating 'indices[0]')"
    1350   strict mode: "TypeError: undefined is not an object (evaluating 'indices[0]')"
    1351 test/built-ins/RegExp/match-indices/indices-array-matched.js:
    1352   default: "TypeError: undefined is not an object (evaluating 'indices.length')"
    1353   strict mode: "TypeError: undefined is not an object (evaluating 'indices.length')"
    1354 test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js:
    1355   default: 'Test262Error: Expected [[1, 2], [1, 2]] to be structurally equal to undefined. '
    1356   strict mode: 'Test262Error: Expected [[1, 2], [1, 2]] to be structurally equal to undefined. '
    1357 test/built-ins/RegExp/match-indices/indices-array-properties.js:
    1358   default: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1359   strict mode: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1360 test/built-ins/RegExp/match-indices/indices-array-unicode-match.js:
    1361   default: 'Test262Error: Expected [[1, 2], [1, 2]] to be structurally equal to undefined. '
    1362   strict mode: 'Test262Error: Expected [[1, 2], [1, 2]] to be structurally equal to undefined. '
    1363 test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js:
    1364   default: 'SyntaxError: Invalid regular expression: invalid group specifier name'
    1365   strict mode: 'SyntaxError: Invalid regular expression: invalid group specifier name'
    1366 test/built-ins/RegExp/match-indices/indices-array-unmatched.js:
    1367   default: "TypeError: undefined is not an object (evaluating 'indices.length')"
    1368   strict mode: "TypeError: undefined is not an object (evaluating 'indices.length')"
    1369 test/built-ins/RegExp/match-indices/indices-array.js:
    1370   default: "TypeError: undefined is not an object (evaluating 'Object.getPrototypeOf(indices)')"
    1371   strict mode: "TypeError: undefined is not an object (evaluating 'Object.getPrototypeOf(indices)')"
    1372 test/built-ins/RegExp/match-indices/indices-groups-object-undefined.js:
    1373   default: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1374   strict mode: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1375 test/built-ins/RegExp/match-indices/indices-groups-object-unmatched.js:
    1376   default: "TypeError: undefined is not an object (evaluating 'result.groups')"
    1377   strict mode: "TypeError: undefined is not an object (evaluating 'result.groups')"
    1378 test/built-ins/RegExp/match-indices/indices-groups-object.js:
    1379   default: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1380   strict mode: "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(obj, name)')"
    1381 test/built-ins/RegExp/match-indices/indices-groups-properties.js:
    1382   default: "TypeError: undefined is not an object (evaluating '/(?<fst>.)|(?<snd>.)/u.exec(\"abcd\").indices.groups')"
    1383   strict mode: "TypeError: undefined is not an object (evaluating '/(?<fst>.)|(?<snd>.)/u.exec(\"abcd\").indices.groups')"
    1384 test/built-ins/RegExp/match-indices/indices-property.js:
    1385   default: 'Test262Error: obj should have an own property indices'
    1386   strict mode: 'Test262Error: obj should have an own property indices'
    13871162test/built-ins/RegExp/named-groups/groups-object-subclass-sans.js:
    13881163  default: 'Test262Error: Expected SameValue(«b», «$<a>») to be true'
     
    20341809  default: 'Test262Error: Expected SameValue(«[object WeakMap]», «[object WeakMap]») to be true'
    20351810  strict mode: 'Test262Error: Expected SameValue(«[object WeakMap]», «[object WeakMap]») to be true'
    2036 test/built-ins/WeakRef/constructor.js:
    2037   default: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
    2038   strict mode: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
    2039 test/built-ins/WeakRef/instance-extensible.js:
    2040   default: "ReferenceError: Can't find variable: WeakRef"
    2041   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2042 test/built-ins/WeakRef/length.js:
    2043   default: "ReferenceError: Can't find variable: WeakRef"
    2044   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2045 test/built-ins/WeakRef/name.js:
    2046   default: "ReferenceError: Can't find variable: WeakRef"
    2047   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2048 test/built-ins/WeakRef/newtarget-prototype-is-not-object.js:
    2049   default: "ReferenceError: Can't find variable: WeakRef"
    2050   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2051 test/built-ins/WeakRef/prop-desc.js:
    2052   default: 'Test262Error: obj should have an own property WeakRef'
    2053   strict mode: 'Test262Error: obj should have an own property WeakRef'
    20541811test/built-ins/WeakRef/proto-from-ctor-realm.js:
    2055   default: "ReferenceError: Can't find variable: WeakRef"
    2056   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2057 test/built-ins/WeakRef/proto.js:
    2058   default: "ReferenceError: Can't find variable: WeakRef"
    2059   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2060 test/built-ins/WeakRef/prototype-from-newtarget-abrupt.js:
    2061   default: 'Test262Error: Expected a Test262Error but got a ReferenceError'
    2062   strict mode: 'Test262Error: Expected a Test262Error but got a ReferenceError'
    2063 test/built-ins/WeakRef/prototype-from-newtarget-custom.js:
    2064   default: "ReferenceError: Can't find variable: WeakRef"
    2065   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2066 test/built-ins/WeakRef/prototype-from-newtarget.js:
    2067   default: "ReferenceError: Can't find variable: WeakRef"
    2068   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2069 test/built-ins/WeakRef/prototype/Symbol.toStringTag.js:
    2070   default: "ReferenceError: Can't find variable: WeakRef"
    2071   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2072 test/built-ins/WeakRef/prototype/constructor.js:
    2073   default: "ReferenceError: Can't find variable: WeakRef"
    2074   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2075 test/built-ins/WeakRef/prototype/deref/custom-this.js:
    2076   default: "ReferenceError: Can't find variable: WeakRef"
    2077   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2078 test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js:
    2079   default: "ReferenceError: Can't find variable: WeakRef"
    2080   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2081 test/built-ins/WeakRef/prototype/deref/length.js:
    2082   default: "ReferenceError: Can't find variable: WeakRef"
    2083   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2084 test/built-ins/WeakRef/prototype/deref/name.js:
    2085   default: "ReferenceError: Can't find variable: WeakRef"
    2086   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2087 test/built-ins/WeakRef/prototype/deref/prop-desc.js:
    2088   default: "ReferenceError: Can't find variable: WeakRef"
    2089   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2090 test/built-ins/WeakRef/prototype/deref/return-target.js:
    2091   default: "ReferenceError: Can't find variable: WeakRef"
    2092   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2093 test/built-ins/WeakRef/prototype/deref/this-does-not-have-internal-target-throws.js:
    2094   default: "ReferenceError: Can't find variable: WeakRef"
    2095   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2096 test/built-ins/WeakRef/prototype/deref/this-not-object-throws.js:
    2097   default: "ReferenceError: Can't find variable: WeakRef"
    2098   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2099 test/built-ins/WeakRef/prototype/prop-desc.js:
    2100   default: "ReferenceError: Can't find variable: WeakRef"
    2101   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2102 test/built-ins/WeakRef/prototype/proto.js:
    2103   default: "ReferenceError: Can't find variable: WeakRef"
    2104   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2105 test/built-ins/WeakRef/returns-new-object-from-constructor.js:
    2106   default: "ReferenceError: Can't find variable: WeakRef"
    2107   strict mode: "ReferenceError: Can't find variable: WeakRef"
    2108 test/built-ins/WeakRef/target-not-object-throws.js:
    2109   default: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
    2110   strict mode: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
    2111 test/built-ins/WeakRef/undefined-newtarget-throws.js:
    2112   default: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
    2113   strict mode: 'Test262Error: typeof WeakRef is function Expected SameValue(«undefined», «function») to be true'
     1812  default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object WeakRef]», «[object WeakRef]») to be true'
     1813  strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object WeakRef]», «[object WeakRef]») to be true'
    21141814test/built-ins/WeakSet/proto-from-ctor-realm.js:
    21151815  default: 'Test262Error: Expected SameValue(«[object WeakSet]», «[object WeakSet]») to be true'
    21161816  strict mode: 'Test262Error: Expected SameValue(«[object WeakSet]», «[object WeakSet]») to be true'
     1817test/intl402/BigInt/prototype/toLocaleString/de-DE.js:
     1818  default: 'RangeError: toString() radix argument must be between 2 and 36'
     1819  strict mode: 'RangeError: toString() radix argument must be between 2 and 36'
     1820test/intl402/BigInt/prototype/toLocaleString/default-options-object-prototype.js:
     1821  default: 'RangeError: toString() radix argument must be between 2 and 36'
     1822  strict mode: 'RangeError: toString() radix argument must be between 2 and 36'
     1823test/intl402/BigInt/prototype/toLocaleString/en-US.js:
     1824  default: 'RangeError: toString() radix argument must be between 2 and 36'
     1825  strict mode: 'RangeError: toString() radix argument must be between 2 and 36'
     1826test/intl402/BigInt/prototype/toLocaleString/returns-same-results-as-NumberFormat.js:
     1827  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     1828  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     1829test/intl402/BigInt/prototype/toLocaleString/throws-same-exceptions-as-NumberFormat.js:
     1830  default: "Test262Error: BigInt.prototype.toLocaleString didn't throw exception for locales null. Expected a TypeError but got a RangeError"
     1831  strict mode: "Test262Error: BigInt.prototype.toLocaleString didn't throw exception for locales null. Expected a TypeError but got a RangeError"
    21171832test/intl402/Collator/missing-unicode-ext-value-defaults-to-true.js:
    21181833  default: 'Test262Error: "kn" should be returned in locale. Expected SameValue(«false», «true») to be true'
     
    33233038test/language/expressions/object/scope-setter-body-lex-distinc.js:
    33243039  default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all'
    3325 test/language/expressions/optional-chaining/call-expression.js:
    3326   default: "SyntaxError: Unexpected token '.'"
    3327   strict mode: "SyntaxError: Unexpected token '.'"
    3328 test/language/expressions/optional-chaining/member-expression-async-identifier.js:
    3329   default: "SyntaxError: Unexpected token '.'"
    3330   strict mode: "SyntaxError: Unexpected token '.'"
    3331 test/language/expressions/optional-chaining/member-expression-async-literal.js:
    3332   default: "SyntaxError: Unexpected token '.'"
    3333   strict mode: "SyntaxError: Unexpected token '.'"
    3334 test/language/expressions/optional-chaining/member-expression-async-this.js:
    3335   default: "SyntaxError: Unexpected token '.'"
    3336   strict mode: "SyntaxError: Unexpected token '.'"
    3337 test/language/expressions/optional-chaining/member-expression.js:
    3338   default: "SyntaxError: Unexpected token '.'"
    3339   strict mode: "SyntaxError: Unexpected token '.'"
    3340 test/language/expressions/optional-chaining/optional-chain-async-optional-chain-square-brackets.js:
    3341   default: "SyntaxError: Unexpected token '.'"
    3342   strict mode: "SyntaxError: Unexpected token '.'"
    3343 test/language/expressions/optional-chaining/optional-chain-async-square-brackets.js:
    3344   default: "SyntaxError: Unexpected token '.'"
    3345   strict mode: "SyntaxError: Unexpected token '.'"
    3346 test/language/expressions/optional-chaining/optional-chain-expression-optional-expression.js:
    3347   default: "SyntaxError: Unexpected token '.'"
    3348   strict mode: "SyntaxError: Unexpected token '.'"
    3349 test/language/expressions/optional-chaining/optional-chain.js:
    3350   default: "SyntaxError: Unexpected token '.'"
    3351   strict mode: "SyntaxError: Unexpected token '.'"
    3352 test/language/expressions/optional-chaining/optional-expression.js:
    3353   default: "SyntaxError: Unexpected token '.'"
    3354   strict mode: "SyntaxError: Unexpected token '.'"
    3355 test/language/expressions/optional-chaining/runtime-semantics-evaluation.js:
    3356   default: "SyntaxError: Unexpected token '.'"
    3357   strict mode: "SyntaxError: Unexpected token '.'"
    3358 test/language/expressions/optional-chaining/short-circuiting.js:
    3359   default: "SyntaxError: Unexpected token '.'"
    3360   strict mode: "SyntaxError: Unexpected token '.'"
    33613040test/language/expressions/postfix-decrement/S11.3.2_A5_T1.js:
    33623041  default: "ReferenceError: Can't find variable: x"
     
    33733052  default: 'Test262Error: Expected true but got false'
    33743053  strict mode: 'Test262Error: Expected true but got false'
     3054test/language/expressions/postfix-decrement/bigint.js:
     3055  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     3056  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
    33753057test/language/expressions/postfix-increment/S11.3.1_A5_T1.js:
    33763058  default: "ReferenceError: Can't find variable: x"
     
    33873069  default: 'Test262Error: Expected true but got false'
    33883070  strict mode: 'Test262Error: Expected true but got false'
     3071test/language/expressions/postfix-increment/bigint.js:
     3072  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     3073  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
    33893074test/language/expressions/prefix-decrement/S11.4.5_A5_T1.js:
    33903075  default: "ReferenceError: Can't find variable: x"
     
    34013086  default: 'Test262Error: Expected true but got false'
    34023087  strict mode: 'Test262Error: Expected true but got false'
     3088test/language/expressions/prefix-decrement/bigint.js:
     3089  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     3090  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
    34033091test/language/expressions/prefix-increment/S11.4.4_A5_T1.js:
    34043092  default: "ReferenceError: Can't find variable: x"
     
    34153103  default: 'Test262Error: Expected true but got false'
    34163104  strict mode: 'Test262Error: Expected true but got false'
     3105test/language/expressions/prefix-increment/bigint.js:
     3106  default: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
     3107  strict mode: "TypeError: Conversion from 'BigInt' to 'number' is not allowed."
    34173108test/language/expressions/super/call-poisoned-underscore-proto.js:
    34183109  default: 'Test262Error: should not be called'
     
    34243115  default: 'Test262Error: should not be called'
    34253116  strict mode: 'Test262Error: should not be called'
     3117test/language/expressions/unsigned-right-shift/bigint-toprimitive.js:
     3118  default: 'Test262Error: 0n >>> {[Symbol.toPrimitive]: function() {throw new MyError();}} throws MyError Expected a MyError but got a TypeError'
     3119  strict mode: 'Test262Error: 0n >>> {[Symbol.toPrimitive]: function() {throw new MyError();}} throws MyError Expected a MyError but got a TypeError'
    34263120test/language/expressions/yield/star-iterable.js:
    34273121  default: 'Test262Error: First result `done` flag Expected SameValue(«false», «undefined») to be true'
     
    37403434  default: 'Test262: This statement should not be evaluated.'
    37413435  strict mode: 'Test262: This statement should not be evaluated.'
     3436test/language/statements/for-in/dstr/array-elem-nested-memberexpr-optchain-prop-ref.js:
     3437  default: 'Test262: This statement should not be evaluated.'
     3438  strict mode: 'Test262: This statement should not be evaluated.'
    37423439test/language/statements/for-in/dstr/array-elem-nested-obj-invalid.js:
    37433440  default: 'Test262: This statement should not be evaluated.'
    37443441  strict mode: 'Test262: This statement should not be evaluated.'
     3442test/language/statements/for-in/dstr/array-elem-put-obj-literal-optchain-prop-ref.js:
     3443  default: 'Test262: This statement should not be evaluated.'
     3444  strict mode: 'Test262: This statement should not be evaluated.'
    37453445test/language/statements/for-in/dstr/array-elem-target-simple-strict.js:
    37463446  strict mode: 'Test262: This statement should not be evaluated.'
     
    37673467  strict mode: 'Test262: This statement should not be evaluated.'
    37683468test/language/statements/for-in/dstr/obj-id-simple-strict.js:
     3469  strict mode: 'Test262: This statement should not be evaluated.'
     3470test/language/statements/for-in/dstr/obj-prop-elem-target-memberexpr-optchain-prop-ref.js:
     3471  default: 'Test262: This statement should not be evaluated.'
     3472  strict mode: 'Test262: This statement should not be evaluated.'
     3473test/language/statements/for-in/dstr/obj-prop-elem-target-obj-literal-optchain-prop-ref.js:
     3474  default: 'Test262: This statement should not be evaluated.'
    37693475  strict mode: 'Test262: This statement should not be evaluated.'
    37703476test/language/statements/for-in/dstr/obj-prop-nested-array-invalid.js:
     
    38223528  default: 'Test262: This statement should not be evaluated.'
    38233529  strict mode: 'Test262: This statement should not be evaluated.'
     3530test/language/statements/for-of/dstr/array-elem-nested-memberexpr-optchain-prop-ref.js:
     3531  default: 'Test262: This statement should not be evaluated.'
     3532  strict mode: 'Test262: This statement should not be evaluated.'
    38243533test/language/statements/for-of/dstr/array-elem-nested-obj-invalid.js:
     3534  default: 'Test262: This statement should not be evaluated.'
     3535  strict mode: 'Test262: This statement should not be evaluated.'
     3536test/language/statements/for-of/dstr/array-elem-put-obj-literal-optchain-prop-ref.js:
    38253537  default: 'Test262: This statement should not be evaluated.'
    38263538  strict mode: 'Test262: This statement should not be evaluated.'
     
    39043616test/language/statements/for-of/dstr/obj-id-simple-strict.js:
    39053617  strict mode: 'Test262: This statement should not be evaluated.'
     3618test/language/statements/for-of/dstr/obj-prop-elem-target-memberexpr-optchain-prop-ref.js:
     3619  default: 'Test262: This statement should not be evaluated.'
     3620  strict mode: 'Test262: This statement should not be evaluated.'
     3621test/language/statements/for-of/dstr/obj-prop-elem-target-obj-literal-optchain-prop-ref.js:
     3622  default: 'Test262: This statement should not be evaluated.'
     3623  strict mode: 'Test262: This statement should not be evaluated.'
    39063624test/language/statements/for-of/dstr/obj-prop-nested-array-invalid.js:
    39073625  default: 'Test262: This statement should not be evaluated.'
  • trunk/Tools/ChangeLog

    r251587 r251588  
     12019-10-25  Ross Kirsling  <ross.kirsling@sony.com>
     2
     3        test262-runner should be able to pass JSC a feature flag
     4        https://bugs.webkit.org/show_bug.cgi?id=203301
     5
     6        Reviewed by Keith Miller.
     7
     8        * Scripts/test262/Runner.pm:
     9        Recognize mapping from 262 features to JSC runtime options.
     10
    1112019-10-25  Jonathan Bedard  <jbedard@apple.com>
    212
  • trunk/Tools/Scripts/test262/Runner.pm

    r239605 r251588  
    653653        ($includesfh, $includesfile) = compileTest($includes) if defined $includes;
    654654
     655        my $args = getFeatureFlags($data);
     656
    655657        foreach my $scenario (@scenarios) {
    656             my ($result, $execTime) = runTest($includesfile, $filename, $scenario, $data);
     658            my ($result, $execTime) = runTest($includesfile, $filename, $scenario, $data, $args);
    657659
    658660            $resultsdata = processResult($filename, $data, $scenario, $result, $execTime);
     
    662664        close $includesfh if defined $includesfh;
    663665    }
     666}
     667
     668sub getFeatureFlags {
     669    my ($data) = @_;
     670    my $featureFlags = '';
     671
     672    if (exists $config->{flags} and $data->{features}) {
     673        foreach my $feature (@{ $data->{features} }) {
     674            $featureFlags .= ' --' . $config->{flags}->{$feature} . '=1' if $config->{flags}->{$feature};
     675        }
     676    }
     677
     678    return $featureFlags;
    664679}
    665680
     
    740755
    741756sub runTest {
    742     my ($includesfile, $filename, $scenario, $data) = @_;
     757    my ($includesfile, $filename, $scenario, $data, $args) = @_;
    743758    $includesfile ||= '';
    744 
    745     my $args = '';
    746759
    747760    if ($timeout) {
Note: See TracChangeset for help on using the changeset viewer.