⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 259668 in webkit


Ignore:
Timestamp:
Apr 7, 2020, 1:49:06 PM (6 years ago)
Author:
Alexey Shvayka
Message:

test262/Runner.pm ignores "async" flag
https://bugs.webkit.org/show_bug.cgi?id=210127

Reviewed by Ross Kirsling.

JSTests:

  • test262/expectations.yaml: Mark 56 test cases as failing.

Tools:

This change adds dereferencing for $data->{flags} array, making grep work as
expected. Other flags are correctly handled by getScenarios function, which
gets a dereferenced array as an argument.

  • Scripts/test262/Runner.pm:

(runTest):

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r259658 r259668  
     12020-04-07  Alexey Shvayka  <shvaikalesh@gmail.com>
     2
     3        test262/Runner.pm ignores "async" flag
     4        https://bugs.webkit.org/show_bug.cgi?id=210127
     5
     6        Reviewed by Ross Kirsling.
     7
     8        * test262/expectations.yaml: Mark 56 test cases as failing.
     9
    1102020-04-07  Ross Kirsling  <ross.kirsling@sony.com>
    211
  • trunk/JSTests/test262/expectations.yaml

    r259546 r259668  
    610610test/annexB/language/global-code/switch-dflt-global-skip-early-err.js:
    611611  default: "SyntaxError: Cannot declare a function that shadows a let/const/class/function variable 'f' in strict mode."
     612test/annexB/language/statements/for-await-of/iterator-close-return-emulates-undefined-throws-when-called.js:
     613  default: "Test262:AsyncTestFailure:Test262Error: Test262Error: expected TypeError because `iter[Symbol.asyncIterator]() returned a non-object: Test262Error: shouldn't touch Symbol.iterator Expected SameValue(«function Test262Error(message) {"
     614  strict mode: "Test262:AsyncTestFailure:Test262Error: Test262Error: expected TypeError because `iter[Symbol.asyncIterator]() returned a non-object: Test262Error: shouldn't touch Symbol.iterator Expected SameValue(«function Test262Error(message) {"
    612615test/annexB/language/statements/for-of/iterator-close-return-emulates-undefined-throws-when-called.js:
    613616  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
     
    724727  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all (Testing with Float64Array.)'
    725728  strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all (Testing with Float64Array.)'
     729test/built-ins/AsyncFromSyncIteratorPrototype/next/absent-value-not-passed.js:
     730  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
     731  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
     732test/built-ins/AsyncFromSyncIteratorPrototype/return/absent-value-not-passed.js:
     733  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
     734  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
     735test/built-ins/AsyncFromSyncIteratorPrototype/throw/absent-value-not-passed.js:
     736  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Promise should be rejected, got: undefined'
     737  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Promise should be rejected, got: undefined'
    726738test/built-ins/AsyncFunction/proto-from-ctor-realm.js:
    727739  default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncFunction]», «[object AsyncFunction]») to be true'
     
    730742  default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncGeneratorFunction]», «[object AsyncGeneratorFunction]») to be true'
    731743  strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncGeneratorFunction]», «[object AsyncGeneratorFunction]») to be true'
     744test/built-ins/AsyncGeneratorPrototype/return/return-suspendedYield-promise.js:
     745  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: AsyncGeneratorResolve(generator, resultValue, true) Expected SameValue(«[object Promise]», «unwrapped-value») to be true'
     746  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: AsyncGeneratorResolve(generator, resultValue, true) Expected SameValue(«[object Promise]», «unwrapped-value») to be true'
    732747test/built-ins/BigInt/asIntN/arithmetic.js:
    733748  default: 'Test262Error: Expected SameValue(«undefined», «0») to be true'
     
    11661181  default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
    11671182  strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
     1183test/built-ins/Promise/create-resolving-functions-reject.js:
     1184  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
     1185  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
     1186test/built-ins/Promise/create-resolving-functions-resolve.js:
     1187  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
     1188  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
    11681189test/built-ins/Promise/executor-function-nonconstructor.js:
    11691190  default: 'Test262Error: Expected SameValue(«true», «false») to be true'
     
    11751196  default: 'Test262Error: fulfillment handler is not constructor'
    11761197  strict mode: 'Test262Error: fulfillment handler is not constructor'
     1198test/built-ins/Promise/prototype/finally/resolved-observable-then-calls-argument.js:
     1199  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
     1200  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
    11771201test/built-ins/Promise/race/invoke-resolve-get-error-close.js:
    11781202  default: 'Test262Error: Expected SameValue(«0», «1») to be true'
     
    23522376test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js:
    23532377  default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all'
     2378test/language/expressions/await/async-await-interleaved.js:
     2379  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Await: 1, Promise: 1, Promise: 2, Await: 2] and [Await: 1, Promise: 1, Await: 2, Promise: 2] to have the same contents. Async/await and promises should be interleaved'
     2380  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Await: 1, Promise: 1, Promise: 2, Await: 2] and [Await: 1, Promise: 1, Await: 2, Promise: 2] to have the same contents. Async/await and promises should be interleaved'
     2381test/language/expressions/await/async-generator-interleaved.js:
     2382  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [await, 1, 2, await] and [await, 1, await, 2] to have the same contents. Async/await and promises should be interleaved'
     2383  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [await, 1, 2, await] and [await, 1, await, 2] to have the same contents. Async/await and promises should be interleaved'
     2384test/language/expressions/await/await-monkey-patched-promise.js:
     2385  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Promise: 1, Promise: 2, Await: 42] and [Promise: 1, Await: 42, Promise: 2] to have the same contents. Async/await and promises should be interleaved'
     2386  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Promise: 1, Promise: 2, Await: 42] and [Promise: 1, Await: 42, Promise: 2] to have the same contents. Async/await and promises should be interleaved'
     2387test/language/expressions/await/for-await-of-interleaved.js:
     2388  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Promise: 6, Promise: 5, Promise: 4, Await: 3, Promise: 3, Promise: 2, Promise: 1, Await: 2, Promise: 0] and [Promise: 6, Promise: 5, Await: 3, Promise: 4, Promise: 3, Await: 2, Promise: 2, Promise: 1, Await: 1, Promise: 0] to have the same contents. Async/await and promises should be interleaved'
     2389  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [Promise: 6, Promise: 5, Promise: 4, Await: 3, Promise: 3, Promise: 2, Promise: 1, Await: 2, Promise: 0] and [Promise: 6, Promise: 5, Await: 3, Promise: 4, Promise: 3, Await: 2, Promise: 2, Promise: 1, Await: 1, Promise: 0] to have the same contents. Async/await and promises should be interleaved'
    23542390test/language/expressions/call/eval-realm-indirect.js:
    23552391  default: 'Test262Error: Expected SameValue(«inside», «outside») to be true'
     
    26912727  default: "SyntaxError: Unexpected keyword 'in'. Expected ':' in ternary operator."
    26922728  strict mode: "SyntaxError: Unexpected keyword 'in'. Expected ':' in ternary operator."
     2729test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-script-code-target.js:
     2730  module: 'Test262:AsyncTestFailure:Test262Error: [object Object]'
     2731test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-script-code-target.js:
     2732  module: 'Test262:AsyncTestFailure:Test262Error: [object Object]'
     2733test/language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js:
     2734  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: f Expected SameValue(«null», «foo») to be true'
     2735  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: f Expected SameValue(«null», «foo») to be true'
     2736test/language/expressions/dynamic-import/namespace/await-ns-define-own-property.js:
     2737  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
     2738  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
     2739test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-direct.js:
     2740  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2741  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2742test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-indirect.js:
     2743  module: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2744test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-props-nrml.js:
     2745  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2746  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2747test/language/expressions/dynamic-import/namespace/promise-then-ns-define-own-property.js:
     2748  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
     2749  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
     2750test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-direct.js:
     2751  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2752  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2753test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-indirect.js:
     2754  module: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2755test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-props-nrml.js:
     2756  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
     2757  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
    26932758test/language/expressions/function/eval-var-scope-syntax-err.js:
    26942759  default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all'
     
    32493314  default: 'Test262Error: Expected SameValue(«[object AsyncGenerator]», «[object AsyncGenerator]») to be false'
    32503315  strict mode: 'Test262Error: Expected SameValue(«[object AsyncGenerator]», «[object AsyncGenerator]») to be false'
     3316test/language/statements/async-generator/return-undefined-implicit-and-explicit.js:
     3317  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [tick 1, g1 ret, tick 2, g2 ret, g3 ret, g4 ret] and [tick 1, g1 ret, g2 ret, tick 2, g3 ret, g4 ret] to have the same contents. Ticks for implicit and explicit return undefined'
     3318  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [tick 1, g1 ret, tick 2, g2 ret, g3 ret, g4 ret] and [tick 1, g1 ret, g2 ret, tick 2, g3 ret, g4 ret] to have the same contents. Ticks for implicit and explicit return undefined'
     3319test/language/statements/async-generator/yield-return-then-getter-ticks.js:
     3320  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, get then, tick 2] to have the same contents. Ticks for return with thenable getter'
     3321  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, get then, tick 2] to have the same contents. Ticks for return with thenable getter'
     3322test/language/statements/async-generator/yield-star-return-then-getter-ticks.js:
     3323  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2, get return, tick 3, tick 4] and [start, tick 1, tick 2, get then, tick 3, get return, get then, tick 4] to have the same contents. Ticks for return with thenable getter'
     3324  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2, get return, tick 3, tick 4] and [start, tick 1, tick 2, get then, tick 3, get return, get then, tick 4] to have the same contents. Ticks for return with thenable getter'
    32513325test/language/statements/class/class-name-ident-await-escaped.js:
    32523326  default: "SyntaxError: Unexpected escaped characters in keyword token: 'aw\\u0061it'"
     
    34083482test/language/statements/do-while/let-array-with-newline.js:
    34093483  default: 'Test262: This statement should not be evaluated.'
     3484test/language/statements/for-await-of/async-from-sync-iterator-continuation-abrupt-completion-get-constructor.js:
     3485  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, tick 2, catch] to have the same contents. '
     3486  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, tick 2, catch] to have the same contents. '
    34103487test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js:
    34113488  default: 'Test262: This statement should not be evaluated.'
     
    34163493test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js:
    34173494  strict mode: 'Test262: This statement should not be evaluated.'
     3495test/language/statements/for-await-of/iterator-close-throw-get-method-abrupt.js:
     3496  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«function Object() {'
     3497  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«function Object() {'
    34183498test/language/statements/for-await-of/let-array-with-newline.js:
    34193499  default: 'Test262: This statement should not be evaluated.'
     3500test/language/statements/for-await-of/ticks-with-async-iter-resolved-promise-and-constructor-lookup-two.js:
     3501  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [pre, tick 1, tick 2, loop] and [pre, constructor, tick 1, loop, constructor, tick 2, post] to have the same contents. Ticks and constructor lookups'
     3502  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [pre, tick 1, tick 2, loop] and [pre, constructor, tick 1, loop, constructor, tick 2, post] to have the same contents. Ticks and constructor lookups'
     3503test/language/statements/for-await-of/ticks-with-sync-iter-resolved-promise-and-constructor-lookup.js:
     3504  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [pre, tick 1, tick 2, tick 3, loop, tick 4] and [pre, constructor, constructor, tick 1, tick 2, loop, constructor, tick 3, tick 4, post] to have the same contents. Ticks and constructor lookups'
     3505  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [pre, tick 1, tick 2, tick 3, loop, tick 4] and [pre, constructor, constructor, tick 1, tick 2, loop, constructor, tick 3, tick 4, post] to have the same contents. Ticks and constructor lookups'
    34203506test/language/statements/for-in/12.6.4-2.js:
    34213507  default: 'Test262Error: accessedProp Expected SameValue(«true», «false») to be true'
  • trunk/Tools/ChangeLog

    r259667 r259668  
     12020-04-07  Alexey Shvayka  <shvaikalesh@gmail.com>
     2
     3        test262/Runner.pm ignores "async" flag
     4        https://bugs.webkit.org/show_bug.cgi?id=210127
     5
     6        Reviewed by Ross Kirsling.
     7
     8        This change adds dereferencing for `$data->{flags}` array, making `grep` work as
     9        expected. Other flags are correctly handled by `getScenarios` function, which
     10        gets a dereferenced array as an argument.
     11
     12        * Scripts/test262/Runner.pm:
     13        (runTest):
     14
    1152020-04-07  Truitt Savell  <tsavell@apple.com>
    216
  • trunk/Tools/Scripts/test262/Runner.pm

    r259587 r259668  
    796796
    797797    if (exists $data->{flags}) {
    798         my @flags = $data->{flags};
    799         if (grep $_ eq 'async', @flags) {
     798        if (grep $_ eq 'async', @{ $data->{flags} }) {
    800799            $args .= ' --test262-async ';
    801800        }
Note: See TracChangeset for help on using the changeset viewer.