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---*\//'
Showing
- test/built-ins/Promise/resolve/arg-non-thenable.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/arg-non-thenable.js
- test/built-ins/Promise/resolve/arg-poisoned-then.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/arg-poisoned-then.js
- test/built-ins/Promise/resolve/resolve-non-obj.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/resolve-non-obj.js
- test/built-ins/Promise/resolve/resolve-non-thenable.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/resolve-non-thenable.js
- test/built-ins/Promise/resolve/resolve-poisoned-then.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/resolve-poisoned-then.js
- test/built-ins/Promise/resolve/resolve-self.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/resolve-self.js
- test/built-ins/Promise/resolve/resolve-thenable.js 1 addition, 0 deletionstest/built-ins/Promise/resolve/resolve-thenable.js
- tools/packaging/test262.py 1 addition, 1 deletiontools/packaging/test262.py
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment