[JSC] Enable test262 module tests
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 17 Jul 2016 14:39:12 +0000 (14:39 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 17 Jul 2016 14:39:12 +0000 (14:39 +0000)
commit608425d30953260234a484b27f37f5d0a917b0bf
treee07382667b9a22a578c9ae7b78981f9116a875b9
parent15511c94f8684ea925df77fb810195d58d48cab7
[JSC] Enable test262 module tests
https://bugs.webkit.org/show_bug.cgi?id=159854

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch enables test262 module tests. Before this patch, the modules tests in test262 do not work fine.
This patch fixes the following 2 things.

1. Test harness

    Before this patch, there is only one global switch "-m" in jsc shell. So we cannot load the test262 test harness before evaluating the module tests.
    This patch adds a new option, "--module-file=". It is similar to "--strict-file=". When we specify the file with "--module-file=", it is evaluated as
    a module, while the other files are evaluated by following the JSC's default manner. This option allows us to load the test harness files into the
    global context before loading the module tests.

2. Module's asynchronous errors

    Before this patch, the errors caused in the module evaluation are not handled as the same to the usual sync files. In synchronous execution, we have
    "--exception=" option to pass the expected exception to the JSC shell. But this option does not work in the module evaluation.
    This patch correctly handles this expected exception in the module evaluation promise's fulfill and reject handlers.

And we fix the YAML file. Now the recorded :fail and :normal are the correct test results for the module tests.

* jsc.cpp:
(Script::Script):
(checkUncaughtException):
(runWithScripts):
(printUsageStatement):
(CommandLine::parseArguments):
(dumpException): Deleted.
* tests/test262.yaml:

Tools:

Use --module-file instead.

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@203332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jsc.cpp
Source/JavaScriptCore/tests/test262.yaml
Tools/ChangeLog
Tools/Scripts/run-jsc-stress-tests