v8/test/mjsunit/harmony
Andreas Haas 8c3c1b6c0f [mjsunit] Move the implementation of testAsync into a separate file
The original implementation of 'testAsync' in mjsunit.js required to
put the call to '%AbortJS' into an 'eval' statement. The reason is that
this call requires the flag --allow-natives-syntax to be set, but the
flag is not set in all mjsunit tests. With the use of 'eval'
compilation errors can be avoided.

The problem with this approach was that the fuzzer started to produce
test cases which include the line 'eval("%AbortJS(message)");', and
this line crashes intentionally. Different to the line
'%Abort(message)', however, the 'eval' statement cannot be filtered
so easily in the fuzzer. Therefore I pulled the implementation of
'testAsync' into a separate file to avoid the 'eval'.

Additional changes: I use '===' now instead of 'deepEquals' in
AsyncAssertion.equals because 'deepEquals' is not available outside
mjsunit.js. Using '===' seems more appropriate anyways because for
all tests but one it is sufficient, and it is more precise than
deepEquals.

R=gsathya@chromium.org

Bug: chromium:774841
Change-Id: I47270aa63ff5a1d6aa76a771f9276eaaf579c5ac
Reviewed-on: https://chromium-review.googlesource.com/1156598
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54833}
2018-08-01 08:46:24 +00:00
..
bigint Reland "[turbofan] Inline Number constructor in certain cases" 2018-07-23 13:17:19 +00:00
regress Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
array-concat-array-proto-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-array-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict-getter.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto-generic-dict.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-concat-object-proto.js [runtime] Avoid @@isConcatSpreadable lookup for fast path Array.prototype.concat 2016-05-12 08:52:36 +00:00
array-flat-species.js [test] Expand Array#{flat,flatMap} test coverage 2018-05-23 20:30:45 +00:00
array-flat.js [test] Expand Array#{flat,flatMap} test coverage 2018-05-23 20:30:45 +00:00
array-flatMap-species.js [test] Expand Array#{flat,flatMap} test coverage 2018-05-23 20:30:45 +00:00
array-flatMap.js [test] Expand Array#{flat,flatMap} test coverage 2018-05-23 20:30:45 +00:00
array-sort-comparefn.js [js] Remove CHECK_OBJECT_COERCIBLE for Array methods 2017-10-20 19:29:36 +00:00
async-for-of-non-iterable.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-from-sync-iterator.js [esnext] only load .next() once for JSAsyncFromSyncIterator 2018-02-02 16:57:12 +00:00
async-generators-basic.js [bootstrapper] set constructor property of %AsyncGeneratorPrototype% 2018-06-26 13:01:14 +00:00
async-generators-resume-return.js [mjsunit] Move the implementation of testAsync into a separate file 2018-08-01 08:46:24 +00:00
async-generators-return.js [mjsunit] Move the implementation of testAsync into a separate file 2018-08-01 08:46:24 +00:00
async-generators-yield.js [mjsunit] Move the implementation of testAsync into a separate file 2018-08-01 08:46:24 +00:00
atomics-value-check.js [Atomics] use TFJ builtins for atomic add, sub, and, or, and xor 2017-04-11 00:09:37 +00:00
atomics.js [SAB] Validate index before value conversion using ToIndex 2017-04-12 19:08:40 +00:00
bigintarray-keyedstore-tobigint.js [runtime] perform type conversion earlier in IntegerIndexedElementSet 2018-06-28 18:28:33 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
dataview-accessors.js Reland of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #2 id:170001 of https://codereview.chromium.org/2113593002/ ) 2016-08-17 17:38:56 +00:00
default-parameter-do-expression.js Merge DeclarationScope::temps_ and Scope::ordered_variables_ into Scope::locals_ 2016-08-25 19:12:00 +00:00
do-expressions-arrow-param-scope.js Add test coverage for do-expressions in ReparentExpressionScope() 2017-08-03 16:07:41 +00:00
do-expressions-control.js [fullcodegen] Implement control flow across do-expressions. 2016-02-24 11:06:08 +00:00
do-expressions.js [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
for-await-of.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
function-tostring.js [sfi] Reduce FunctionTokenPosition and ExpectedNofProperties to 16 bits. 2018-07-04 16:53:37 +00:00
futex.js [Atomics] Workaround for d8 worker limit 2018-07-19 02:53:49 +00:00
generators-reduced.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
generators.js Remove the --ignition-generators flag. 2016-07-25 12:56:27 +00:00
harmony-string-pad-end.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
harmony-string-pad-start.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
import-from-compilation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-evaluation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-fetch-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
import-from-instantiation-errored.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
module-parsing-eval.js Remove --harmony-modules flag and let embedder decide when modules are used 2016-03-15 00:45:00 +00:00
modules-import-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-9.js Reland "[async] Optimize await and AsyncFromSyncIterator" 2018-06-20 23:08:36 +00:00
modules-import-10.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-11.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-12.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-13.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-14.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-import-15.js [modules] Include module specifier in instantiation error messages. 2017-12-08 09:11:58 +00:00
modules-import-16.js [modules] Fix dynamic import in eval 2017-08-14 23:21:49 +00:00
modules-import-large.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
modules-import-meta.js [modules] Fix lazy parsing of functions in modules. 2017-10-22 09:03:34 +00:00
modules-import-namespace.js [test] Add test for Turbofan module namespace access 2018-07-19 02:28:29 +00:00
modules-skip-1.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-2.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-3.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-4.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-5.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-6.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-7.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-8.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-9.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-10.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-11.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-12.js [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +00:00
modules-skip-empty.js [ESNext] Implement DynamicImportCall 2017-04-11 09:33:11 +00:00
modules-skip-export-import-meta.js Reland "[modules] Implement import.meta proposal" 2017-10-11 15:37:10 +00:00
modules-skip-large1.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
modules-skip-large2.js [modules] Turbofan inlining support for namespace accesses 2017-09-05 20:11:09 +00:00
numeric-separator.js [numeric separator] Add tests for parseInt 2018-03-19 14:12:44 +00:00
optional-catch-binding-breaks.js Remove always-true --harmony-optional-catch-binding runtime flag 2018-06-05 16:24:20 +00:00
optional-catch-binding.js Remove always-true --harmony-optional-catch-binding runtime flag 2018-06-05 16:24:20 +00:00
private-fields-ic.js [class] Throw on private field access miss 2018-02-22 01:43:13 +00:00
private-fields-special-object.js [mjsunit] Move the implementation of testAsync into a separate file 2018-08-01 08:46:24 +00:00
private-fields.js [class] Add tests for private fields with eval 2018-03-07 19:33:56 +00:00
private-symbols.js [builtins] Port Proxy has trap to CSA 2017-08-16 13:05:45 +00:00
private.js Remove %_ClassOf and SharedFunctionInfo::instance_class_name 2018-02-15 11:52:08 +00:00
promise-prototype-finally.js [mjsunit] Move the implementation of testAsync into a separate file 2018-08-01 08:46:24 +00:00
public-instance-class-fields.js [class] Initialize class fields after binding this 2018-04-17 13:40:39 +00:00
public-static-class-fields.js [class] Ban arguments in class field initializers 2018-01-04 23:11:25 +00:00
regexp-change-exec.js Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
regexp-dotall.js Ship RegExp dotAll mode / s flag 2017-07-28 08:17:38 +00:00
regexp-named-captures.js Remove always-true --harmony-regexp-named-captures runtime flag 2018-06-05 08:27:08 +00:00
regexp-property-binary.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-char-class.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-enumerated.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-exact-match.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-general-category.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-invalid.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui0.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui1.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui2.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui3.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui4.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui5.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui6.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui7.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui8.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui9.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-script-extensions.js Roll ICU to ICU 62.1 2018-07-11 10:24:26 +00:00
regexp-property-scripts.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-special.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regress-generators-resume.js This is a first step towards reducing the number of stores/loads when suspending/resuming a generator. 2017-06-02 11:55:48 +00:00
set-prototype-of.js Fix corner-case behavior of JSObject::SetPrototype. 2015-10-23 14:52:26 +00:00
sharedarraybuffer.js Remove SharedArrayBuffer.isView 2018-01-11 00:22:57 +00:00
string-matchAll.js [esnext] Implement String.prototype.matchAll 2018-04-05 15:24:25 +00:00
symbol-async-iterator.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
symbol-description.js [esnext] Implement Symbol.prototype.description 2018-06-07 18:26:46 +00:00
to-length.js [runtime] Implement %_ToLength via ToLengthStub. 2015-10-19 08:35:18 +00:00
to-name.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-number.js [es6] Implement Date.prototype[@@toPrimitive] as C++ builtin. 2015-08-31 12:53:10 +00:00
to-primitive.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
to-string.js [intrinsics] Remove obsolete intrinsics. 2016-07-12 06:41:23 +00:00
trailing-commas-length.js [cleanup] Remove on-by-default --harmony-trailing-commas flag 2017-06-13 00:09:23 +00:00