-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Escargot and Kangax #584
Comments
@Achie72 Thank you for your great suggetion.
|
ESNext TC-s are contained in this file, and ES2016Plus (sorry i typod it in the original) tests are in this. For me ES2016Plus seems like exaclty that, things from ES6+. Sadly i'm not sure about the ESNext as there are many thing i'm not familiar with in it.
They are little, mostly few lines of codes testing features, and corner cases of them. Mostly no performance tests, just checking whether a features works correctly or not. |
I've run some tests already, and have a draft version of a test runner, so if you guys are okay with it, i can finish the rest of the to-do-s and create some PR in the Kangax table repository. The only thing needed is the testsuites we want to have in the report. There is:
If you take a look into these, which do we need and which not, i can just run and update the result files. |
@Achie72 Looks great! |
It seems that |
Made a quick
The So i have one minor problem with adding those tests and not just a testrunnner into this project. name: 'block-level function declaration',
category: 'bindings',
significance: 'small',
note_id: 'block-level-function',
note_html: 'Note that prior to ES6, it was <a href="http://wiki.ecmascript.org/doku.php?id=conventions:no_non_standard_strict_decls">recommended</a> that ES5 implementations forbid block-level declarations in strict mode.',
spec: 'http://www.ecma-international.org/ecma-262/6.0/#sec-functiondeclarationinstantiation',
exec: function () {/*
'use strict';
if (f() !== 1) return false;
function f() { return 1; }
{
if (f() !== 2) return false;
function f() { return 2; }
if (f() !== 2) return false;
}
if (f() !== 1) return false;
return true;
*/},
res: {
babel6corejs2: true,
tr: true,
closure: true,
ie11: true,
firefox2: false,
firefox46: true,
opera10_50: false,
chrome21dev: chrome.experimental,
chrome41: true,
node0_12: "flagged",
node4: true,
xs6: true,
safari10: true,
duktape2_0: false,
nashorn1_8: true,
nashorn9: true,
nashorn10: true,
graalvm: true,
jerryscript2_0: false,
escargot2_0_0: false,
}
}, and all these are in only one file, for one My suggestions: Sidenote: Also tell me if you need an output for |
Currently, escargot passes only some part of
For test method,
IMO the 2nd appoach looks great for me. Is this way also easy to upload to the kangax project? If not, please choose one that is convenient for maintaining and updating. BTW, what do you mean Finally, how about adding kangax test run to the Jenkins CI, so we can find the kangax out at each CI result? |
I liked that idea as well, but i wanted to list all reasonable possibilities. I'm going for this one then. To upload you just have to make a pull request with the updated The harder part is to create the data files from which the builder creates the html ones. You have to insert every test result manually atm. I can create a script for that, but it's tricky and will take some time, as the data files are not that easily parse able (example data file) as you don't know how many engines are in the specific test's results and i think the only option there is to create a script counting braces
"With this option you can call a function after the user script and promises have ran, to be able to do assertions that are executed just before the process would exit." Which is used by many Promise tests in the testsuite (checking for async test passing). Example for this feature is already done in JerryScript
I'm all for this idea, but i have two "major" concerns:
|
For now, we may add the kangax testsuite to CI just to show the kangax result. After some bugs fixed, then we can enable the kangax on CI. edit) If kangax repo is too huge to clone, we can alternatively add the kangax testsuite to js_vendor_tc repo |
I'm not sure, if this is one of the goals of the project, or totally off-scope, but there is an project named Kangax, with lists various javascript engines, and shows their compatibility with various ECMAScript standards:
https://kangax.github.io/compat-table/es6/
I ran a quick rundown on the ES6 testsuite subset (which is still one of the most wanted ES subset), and here is a summary for it:
My questions are:
The text was updated successfully, but these errors were encountered: