summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pennisi <mike@mikepennisi.com>2016-02-12 12:59:51 -0500
committerMike Pennisi <mike@mikepennisi.com>2016-02-12 13:03:19 -0500
commit23d566209a2bccc14d572e0bd81394a9f99ca272 (patch)
treeb9b3656f40cc836ad737eadb627d0930d6695368
parent5cb97c293b4a44ee1c31961a07663993c521fb5f (diff)
downloadqtdeclarative-testsuites-23d566209a2bccc14d572e0bd81394a9f99ca272.tar.gz
Make asynchronous test configuration explicit
For asynchronous tests, the contract between test file and test runner is implicit: runners are expected to inspect the source code for references to a global `$DONE` identifier. Promote a more explicit contract between test file and test runner by introducing a new frontmatter "tag", `async`. This brings asynchronous test configuration in-line with other configuration mechanisms and also provides a more natural means of test filtering. The modifications to test files was made programatically using the `grep` and `sed` utilities: $ grep "\$DONE" test/ -r --files-with-match --null | \ xargs -0 sed -i 's/^\(flags:\s*\)\[/\1[async, /g' $ grep "\$DONE" test/ -rl --null | \ xargs -0 grep -E '^flags:' --files-without-match --null | \ xargs -0 sed -i 's/^---\*\//flags: [async]\n---*\//'
-rw-r--r--CONTRIBUTING.md4
-rw-r--r--test/built-ins/Promise/S25.4.3.1_A2.3_T1.js1
-rw-r--r--test/built-ins/Promise/S25.4.3.1_A2.4_T1.js1
-rw-r--r--test/built-ins/Promise/S25.4.3.1_A4.1_T1.js1
-rw-r--r--test/built-ins/Promise/S25.4.3.1_A5.1_T1.js2
-rw-r--r--test/built-ins/Promise/S25.4.3.1_A5.1_T2.js2
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js1
-rw-r--r--test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js1
-rwxr-xr-xtest/built-ins/Promise/all/does-not-invoke-array-setters.js1
-rw-r--r--test/built-ins/Promise/all/invoke-resolve-get-error.js1
-rw-r--r--test/built-ins/Promise/all/invoke-then-error.js1
-rw-r--r--test/built-ins/Promise/all/iter-next-val-err.js1
-rw-r--r--test/built-ins/Promise/all/iter-step-err.js1
-rw-r--r--test/built-ins/Promise/all/reject-deferred.js1
-rw-r--r--test/built-ins/Promise/all/reject-ignored-deferred.js1
-rw-r--r--test/built-ins/Promise/all/reject-ignored-immed.js1
-rw-r--r--test/built-ins/Promise/all/reject-immed.js1
-rw-r--r--test/built-ins/Promise/all/resolve-non-thenable.js1
-rw-r--r--test/built-ins/Promise/all/resolve-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/all/resolve-thenable.js1
-rwxr-xr-xtest/built-ins/Promise/exception-after-resolve-in-executor.js1
-rwxr-xr-xtest/built-ins/Promise/exception-after-resolve-in-thenable-job.js1
-rw-r--r--test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js1
-rw-r--r--test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js1
-rwxr-xr-xtest/built-ins/Promise/prototype/then/deferred-is-resolved-value.js1
-rw-r--r--test/built-ins/Promise/prototype/then/prfm-fulfilled.js1
-rw-r--r--test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js1
-rw-r--r--test/built-ins/Promise/prototype/then/prfm-pending-rejected.js1
-rw-r--r--test/built-ins/Promise/prototype/then/prfm-rejected.js1
-rw-r--r--test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js1
-rw-r--r--test/built-ins/Promise/prototype/then/reject-pending-rejected.js1
-rw-r--r--test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js1
-rw-r--r--test/built-ins/Promise/prototype/then/reject-settled-rejected.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js1
-rw-r--r--test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js2
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js2
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-identity.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js2
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js2
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js1
-rw-r--r--test/built-ins/Promise/prototype/then/rxn-handler-thrower.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js1
-rw-r--r--test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js1
-rw-r--r--test/built-ins/Promise/race/invoke-resolve-get-error.js1
-rw-r--r--test/built-ins/Promise/race/invoke-then-error.js1
-rw-r--r--test/built-ins/Promise/race/iter-close.js1
-rw-r--r--test/built-ins/Promise/race/iter-next-val-err.js1
-rw-r--r--test/built-ins/Promise/race/iter-step-err.js1
-rw-r--r--test/built-ins/Promise/race/reject-deferred.js1
-rw-r--r--test/built-ins/Promise/race/reject-ignored-deferred.js1
-rw-r--r--test/built-ins/Promise/race/reject-ignored-immed.js1
-rw-r--r--test/built-ins/Promise/race/reject-immed.js1
-rw-r--r--test/built-ins/Promise/race/resolve-non-obj.js1
-rw-r--r--test/built-ins/Promise/race/resolve-non-thenable.js1
-rw-r--r--test/built-ins/Promise/race/resolve-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/race/resolve-self.js1
-rw-r--r--test/built-ins/Promise/race/resolve-thenable.js1
-rw-r--r--test/built-ins/Promise/reject-ignored-via-abrupt.js1
-rw-r--r--test/built-ins/Promise/reject-ignored-via-fn-deferred.js1
-rw-r--r--test/built-ins/Promise/reject-ignored-via-fn-immed.js1
-rw-r--r--test/built-ins/Promise/reject-via-abrupt.js1
-rw-r--r--test/built-ins/Promise/reject-via-fn-deferred.js1
-rw-r--r--test/built-ins/Promise/reject-via-fn-immed.js1
-rw-r--r--test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js1
-rw-r--r--test/built-ins/Promise/resolve-non-obj-deferred.js1
-rw-r--r--test/built-ins/Promise/resolve-non-obj-immed.js1
-rw-r--r--test/built-ins/Promise/resolve-non-thenable-deferred.js1
-rw-r--r--test/built-ins/Promise/resolve-non-thenable-immed.js1
-rw-r--r--test/built-ins/Promise/resolve-poisoned-then-deferred.js1
-rw-r--r--test/built-ins/Promise/resolve-poisoned-then-immed.js1
-rw-r--r--test/built-ins/Promise/resolve-self.js1
-rw-r--r--test/built-ins/Promise/resolve-thenable-deferred.js1
-rw-r--r--test/built-ins/Promise/resolve-thenable-immed.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js1
-rw-r--r--test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js1
-rw-r--r--test/built-ins/Promise/resolve/arg-non-thenable.js1
-rw-r--r--test/built-ins/Promise/resolve/arg-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/resolve/resolve-non-obj.js1
-rw-r--r--test/built-ins/Promise/resolve/resolve-non-thenable.js1
-rw-r--r--test/built-ins/Promise/resolve/resolve-poisoned-then.js1
-rw-r--r--test/built-ins/Promise/resolve/resolve-self.js1
-rw-r--r--test/built-ins/Promise/resolve/resolve-thenable.js1
-rwxr-xr-xtools/packaging/test262.py2
148 files changed, 150 insertions, 8 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index da3971ea5..127673563 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -128,6 +128,8 @@ This tag is for boolean properties associated with the test.
- **`raw`** - execute the test without any modification (no helpers will be
available); necessary to test the behavior of directive prologue; implies
`noStrict`
+- **`async`** - defer interpretation of test results until after the invocation
+ of the global $DONE` function
#### features
**features**: [list]
@@ -198,7 +200,7 @@ assert.throws(ReferenceError, function() {
## Writing Asynchronous Tests
-An asynchronous test is any test that includes the string `$DONE` anywhere in the test file. The test runner checks for the presence of this string; if it is found, the runner expects that the `$DONE()` function will be called to signal test completion.
+An asynchronous test is any test that include the `async` frontmatter flag. When executing such tests, the runner expects that the global `$DONE()` function will be called to signal test completion.
* If the argument to `$DONE` is omitted, is `undefined`, or is any other falsy value, the test is considered to have passed.
diff --git a/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js b/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js
index 01574d12e..22690161b 100644
--- a/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js
+++ b/test/built-ins/Promise/S25.4.3.1_A2.3_T1.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.3.1_A2.3_T1
author: Sam Mikes
description: Promise.call(resolved Promise) throws TypeError
+flags: [async]
---*/
var p = new Promise(function(resolve) { resolve(1); });
diff --git a/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js b/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js
index 79666fdfd..8151f8b66 100644
--- a/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js
+++ b/test/built-ins/Promise/S25.4.3.1_A2.4_T1.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.3.1_A2.4_T1
author: Sam Mikes
description: Promise.call(rejected Promise) throws TypeError
+flags: [async]
---*/
var p = new Promise(function(resolve, reject) { reject(1) });
diff --git a/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js b/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js
index 577cb3c1f..649418b7e 100644
--- a/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js
+++ b/test/built-ins/Promise/S25.4.3.1_A4.1_T1.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.3.1_A4.1_T1
author: Sam Mikes
description: new Promise(function () { throw }) should reject
+flags: [async]
---*/
var errorObject = {},
diff --git a/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js b/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js
index 5ad54e756..f74ccebdd 100644
--- a/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js
+++ b/test/built-ins/Promise/S25.4.3.1_A5.1_T1.js
@@ -9,7 +9,7 @@ info: >
es6id: S25.4.3.1_A5.1_T1
author: Sam Mikes
description: Promise executor gets default handling for 'this'
-flags: [noStrict]
+flags: [async, noStrict]
includes: [fnGlobalObject.js]
---*/
diff --git a/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js b/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js
index a3dde9192..c8458c9be 100644
--- a/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js
+++ b/test/built-ins/Promise/S25.4.3.1_A5.1_T2.js
@@ -9,7 +9,7 @@ info: >
es6id: S25.4.3.1_A5.1_T2
author: Sam Mikes
description: Promise executor gets default handling for 'this'
-flags: [onlyStrict]
+flags: [async, onlyStrict]
---*/
var expectedThis = undefined;
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js
index 9cd7d1715..a34fb70f6 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A2.2_T1.js
@@ -7,6 +7,7 @@ es6id: 25.4.4.1_A2.2_T1
author: Sam Mikes
includes: [PromiseHelper.js]
description: Promise.all([]) returns immediately
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
index fe60c2a75..1b61ede66 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T1.js
@@ -6,6 +6,7 @@ info: Promise.all([]) returns a promise for a new empty array
es6id: 25.4.4.1_A2.3_T1
author: Sam Mikes
description: Promise.all([]) returns a promise for an array
+flags: [async]
---*/
var arg = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
index fdfeb567c..77cd2628e 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T2.js
@@ -6,6 +6,7 @@ info: Promise.all is resolved with a new empty array
es6id: 25.4.4.1_A2.3_T2
author: Sam Mikes
description: Promise.all([]) returns a Promise for an empty array
+flags: [async]
---*/
var arg = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
index c936a4d75..5dc1568eb 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A2.3_T3.js
@@ -6,6 +6,7 @@ info: Promise.all([]) is resolved with Promise for a new empty array
es6id: 25.4.4.1_A2.3_T3
author: Sam Mikes
description: Promise.all([]) is resolved with a Promise for a new array
+flags: [async]
---*/
var arg = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
index 52023add1..3022972a3 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T1.js
@@ -9,6 +9,7 @@ info: >
es6id: 25.4.4.1_A3.1_T1
author: Sam Mikes
description: Promise.all(3) returns Promise rejected with TypeError
+flags: [async]
---*/
var nonIterable = 3;
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
index e04642824..b17b42269 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T2.js
@@ -10,6 +10,7 @@ info: >
es6id: S25.4.4.1_A3.1_T2
author: Sam Mikes
description: Promise.all(new Error()) returns Promise rejected with TypeError
+flags: [async]
---*/
Promise.all(new Error("abrupt")).then(function () {
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
index 568d5d170..73b5230b4 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A3.1_T3.js
@@ -9,6 +9,7 @@ es6id: S25.4.4.1_A3.1_T3
author: Sam Mikes
description: Promise.all((throw on GetIterator)) returns Promise rejected with TypeError
features: [Symbol.iterator]
+flags: [async]
---*/
var iterThrows = {};
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
index 31acd2a6a..1720f8ede 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A5.1_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.4.1_A5.1_T1
author: Sam Mikes
description: iterator.next throws, causing Promise.all to reject
features: [Symbol.iterator]
+flags: [async]
---*/
var iterThrows = {};
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js
index ef9f9dbe9..3671b7bb1 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A6.1_T2.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.4.1_A6.1_T2
author: Sam Mikes
description: Promise.all([]) returns a promise for an empty array
+flags: [async]
---*/
var p = Promise.all([]);
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
index cc1152b0e..4b0636e0c 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A7.1_T1.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.4.1_A6.1_T2
author: Sam Mikes
description: Promise.all([p1]) is resolved with a promise for a one-element array
+flags: [async]
---*/
var p1 = Promise.resolve(3);
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js
index 10fd49895..2ce3ad82a 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A7.2_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.4.1_A7.2_T1
author: Sam Mikes
description: Promise.all() accepts a one-element array
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js
index 7e3df638e..d9e9cac5a 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A8.1_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.1_A8.1_T1
author: Sam Mikes
description: Promise.all([p1, p2]) resolution functions are called in predictable sequence
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
index 2bc4ba363..e8f1320f7 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T1.js
@@ -8,6 +8,7 @@ es6id: S25.4.4.1_A8.1_T1
author: Sam Mikes
description: Promise.all() rejects when a promise in its array rejects
includes: [PromiseHelper.js]
+flags: [async]
---*/
var rejectP1,
diff --git a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
index fdd2d449a..58151d140 100644
--- a/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
+++ b/test/built-ins/Promise/all/S25.4.4.1_A8.2_T2.js
@@ -8,6 +8,7 @@ es6id: S25.4.4.1_A8.2_T2
author: Sam Mikes
description: Promise.all() rejects when second promise in array rejects
includes: [PromiseHelper.js]
+flags: [async]
---*/
var rejectP2,
diff --git a/test/built-ins/Promise/all/does-not-invoke-array-setters.js b/test/built-ins/Promise/all/does-not-invoke-array-setters.js
index baac7abeb..364204a8a 100755
--- a/test/built-ins/Promise/all/does-not-invoke-array-setters.js
+++ b/test/built-ins/Promise/all/does-not-invoke-array-setters.js
@@ -24,6 +24,7 @@ info: >
a. Let status be CreateDataProperty(array, ToString(n), e).
b. Assert: status is true.
...
+flags: [async]
---*/
Object.defineProperty(Array.prototype, 0, {
diff --git a/test/built-ins/Promise/all/invoke-resolve-get-error.js b/test/built-ins/Promise/all/invoke-resolve-get-error.js
index d7b7a092c..70c220f0b 100644
--- a/test/built-ins/Promise/all/invoke-resolve-get-error.js
+++ b/test/built-ins/Promise/all/invoke-resolve-get-error.js
@@ -21,6 +21,7 @@ info: >
[...]
i. Let nextPromise be Invoke(constructor, "resolve", «nextValue»).
j. ReturnIfAbrupt(nextPromise ).
+flags: [async]
---*/
var error = new Test262Error();
diff --git a/test/built-ins/Promise/all/invoke-then-error.js b/test/built-ins/Promise/all/invoke-then-error.js
index 957093f2b..a3fef19b0 100644
--- a/test/built-ins/Promise/all/invoke-then-error.js
+++ b/test/built-ins/Promise/all/invoke-then-error.js
@@ -22,6 +22,7 @@ info: >
r. Let result be Invoke(nextPromise, "then", «resolveElement,
resultCapability.[[Reject]]»).
s. ReturnIfAbrupt(result).
+flags: [async]
---*/
var promise = new Promise(function() {});
diff --git a/test/built-ins/Promise/all/iter-next-val-err.js b/test/built-ins/Promise/all/iter-next-val-err.js
index 902e7823e..20a4d8f8e 100644
--- a/test/built-ins/Promise/all/iter-next-val-err.js
+++ b/test/built-ins/Promise/all/iter-next-val-err.js
@@ -24,6 +24,7 @@ info: >
true.
g. ReturnIfAbrupt(nextValue).
features: [Symbol.iterator]
+flags: [async]
---*/
var iterNextValThrows = {};
diff --git a/test/built-ins/Promise/all/iter-step-err.js b/test/built-ins/Promise/all/iter-step-err.js
index 6dcf6c761..9ef1430b8 100644
--- a/test/built-ins/Promise/all/iter-step-err.js
+++ b/test/built-ins/Promise/all/iter-step-err.js
@@ -23,6 +23,7 @@ info: >
true.
c. ReturnIfAbrupt(next).
features: [Symbol.iterator]
+flags: [async]
---*/
var iterStepThrows = {};
diff --git a/test/built-ins/Promise/all/reject-deferred.js b/test/built-ins/Promise/all/reject-deferred.js
index 6b7d43a1e..785fe8fde 100644
--- a/test/built-ins/Promise/all/reject-deferred.js
+++ b/test/built-ins/Promise/all/reject-deferred.js
@@ -20,6 +20,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/all/reject-ignored-deferred.js b/test/built-ins/Promise/all/reject-ignored-deferred.js
index 874e1d40f..aaf33eca1 100644
--- a/test/built-ins/Promise/all/reject-ignored-deferred.js
+++ b/test/built-ins/Promise/all/reject-ignored-deferred.js
@@ -25,6 +25,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var fulfiller = {
diff --git a/test/built-ins/Promise/all/reject-ignored-immed.js b/test/built-ins/Promise/all/reject-ignored-immed.js
index 6ef29d1c6..9f3e190ca 100644
--- a/test/built-ins/Promise/all/reject-ignored-immed.js
+++ b/test/built-ins/Promise/all/reject-ignored-immed.js
@@ -25,6 +25,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var fulfiller = {
diff --git a/test/built-ins/Promise/all/reject-immed.js b/test/built-ins/Promise/all/reject-immed.js
index ce7ff4c49..74560c777 100644
--- a/test/built-ins/Promise/all/reject-immed.js
+++ b/test/built-ins/Promise/all/reject-immed.js
@@ -20,6 +20,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/all/resolve-non-thenable.js b/test/built-ins/Promise/all/resolve-non-thenable.js
index 659e10a21..0c2905a64 100644
--- a/test/built-ins/Promise/all/resolve-non-thenable.js
+++ b/test/built-ins/Promise/all/resolve-non-thenable.js
@@ -31,6 +31,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var v1 = {};
diff --git a/test/built-ins/Promise/all/resolve-poisoned-then.js b/test/built-ins/Promise/all/resolve-poisoned-then.js
index b8a17cf4f..0d4722e10 100644
--- a/test/built-ins/Promise/all/resolve-poisoned-then.js
+++ b/test/built-ins/Promise/all/resolve-poisoned-then.js
@@ -40,6 +40,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/all/resolve-thenable.js b/test/built-ins/Promise/all/resolve-thenable.js
index 99b32585d..4651422d0 100644
--- a/test/built-ins/Promise/all/resolve-thenable.js
+++ b/test/built-ins/Promise/all/resolve-thenable.js
@@ -45,6 +45,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/exception-after-resolve-in-executor.js b/test/built-ins/Promise/exception-after-resolve-in-executor.js
index 747c56279..b5ae4ee5a 100755
--- a/test/built-ins/Promise/exception-after-resolve-in-executor.js
+++ b/test/built-ins/Promise/exception-after-resolve-in-executor.js
@@ -15,6 +15,7 @@ info: >
a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «completion.[[value]]»).
b. ReturnIfAbrupt(status).
...
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js b/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js
index f10db969b..3cd4585ed 100755
--- a/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js
+++ b/test/built-ins/Promise/exception-after-resolve-in-thenable-job.js
@@ -14,6 +14,7 @@ info: >
a. Let status be Call(resolvingFunctions.[[Reject]], undefined, «thenCallResult.[[value]]»)
b. NextJob Completion(status).
...
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
index 036905899..6bfb34c1d 100644
--- a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
+++ b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T1.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.5.1_A3.1_T1
author: Sam Mikes
description: catch is implemented in terms of then
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
index a1624e162..fd2cff8d2 100644
--- a/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
+++ b/test/built-ins/Promise/prototype/catch/S25.4.5.1_A3.1_T2.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.5.1_A3.1_T2
author: Sam Mikes
description: catch is implemented in terms of then
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js
index f248d345c..a1c2edcc7 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.4_A1.1_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.2.1_A3.2_T2
author: Sam Mikes
description: Promise onResolved functions are called in predictable sequence
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js
index 1daafe552..33c1f555a 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T1.js
@@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T1
author: Sam Mikes
description: Promise onResolved functions are called in predictable sequence
includes: [PromiseHelper.js]
+flags: [async]
---*/
var resolveP1, rejectP2, sequence = [];
diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js
index 8bebe8187..b5bf2c89e 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T2.js
@@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T2
author: Sam Mikes
description: Promise onResolved functions are called in predictable sequence
includes: [PromiseHelper.js]
+flags: [async]
---*/
var resolveP1, rejectP2, p1, p2,
diff --git a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js
index 2476658a1..17992e001 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.4_A2.1_T3.js
@@ -10,6 +10,7 @@ es6id: S25.4.4_A2.1_T3
author: Sam Mikes
description: Promise onResolved functions are called in predictable sequence
includes: [PromiseHelper.js]
+flags: [async]
---*/
var resolveP1, rejectP2, p1, p2,
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
index 960604db5..e70669dcf 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T1.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.5.3_A4.1_T1
author: Sam Mikes
description: Promise.prototype.then accepts 'undefined' as arg1, arg2
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
index 3c817f4f8..660cc633b 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.1_T2.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.5.3_A4.1_T2
author: Sam Mikes
description: Promise.prototype.then accepts 'undefined' as arg1, arg2
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
index 978e1b52a..76e1b6f4e 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T1.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.5.3_A4.2_T1
author: Sam Mikes
description: Promise.prototype.then treats non-callable arg1, arg2 as undefined
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
index 41bec78e6..37e3efb5b 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A4.2_T2.js
@@ -8,6 +8,7 @@ info: >
es6id: S25.4.5.3_A4.2_T2
author: Sam Mikes
description: Promise.prototype.then treats non-callable arg1, arg2 as undefined
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js
index c10f53403..b97ae3fc9 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.1_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.1_T1
author: Sam Mikes
description: Promise.prototype.then enqueues handler if pending
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [],
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js
index 46c05ad91..92ad8b82d 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.2_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.2_T1
author: Sam Mikes
description: Promise.prototype.then immediately queues handler if fulfilled
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [],
diff --git a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
index d41180713..27c65f269 100644
--- a/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
+++ b/test/built-ins/Promise/prototype/then/S25.4.5.3_A5.3_T1.js
@@ -9,6 +9,7 @@ es6id: S25.4.5.3_A5.3_T1
author: Sam Mikes
description: Promise.prototype.then immediately queues handler if rejected
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [],
diff --git a/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js b/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js
index 62063fde4..4b471cd01 100755
--- a/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js
+++ b/test/built-ins/Promise/prototype/then/deferred-is-resolved-value.js
@@ -34,6 +34,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined, «handlerResult.[[value]]»).
9. NextJob Completion(status).
features: [class]
+flags: [async]
---*/
var createBadPromise = false;
diff --git a/test/built-ins/Promise/prototype/then/prfm-fulfilled.js b/test/built-ins/Promise/prototype/then/prfm-fulfilled.js
index ac49fee03..3d8ddee07 100644
--- a/test/built-ins/Promise/prototype/then/prfm-fulfilled.js
+++ b/test/built-ins/Promise/prototype/then/prfm-fulfilled.js
@@ -16,6 +16,7 @@ info: >
b. Perform EnqueueJob("PromiseJobs", PromiseReactionJob,
«fulfillReaction, value»).
[...]
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js b/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js
index b0d63c056..94f4b1400 100644
--- a/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js
+++ b/test/built-ins/Promise/prototype/then/prfm-pending-fulfulled.js
@@ -16,6 +16,7 @@ info: >
b. Append rejectReaction as the last element of the List that is the
value of promise's [[PromiseRejectReactions]] internal slot.
[...]
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js b/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js
index 23afce4b3..083df48d7 100644
--- a/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js
+++ b/test/built-ins/Promise/prototype/then/prfm-pending-rejected.js
@@ -16,6 +16,7 @@ info: >
b. Append rejectReaction as the last element of the List that is the
value of promise's [[PromiseRejectReactions]] internal slot.
[...]
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/prfm-rejected.js b/test/built-ins/Promise/prototype/then/prfm-rejected.js
index 727eea81f..6e91adcda 100644
--- a/test/built-ins/Promise/prototype/then/prfm-rejected.js
+++ b/test/built-ins/Promise/prototype/then/prfm-rejected.js
@@ -16,6 +16,7 @@ info: >
b. Perform EnqueueJob("PromiseJobs", PromiseReactionJob,
«rejectReaction, reason»).
[...]
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js b/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js
index f89ea8a8a..07584596e 100644
--- a/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js
+++ b/test/built-ins/Promise/prototype/then/reject-pending-fulfilled.js
@@ -18,6 +18,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var resolve;
diff --git a/test/built-ins/Promise/prototype/then/reject-pending-rejected.js b/test/built-ins/Promise/prototype/then/reject-pending-rejected.js
index fee406619..bcbca0d1a 100644
--- a/test/built-ins/Promise/prototype/then/reject-pending-rejected.js
+++ b/test/built-ins/Promise/prototype/then/reject-pending-rejected.js
@@ -19,6 +19,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var reject;
diff --git a/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js b/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js
index bc638eaf5..32a0a6a3b 100644
--- a/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js
+++ b/test/built-ins/Promise/prototype/then/reject-settled-fulfilled.js
@@ -26,6 +26,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = new Promise(function(resolve) { resolve(); });
diff --git a/test/built-ins/Promise/prototype/then/reject-settled-rejected.js b/test/built-ins/Promise/prototype/then/reject-settled-rejected.js
index 487b94444..042fa2559 100644
--- a/test/built-ins/Promise/prototype/then/reject-settled-rejected.js
+++ b/test/built-ins/Promise/prototype/then/reject-settled-rejected.js
@@ -26,6 +26,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = new Promise(function(resolve) { resolve(); });
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js
index 65f95ba0b..fde854afa 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-obj.js
@@ -18,6 +18,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var resolve;
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js
index 8012d94a7..e2ecdf7b7 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-non-thenable.js
@@ -23,6 +23,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js
index 9abf9511e..1d050c6a3 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-poisoned-then.js
@@ -20,6 +20,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js
index 9a2f1da69..e588fe940 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-self.js
@@ -20,6 +20,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var resolve;
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js
index a6153bc8f..de26a1325 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-fulfilled-thenable.js
@@ -25,6 +25,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js
index 576cdf006..0bbf700b0 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-obj.js
@@ -19,6 +19,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var reject;
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js
index 95191b0b8..4087ddfee 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-non-thenable.js
@@ -24,6 +24,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js
index f7808d038..db166e806 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-poisoned-then.js
@@ -21,6 +21,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js
index 87937e398..e30f32ec6 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-self.js
@@ -21,6 +21,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var reject;
diff --git a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js
index bb33553bd..1ebbfbcb0 100644
--- a/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-pending-rejected-thenable.js
@@ -26,6 +26,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js
index 35e9e3f7f..3f39485e5 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-obj.js
@@ -25,6 +25,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var p1 = new Promise(function(resolve) { resolve(); });
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js
index 07c40145a..1166af3a7 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-non-thenable.js
@@ -30,6 +30,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js
index ef5a9e083..9254f36e1 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-poisoned-then.js
@@ -27,6 +27,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js
index d97a348c2..ac2630247 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-self.js
@@ -27,6 +27,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var p1 = new Promise(function(resolve) { resolve(); });
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js
index 86691de55..447c248b5 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-fulfilled-thenable.js
@@ -32,6 +32,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js
index f9151850d..bd1ccb950 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-obj.js
@@ -25,6 +25,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var p1 = new Promise(function(_, reject) { reject(); });
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js
index 421376088..92c48e7b8 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-non-thenable.js
@@ -30,6 +30,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js
index 785f557b7..b276b27ac 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-poisoned-then.js
@@ -27,6 +27,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js
index cfdf3e4b0..5aa5d6a2e 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-self.js
@@ -27,6 +27,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var p1 = new Promise(function(_, reject) { reject(); });
diff --git a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js
index 9d1ee3f62..65656f39f 100644
--- a/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js
+++ b/test/built-ins/Promise/prototype/then/resolve-settled-rejected-thenable.js
@@ -32,6 +32,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js
index c149da931..7861def38 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-nonstrict.js
@@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.1_T1
author: Sam Mikes
description: >
"fulfilled" handler invoked correctly outside of strict mode
-flags: [noStrict]
+flags: [async, noStrict]
includes: [fnGlobalObject.js]
---*/
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js
index 33068c06e..fef11c32c 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-invoke-strict.js
@@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.1_T2
author: Sam Mikes
description: >
"fulfilled" handler invoked correctly in strict mode
-flags: [onlyStrict]
+flags: [async, onlyStrict]
---*/
var expectedThis = undefined,
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js
index 00d6aeff0..06816900d 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next-abrupt.js
@@ -12,6 +12,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var promise = new Promise(function(resolve) {
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js
index 1443459a1..287036209 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-next.js
@@ -12,6 +12,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var promise = new Promise(function(resolve) {
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js
index 429c3171f..88ad121f2 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-abrupt.js
@@ -25,6 +25,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js
index 4437d5fb7..752068bc4 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-fulfilled-return-normal.js
@@ -25,6 +25,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-identity.js b/test/built-ins/Promise/prototype/then/rxn-handler-identity.js
index 6230f9c9b..153731945 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-identity.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-identity.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.2.1_A1.1_T1
author: Sam Mikes
description: argument passes through "Identity"
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js
index ee2bff372..d01480d0c 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-nonstrict.js
@@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.2_T1
author: Sam Mikes
description: >
"rejected" handler invoked correctly outside of strict mode
-flags: [noStrict]
+flags: [async, noStrict]
includes: [fnGlobalObject.js]
---*/
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js
index c782ddb9d..116ea1a14 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-invoke-strict.js
@@ -9,7 +9,7 @@ es6id: S25.4.2.1_A3.2_T2
author: Sam Mikes
description: >
"rejected" handler invoked correctly in strict mode
-flags: [onlyStrict]
+flags: [async, onlyStrict]
---*/
var expectedThis = undefined,
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js
index 6c3d18b40..f217bddcb 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next-abrupt.js
@@ -12,6 +12,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var promise = new Promise(function(_, reject) {
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js
index 59a3916b3..9ab10d84a 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-next.js
@@ -12,6 +12,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var promise = new Promise(function(_, reject) {
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js
index 5b95a5a04..857e0b6e8 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-abrupt.js
@@ -25,6 +25,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js
index 1277801c5..80adf6382 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-rejected-return-normal.js
@@ -25,6 +25,7 @@ info: >
8. Let status be Call(promiseCapability.[[Resolve]], undefined,
«handlerResult.[[value]]»).
9. NextJob Completion(status).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js b/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js
index 437792f97..d2d9cacd8 100644
--- a/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js
+++ b/test/built-ins/Promise/prototype/then/rxn-handler-thrower.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.2.1_A2.1_T1
author: Sam Mikes
description: argument thrown through "Thrower"
+flags: [async]
---*/
var obj = {};
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
index 70e2f001b..87a7c610a 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T1.js
@@ -6,6 +6,7 @@ info: Promise.race rejects on non-iterable argument
es6id: S25.4.4.3_A2.2_T1
author: Sam Mikes
description: Promise.race rejects if argument is not object or is non-iterable
+flags: [async]
---*/
var nonIterable = 3;
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
index e4188ee45..cca930722 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T2.js
@@ -6,6 +6,7 @@ info: Promise.race rejects on non-iterable argument
es6id: S25.4.4.3_A2.2_T2
author: Sam Mikes
description: Promise.race rejects if argument is not object or is non-iterable
+flags: [async]
---*/
Promise.race(new Error("abrupt")).then(function () {
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
index 1714b4f18..464d62135 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A2.2_T3.js
@@ -10,6 +10,7 @@ es6id: S25.4.4.3_A2.2_T3
author: Sam Mikes
description: Promise.race rejects if GetIterator throws
features: [Symbol.iterator]
+flags: [async]
---*/
var iterThrows = {};
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
index e6228c373..a325a995b 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A4.1_T1
author: Sam Mikes
description: Promise.race rejects if IteratorStep throws
features: [Symbol.iterator]
+flags: [async]
---*/
var iterThrows = {};
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
index b3158a1e3..00ac77d1b 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A4.1_T2.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A4.1_T2
author: Sam Mikes
description: Promise.race rejects if IteratorStep throws
features: [Symbol.iterator]
+flags: [async]
---*/
var iterThrows = {};
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js
index cc9042d2a..e5b7526fd 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A5.1_T1.js
@@ -5,6 +5,7 @@
es6id: S25.4.4.3_A5.1_T1
author: Sam Mikes
description: Promise.race([]) never settles
+flags: [async]
---*/
var p = Promise.race([]);
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js
index e3a8cb608..99c327c5c 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A6.1_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A6.1_T1
author: Sam Mikes
description: Promise.race([1]) settles immediately
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
index 35b71d966..93468f869 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A6.2_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A6.2_T1
author: Sam Mikes
description: Promise.race([p1]) settles immediately
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
index 8e5636a79..9f0848429 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T1
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
index a07716d6b..6f4030d7d 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T2.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T2
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
index 941d79474..047dd65d2 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.1_T3.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.1_T3
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
index 6dbf6fc95..fbbdcf95e 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.2_T1.js
@@ -6,6 +6,7 @@ es6id: S25.4.4.3_A7.2_T1
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
index aedf18bfe..02dad7f9d 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T1.js
@@ -5,6 +5,7 @@
es6id: S25.4.4.3_A7.3_T1
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
+flags: [async]
---*/
var resolveP1, rejectP2,
diff --git a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
index 8609e5dd7..535116ea1 100644
--- a/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
+++ b/test/built-ins/Promise/race/S25.4.4.3_A7.3_T2.js
@@ -5,6 +5,7 @@
es6id: S25.4.4.3_A7.3_T2
author: Sam Mikes
description: Promise.race([p1, p2]) settles when first settles
+flags: [async]
---*/
var resolveP1, rejectP2,
diff --git a/test/built-ins/Promise/race/invoke-resolve-get-error.js b/test/built-ins/Promise/race/invoke-resolve-get-error.js
index 2ed029d5e..9fa2dc6ad 100644
--- a/test/built-ins/Promise/race/invoke-resolve-get-error.js
+++ b/test/built-ins/Promise/race/invoke-resolve-get-error.js
@@ -20,6 +20,7 @@ info: >
[...]
h. Let nextPromise be Invoke(C, "resolve", «nextValue»).
i. ReturnIfAbrupt(nextPromise).
+flags: [async]
---*/
var error = new Test262Error();
diff --git a/test/built-ins/Promise/race/invoke-then-error.js b/test/built-ins/Promise/race/invoke-then-error.js
index b2f79f534..184e3ea5b 100644
--- a/test/built-ins/Promise/race/invoke-then-error.js
+++ b/test/built-ins/Promise/race/invoke-then-error.js
@@ -21,6 +21,7 @@ info: >
j. Let result be Invoke(nextPromise, "then",
«promiseCapability.[[Resolve]], promiseCapability.[[Reject]]»).
k. ReturnIfAbrupt(result).
+flags: [async]
---*/
var promise = new Promise(function() {});
diff --git a/test/built-ins/Promise/race/iter-close.js b/test/built-ins/Promise/race/iter-close.js
index 02858893a..f66dc68c3 100644
--- a/test/built-ins/Promise/race/iter-close.js
+++ b/test/built-ins/Promise/race/iter-close.js
@@ -20,6 +20,7 @@ info: >
h. Let nextPromise be Invoke(C, "resolve", «nextValue»).
i. ReturnIfAbrupt(nextPromise).
features: [Symbol.iterator]
+flags: [async]
---*/
var err = new Test262Error();
diff --git a/test/built-ins/Promise/race/iter-next-val-err.js b/test/built-ins/Promise/race/iter-next-val-err.js
index eca773a9e..dfa2177a9 100644
--- a/test/built-ins/Promise/race/iter-next-val-err.js
+++ b/test/built-ins/Promise/race/iter-next-val-err.js
@@ -23,6 +23,7 @@ info: >
true.
g. ReturnIfAbrupt(nextValue).
features: [Symbol.iterator]
+flags: [async]
---*/
var iterNextValThrows = {};
diff --git a/test/built-ins/Promise/race/iter-step-err.js b/test/built-ins/Promise/race/iter-step-err.js
index e24847550..d7dfd34d3 100644
--- a/test/built-ins/Promise/race/iter-step-err.js
+++ b/test/built-ins/Promise/race/iter-step-err.js
@@ -19,6 +19,7 @@ info: >
b. If next is an abrupt completion, set iteratorRecord.[[done]] to true.
c. ReturnIfAbrupt(next).
features: [Symbol.iterator]
+flags: [async]
---*/
var iterStepThrows = {};
diff --git a/test/built-ins/Promise/race/reject-deferred.js b/test/built-ins/Promise/race/reject-deferred.js
index e070cef6e..5c7d7cd0d 100644
--- a/test/built-ins/Promise/race/reject-deferred.js
+++ b/test/built-ins/Promise/race/reject-deferred.js
@@ -19,6 +19,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/race/reject-ignored-deferred.js b/test/built-ins/Promise/race/reject-ignored-deferred.js
index bf63e7328..4ebc4ac79 100644
--- a/test/built-ins/Promise/race/reject-ignored-deferred.js
+++ b/test/built-ins/Promise/race/reject-ignored-deferred.js
@@ -24,6 +24,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var fulfiller = {
diff --git a/test/built-ins/Promise/race/reject-ignored-immed.js b/test/built-ins/Promise/race/reject-ignored-immed.js
index a22eac484..c1b0885dc 100644
--- a/test/built-ins/Promise/race/reject-ignored-immed.js
+++ b/test/built-ins/Promise/race/reject-ignored-immed.js
@@ -24,6 +24,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var fulfiller = {
diff --git a/test/built-ins/Promise/race/reject-immed.js b/test/built-ins/Promise/race/reject-immed.js
index 4cfc9a925..fd1e64577 100644
--- a/test/built-ins/Promise/race/reject-immed.js
+++ b/test/built-ins/Promise/race/reject-immed.js
@@ -19,6 +19,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/race/resolve-non-obj.js b/test/built-ins/Promise/race/resolve-non-obj.js
index 6dfd31a9c..6b39a974a 100644
--- a/test/built-ins/Promise/race/resolve-non-obj.js
+++ b/test/built-ins/Promise/race/resolve-non-obj.js
@@ -20,6 +20,7 @@ info: >
[...]
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var thenable = {
diff --git a/test/built-ins/Promise/race/resolve-non-thenable.js b/test/built-ins/Promise/race/resolve-non-thenable.js
index 179ab4344..e5b8671e4 100644
--- a/test/built-ins/Promise/race/resolve-non-thenable.js
+++ b/test/built-ins/Promise/race/resolve-non-thenable.js
@@ -24,6 +24,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/race/resolve-poisoned-then.js b/test/built-ins/Promise/race/resolve-poisoned-then.js
index c25563dad..1d3470afe 100644
--- a/test/built-ins/Promise/race/resolve-poisoned-then.js
+++ b/test/built-ins/Promise/race/resolve-poisoned-then.js
@@ -20,6 +20,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/race/resolve-self.js b/test/built-ins/Promise/race/resolve-self.js
index 511a03200..9bf40fc47 100644
--- a/test/built-ins/Promise/race/resolve-self.js
+++ b/test/built-ins/Promise/race/resolve-self.js
@@ -20,6 +20,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var self, resolve;
diff --git a/test/built-ins/Promise/race/resolve-thenable.js b/test/built-ins/Promise/race/resolve-thenable.js
index 8eb3f059c..c1512d9c5 100644
--- a/test/built-ins/Promise/race/resolve-thenable.js
+++ b/test/built-ins/Promise/race/resolve-thenable.js
@@ -26,6 +26,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/reject-ignored-via-abrupt.js b/test/built-ins/Promise/reject-ignored-via-abrupt.js
index f3cb6c7a7..23848a79d 100644
--- a/test/built-ins/Promise/reject-ignored-via-abrupt.js
+++ b/test/built-ins/Promise/reject-ignored-via-abrupt.js
@@ -18,6 +18,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject-ignored-via-fn-deferred.js b/test/built-ins/Promise/reject-ignored-via-fn-deferred.js
index 10b0d81e0..117722fa1 100644
--- a/test/built-ins/Promise/reject-ignored-via-fn-deferred.js
+++ b/test/built-ins/Promise/reject-ignored-via-fn-deferred.js
@@ -18,6 +18,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject-ignored-via-fn-immed.js b/test/built-ins/Promise/reject-ignored-via-fn-immed.js
index bd856a342..1e97f5d91 100644
--- a/test/built-ins/Promise/reject-ignored-via-fn-immed.js
+++ b/test/built-ins/Promise/reject-ignored-via-fn-immed.js
@@ -18,6 +18,7 @@ info: >
3. Let alreadyResolved be the value of F's [[AlreadyResolved]] internal
slot.
4. If alreadyResolved.[[value]] is true, return undefined.
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject-via-abrupt.js b/test/built-ins/Promise/reject-via-abrupt.js
index 6e608bdc2..291610200 100644
--- a/test/built-ins/Promise/reject-via-abrupt.js
+++ b/test/built-ins/Promise/reject-via-abrupt.js
@@ -16,6 +16,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject-via-fn-deferred.js b/test/built-ins/Promise/reject-via-fn-deferred.js
index 855d92b41..fca3fcafc 100644
--- a/test/built-ins/Promise/reject-via-fn-deferred.js
+++ b/test/built-ins/Promise/reject-via-fn-deferred.js
@@ -14,6 +14,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject-via-fn-immed.js b/test/built-ins/Promise/reject-via-fn-immed.js
index 474db80d8..26e841f7f 100644
--- a/test/built-ins/Promise/reject-via-fn-immed.js
+++ b/test/built-ins/Promise/reject-via-fn-immed.js
@@ -14,6 +14,7 @@ info: >
25.4.1.3.1 Promise Reject Functions
[...]
6. Return RejectPromise(promise, reason).
+flags: [async]
---*/
var thenable = new Promise(function() {});
diff --git a/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js b/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
index bc589ac13..0b189e52a 100644
--- a/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
+++ b/test/built-ins/Promise/reject/S25.4.4.4_A2.1_T1.js
@@ -13,6 +13,7 @@ info: >
es6id: 25.4.4.4
author: Sam Mikes
description: Promise.reject creates a new settled promise
+flags: [async]
---*/
var p = Promise.reject(3);
diff --git a/test/built-ins/Promise/resolve-non-obj-deferred.js b/test/built-ins/Promise/resolve-non-obj-deferred.js
index 2516dbd41..8e099a472 100644
--- a/test/built-ins/Promise/resolve-non-obj-deferred.js
+++ b/test/built-ins/Promise/resolve-non-obj-deferred.js
@@ -13,6 +13,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var resolve;
diff --git a/test/built-ins/Promise/resolve-non-obj-immed.js b/test/built-ins/Promise/resolve-non-obj-immed.js
index 163a1938f..5f6556100 100644
--- a/test/built-ins/Promise/resolve-non-obj-immed.js
+++ b/test/built-ins/Promise/resolve-non-obj-immed.js
@@ -12,6 +12,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var promise = new Promise(function(resolve) {
diff --git a/test/built-ins/Promise/resolve-non-thenable-deferred.js b/test/built-ins/Promise/resolve-non-thenable-deferred.js
index a6ed85242..d3b93474a 100644
--- a/test/built-ins/Promise/resolve-non-thenable-deferred.js
+++ b/test/built-ins/Promise/resolve-non-thenable-deferred.js
@@ -18,6 +18,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/resolve-non-thenable-immed.js b/test/built-ins/Promise/resolve-non-thenable-immed.js
index ae0236140..74161789f 100644
--- a/test/built-ins/Promise/resolve-non-thenable-immed.js
+++ b/test/built-ins/Promise/resolve-non-thenable-immed.js
@@ -18,6 +18,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var nonThenable = { then: null };
diff --git a/test/built-ins/Promise/resolve-poisoned-then-deferred.js b/test/built-ins/Promise/resolve-poisoned-then-deferred.js
index 33c2b7846..d043a5ddd 100644
--- a/test/built-ins/Promise/resolve-poisoned-then-deferred.js
+++ b/test/built-ins/Promise/resolve-poisoned-then-deferred.js
@@ -14,6 +14,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve-poisoned-then-immed.js b/test/built-ins/Promise/resolve-poisoned-then-immed.js
index ec806a235..90c678e49 100644
--- a/test/built-ins/Promise/resolve-poisoned-then-immed.js
+++ b/test/built-ins/Promise/resolve-poisoned-then-immed.js
@@ -14,6 +14,7 @@ info: >
25.4.1.3.2 Promise Resolve Functions
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve-self.js b/test/built-ins/Promise/resolve-self.js
index 9425d42b5..cd9d988ac 100644
--- a/test/built-ins/Promise/resolve-self.js
+++ b/test/built-ins/Promise/resolve-self.js
@@ -14,6 +14,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var resolve;
diff --git a/test/built-ins/Promise/resolve-thenable-deferred.js b/test/built-ins/Promise/resolve-thenable-deferred.js
index 93dfab0e5..cd572d1a8 100644
--- a/test/built-ins/Promise/resolve-thenable-deferred.js
+++ b/test/built-ins/Promise/resolve-thenable-deferred.js
@@ -21,6 +21,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve-thenable-immed.js b/test/built-ins/Promise/resolve-thenable-immed.js
index c39f9aff6..f0412ed71 100644
--- a/test/built-ins/Promise/resolve-thenable-immed.js
+++ b/test/built-ins/Promise/resolve-thenable-immed.js
@@ -20,6 +20,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
index 1ab3f41cd..2b471179f 100644
--- a/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
+++ b/test/built-ins/Promise/resolve/S25.4.4.5_A2.2_T1.js
@@ -5,6 +5,7 @@
es6id: S25.4.4.5_A2.2_T1
author: Sam Mikes
description: Promise.resolve passes through an unsettled promise w/ same Constructor
+flags: [async]
---*/
var resolveP1,
diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
index a54c21ede..3ea901fc8 100644
--- a/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
+++ b/test/built-ins/Promise/resolve/S25.4.4.5_A2.3_T1.js
@@ -5,6 +5,7 @@
es6id: S25.4.4.5_A2.3_T1
author: Sam Mikes
description: Promise.resolve passes through an unsettled promise w/ same Constructor
+flags: [async]
---*/
var rejectP1,
diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js
index 8fbc2befb..e76d00a3d 100644
--- a/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js
+++ b/test/built-ins/Promise/resolve/S25.4.4.5_A3.1_T1.js
@@ -8,6 +8,7 @@ es6id: S25.4.4.5_A3.1_T1
author: Sam Mikes
description: Promise.resolve delegates to foreign thenable
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js b/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
index aa11bf012..f6dd29186 100644
--- a/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
+++ b/test/built-ins/Promise/resolve/S25.4.4.5_A4.1_T1.js
@@ -7,6 +7,7 @@ info: >
es6id: S25.4.4.5_A3.1_T1
author: Sam Mikes
description: self-resolved Promise throws TypeError
+flags: [async]
---*/
var resolveP,
diff --git a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js
index aa00db689..bf0f2d6d2 100644
--- a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js
+++ b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_1.js
@@ -8,6 +8,7 @@ es6id: S25.4.4.5
author: Sam Mikes
description: Promise.resolve delegates to foreign thenable
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js
index 074d0aaca..b4c0c3ec6 100644
--- a/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js
+++ b/test/built-ins/Promise/resolve/S25.Promise_resolve_foreign_thenable_2.js
@@ -8,6 +8,7 @@ es6id: S25.4.4.5
author: Sam Mikes
description: Promise.resolve delegates to foreign thenable
includes: [PromiseHelper.js]
+flags: [async]
---*/
var sequence = [];
diff --git a/test/built-ins/Promise/resolve/arg-non-thenable.js b/test/built-ins/Promise/resolve/arg-non-thenable.js
index 2aa032efa..12d7beae6 100644
--- a/test/built-ins/Promise/resolve/arg-non-thenable.js
+++ b/test/built-ins/Promise/resolve/arg-non-thenable.js
@@ -18,6 +18,7 @@ info: >
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
13. Return undefined.
+flags: [async]
---*/
var nonThenable = {
diff --git a/test/built-ins/Promise/resolve/arg-poisoned-then.js b/test/built-ins/Promise/resolve/arg-poisoned-then.js
index 085e1455a..456431457 100644
--- a/test/built-ins/Promise/resolve/arg-poisoned-then.js
+++ b/test/built-ins/Promise/resolve/arg-poisoned-then.js
@@ -16,6 +16,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var poisonedThen = {};
diff --git a/test/built-ins/Promise/resolve/resolve-non-obj.js b/test/built-ins/Promise/resolve/resolve-non-obj.js
index 9a99e4d1f..5ec758cf3 100644
--- a/test/built-ins/Promise/resolve/resolve-non-obj.js
+++ b/test/built-ins/Promise/resolve/resolve-non-obj.js
@@ -13,6 +13,7 @@ info: >
[...]
7. If Type(resolution) is not Object, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
Promise.resolve(23).then(function(value) {
diff --git a/test/built-ins/Promise/resolve/resolve-non-thenable.js b/test/built-ins/Promise/resolve/resolve-non-thenable.js
index 446f0f992..3b6ed6b93 100644
--- a/test/built-ins/Promise/resolve/resolve-non-thenable.js
+++ b/test/built-ins/Promise/resolve/resolve-non-thenable.js
@@ -17,6 +17,7 @@ info: >
10. Let thenAction be then.[[value]].
11. If IsCallable(thenAction) is false, then
a. Return FulfillPromise(promise, resolution).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve/resolve-poisoned-then.js b/test/built-ins/Promise/resolve/resolve-poisoned-then.js
index 8ada16e33..28983a300 100644
--- a/test/built-ins/Promise/resolve/resolve-poisoned-then.js
+++ b/test/built-ins/Promise/resolve/resolve-poisoned-then.js
@@ -14,6 +14,7 @@ info: >
8. Let then be Get(resolution, "then").
9. If then is an abrupt completion, then
a. Return RejectPromise(promise, then.[[value]]).
+flags: [async]
---*/
var value = {};
diff --git a/test/built-ins/Promise/resolve/resolve-self.js b/test/built-ins/Promise/resolve/resolve-self.js
index a9b9b73c4..dded4ecd9 100644
--- a/test/built-ins/Promise/resolve/resolve-self.js
+++ b/test/built-ins/Promise/resolve/resolve-self.js
@@ -17,6 +17,7 @@ info: >
6. If SameValue(resolution, promise) is true, then
a. Let selfResolutionError be a newly created TypeError object.
b. Return RejectPromise(promise, selfResolutionError).
+flags: [async]
---*/
var resolve, reject;
diff --git a/test/built-ins/Promise/resolve/resolve-thenable.js b/test/built-ins/Promise/resolve/resolve-thenable.js
index 62b061b2e..a3f81944c 100644
--- a/test/built-ins/Promise/resolve/resolve-thenable.js
+++ b/test/built-ins/Promise/resolve/resolve-thenable.js
@@ -19,6 +19,7 @@ info: >
[...]
12. Perform EnqueueJob ("PromiseJobs", PromiseResolveThenableJob,
«promise, resolution, thenAction»)
+flags: [async]
---*/
var value = {};
diff --git a/tools/packaging/test262.py b/tools/packaging/test262.py
index 1192005fc..551d6d3e0 100755
--- a/tools/packaging/test262.py
+++ b/tools/packaging/test262.py
@@ -309,7 +309,7 @@ class TestCase(object):
return 'raw' in self.testRecord
def IsAsyncTest(self):
- return '$DONE' in self.test
+ return 'async' in self.testRecord
def GetIncludeList(self):
if self.testRecord.get('includes'):