Title: [259668] trunk
Revision
259668
Author
[email protected]
Date
2020-04-07 13:49:06 -0700 (Tue, 07 Apr 2020)

Log 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):

Modified Paths

Diff

Modified: trunk/JSTests/ChangeLog (259667 => 259668)


--- trunk/JSTests/ChangeLog	2020-04-07 20:23:50 UTC (rev 259667)
+++ trunk/JSTests/ChangeLog	2020-04-07 20:49:06 UTC (rev 259668)
@@ -1,3 +1,12 @@
+2020-04-07  Alexey Shvayka  <[email protected]>
+
+        test262/Runner.pm ignores "async" flag
+        https://bugs.webkit.org/show_bug.cgi?id=210127
+
+        Reviewed by Ross Kirsling.
+
+        * test262/expectations.yaml: Mark 56 test cases as failing.
+
 2020-04-07  Ross Kirsling  <[email protected]>
 
         Update JSTests to assume ICU 60+

Modified: trunk/JSTests/test262/expectations.yaml (259667 => 259668)


--- trunk/JSTests/test262/expectations.yaml	2020-04-07 20:23:50 UTC (rev 259667)
+++ trunk/JSTests/test262/expectations.yaml	2020-04-07 20:49:06 UTC (rev 259668)
@@ -609,6 +609,9 @@
   default: 'Test262Error: An initialized binding is not created prior to evaluation Expected a ReferenceError to be thrown but no exception was thrown at all'
 test/annexB/language/global-code/switch-dflt-global-skip-early-err.js:
   default: "SyntaxError: Cannot declare a function that shadows a let/const/class/function variable 'f' in strict mode."
+test/annexB/language/statements/for-await-of/iterator-close-return-emulates-undefined-throws-when-called.js:
+  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) {"
+  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) {"
 test/annexB/language/statements/for-of/iterator-close-return-emulates-undefined-throws-when-called.js:
   default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
   strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
@@ -723,6 +726,15 @@
 test/built-ins/ArrayIteratorPrototype/next/detach-typedarray-in-progress.js:
   default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all (Testing with Float64Array.)'
   strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all (Testing with Float64Array.)'
+test/built-ins/AsyncFromSyncIteratorPrototype/next/absent-value-not-passed.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
+test/built-ins/AsyncFromSyncIteratorPrototype/return/absent-value-not-passed.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«1», «0») to be true'
+test/built-ins/AsyncFromSyncIteratorPrototype/throw/absent-value-not-passed.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Promise should be rejected, got: undefined'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Promise should be rejected, got: undefined'
 test/built-ins/AsyncFunction/proto-from-ctor-realm.js:
   default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncFunction]», «[object AsyncFunction]») to be true'
   strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncFunction]», «[object AsyncFunction]») to be true'
@@ -729,6 +741,9 @@
 test/built-ins/AsyncGeneratorFunction/proto-from-ctor-realm.js:
   default: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncGeneratorFunction]», «[object AsyncGeneratorFunction]») to be true'
   strict mode: 'Test262Error: newTarget.prototype is undefined Expected SameValue(«[object AsyncGeneratorFunction]», «[object AsyncGeneratorFunction]») to be true'
+test/built-ins/AsyncGeneratorPrototype/return/return-suspendedYield-promise.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: AsyncGeneratorResolve(generator, resultValue, true) Expected SameValue(«[object Promise]», «unwrapped-value») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: AsyncGeneratorResolve(generator, resultValue, true) Expected SameValue(«[object Promise]», «unwrapped-value») to be true'
 test/built-ins/BigInt/asIntN/arithmetic.js:
   default: 'Test262Error: Expected SameValue(«undefined», «0») to be true'
   strict mode: 'Test262Error: Expected SameValue(«undefined», «0») to be true'
@@ -1165,6 +1180,12 @@
 test/built-ins/Promise/allSettled/resolve-element-function-nonconstructor.js:
   default: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
   strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
+test/built-ins/Promise/create-resolving-functions-reject.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
+test/built-ins/Promise/create-resolving-functions-resolve.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
 test/built-ins/Promise/executor-function-nonconstructor.js:
   default: 'Test262Error: Expected SameValue(«true», «false») to be true'
   strict mode: 'Test262Error: Expected SameValue(«true», «false») to be true'
@@ -1174,6 +1195,9 @@
 test/built-ins/Promise/prototype/finally/invokes-then-with-function.js:
   default: 'Test262Error: fulfillment handler is not constructor'
   strict mode: 'Test262Error: fulfillment handler is not constructor'
+test/built-ins/Promise/prototype/finally/resolved-observable-then-calls-argument.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected true but got false'
 test/built-ins/Promise/race/invoke-resolve-get-error-close.js:
   default: 'Test262Error: Expected SameValue(«0», «1») to be true'
   strict mode: 'Test262Error: Expected SameValue(«0», «1») to be true'
@@ -2351,6 +2375,18 @@
   strict mode: 'Test262Error: Expected SameValue(«[object AsyncGenerator]», «[object AsyncGenerator]») to be false'
 test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js:
   default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all'
+test/language/expressions/await/async-await-interleaved.js:
+  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'
+  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'
+test/language/expressions/await/async-generator-interleaved.js:
+  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'
+  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'
+test/language/expressions/await/await-monkey-patched-promise.js:
+  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'
+  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'
+test/language/expressions/await/for-await-of-interleaved.js:
+  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'
+  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'
 test/language/expressions/call/eval-realm-indirect.js:
   default: 'Test262Error: Expected SameValue(«inside», «outside») to be true'
 test/language/expressions/call/eval-spread-empty-leading.js:
@@ -2690,6 +2726,35 @@
 test/language/expressions/conditional/in-branch-1.js:
   default: "SyntaxError: Unexpected keyword 'in'. Expected ':' in ternary operator."
   strict mode: "SyntaxError: Unexpected keyword 'in'. Expected ':' in ternary operator."
+test/language/expressions/dynamic-import/catch/nested-async-gen-await-eval-script-code-target.js:
+  module: 'Test262:AsyncTestFailure:Test262Error: [object Object]'
+test/language/expressions/dynamic-import/catch/nested-async-gen-return-await-eval-script-code-target.js:
+  module: 'Test262:AsyncTestFailure:Test262Error: [object Object]'
+test/language/expressions/dynamic-import/for-await-resolution-and-error-agen-yield.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: f Expected SameValue(«null», «foo») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: f Expected SameValue(«null», «foo») to be true'
+test/language/expressions/dynamic-import/namespace/await-ns-define-own-property.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
+test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-direct.js:
+  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-dflt-indirect.js:
+  module: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+test/language/expressions/dynamic-import/namespace/await-ns-get-nested-namespace-props-nrml.js:
+  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+test/language/expressions/dynamic-import/namespace/promise-then-ns-define-own-property.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: No change requested, Reflect.defineProperty: local1 Expected SameValue(«false», «true») to be true'
+test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-direct.js:
+  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-dflt-indirect.js:
+  module: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+test/language/expressions/dynamic-import/namespace/promise-then-ns-get-nested-namespace-props-nrml.js:
+  default: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
+  strict mode: "Test262:AsyncTestFailure:SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name."
 test/language/expressions/function/eval-var-scope-syntax-err.js:
   default: 'Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all'
 test/language/expressions/function/scope-body-lex-distinct.js:
@@ -3248,6 +3313,15 @@
 test/language/statements/async-generator/generator-created-after-decl-inst.js:
   default: 'Test262Error: Expected SameValue(«[object AsyncGenerator]», «[object AsyncGenerator]») to be false'
   strict mode: 'Test262Error: Expected SameValue(«[object AsyncGenerator]», «[object AsyncGenerator]») to be false'
+test/language/statements/async-generator/return-undefined-implicit-and-explicit.js:
+  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'
+  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'
+test/language/statements/async-generator/yield-return-then-getter-ticks.js:
+  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'
+  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'
+test/language/statements/async-generator/yield-star-return-then-getter-ticks.js:
+  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'
+  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'
 test/language/statements/class/class-name-ident-await-escaped.js:
   default: "SyntaxError: Unexpected escaped characters in keyword token: 'aw\\u0061it'"
   strict mode: "SyntaxError: Unexpected escaped characters in keyword token: 'aw\\u0061it'"
@@ -3407,6 +3481,9 @@
   strict mode: 'Test262Error: Expected a TypeError to be thrown but no exception was thrown at all'
 test/language/statements/do-while/let-array-with-newline.js:
   default: 'Test262: This statement should not be evaluated.'
+test/language/statements/for-await-of/async-from-sync-iterator-continuation-abrupt-completion-get-constructor.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, tick 2, catch] to have the same contents. '
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected [start, tick 1, tick 2] and [start, tick 1, tick 2, catch] to have the same contents. '
 test/language/statements/for-await-of/async-func-decl-dstr-array-elem-nested-array-invalid.js:
   default: 'Test262: This statement should not be evaluated.'
   strict mode: 'Test262: This statement should not be evaluated.'
@@ -3415,8 +3492,17 @@
   strict mode: 'Test262: This statement should not be evaluated.'
 test/language/statements/for-await-of/async-func-decl-dstr-array-elem-target-simple-strict.js:
   strict mode: 'Test262: This statement should not be evaluated.'
+test/language/statements/for-await-of/iterator-close-throw-get-method-abrupt.js:
+  default: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«function Object() {'
+  strict mode: 'Test262:AsyncTestFailure:Test262Error: Test262Error: Expected SameValue(«function Object() {'
 test/language/statements/for-await-of/let-array-with-newline.js:
   default: 'Test262: This statement should not be evaluated.'
+test/language/statements/for-await-of/ticks-with-async-iter-resolved-promise-and-constructor-lookup-two.js:
+  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'
+  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'
+test/language/statements/for-await-of/ticks-with-sync-iter-resolved-promise-and-constructor-lookup.js:
+  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'
+  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'
 test/language/statements/for-in/12.6.4-2.js:
   default: 'Test262Error: accessedProp Expected SameValue(«true», «false») to be true'
   strict mode: 'Test262Error: accessedProp Expected SameValue(«true», «false») to be true'

Modified: trunk/Tools/ChangeLog (259667 => 259668)


--- trunk/Tools/ChangeLog	2020-04-07 20:23:50 UTC (rev 259667)
+++ trunk/Tools/ChangeLog	2020-04-07 20:49:06 UTC (rev 259668)
@@ -1,3 +1,17 @@
+2020-04-07  Alexey Shvayka  <[email protected]>
+
+        test262/Runner.pm ignores "async" flag
+        https://bugs.webkit.org/show_bug.cgi?id=210127
+
+        Reviewed by Ross Kirsling.
+
+        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):
+
 2020-04-07  Truitt Savell  <[email protected]>
 
         Unreviewed, reverting r259446.

Modified: trunk/Tools/Scripts/test262/Runner.pm (259667 => 259668)


--- trunk/Tools/Scripts/test262/Runner.pm	2020-04-07 20:23:50 UTC (rev 259667)
+++ trunk/Tools/Scripts/test262/Runner.pm	2020-04-07 20:49:06 UTC (rev 259668)
@@ -795,8 +795,7 @@
     }
 
     if (exists $data->{flags}) {
-        my @flags = $data->{flags};
-        if (grep $_ eq 'async', @flags) {
+        if (grep $_ eq 'async', @{ $data->{flags} }) {
             $args .= ' --test262-async ';
         }
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to