Update test262 and flow tests (#7925)

This commit is contained in:
Nicolò Ribaudo 2018-05-14 19:26:28 +02:00 committed by Brian Ng
parent e06cf20d2e
commit ba11d9fa7c
5 changed files with 86 additions and 13 deletions

View File

@ -1,6 +1,6 @@
MAKEFLAGS = -j1
FLOW_COMMIT = f193e19cf2185006ea9139bb0e71f31ea93e7b72
TEST262_COMMIT = 52f70e2f637731aae92a9c9a2d831310c3ab2e1e
FLOW_COMMIT = 395e045c18d537fcbbc552a96ef2cdcd70b4ab52
TEST262_COMMIT = 40883f4c6ae17e073dfd03e34f73a6bf8c855595
# Fix color output until TravisCI fixes https://github.com/travis-ci/travis-ci/issues/7967
export FORCE_COLOR = true

View File

@ -31,3 +31,20 @@ types/member/reserved_words.js
types/parameter_defaults/migrated_0032.js
types/typecasts_invalid/migrated_0001.js
class_method_kinds/polymorphic_getter.js
internal_slot/interface_method.js
internal_slot/object_method.js
internal_slot/object_variance.js
numbers/underscored_bin.js
numbers/underscored_float.js
numbers/underscored_float_whole.js
numbers/underscored_hex.js
numbers/underscored_number.js
numbers/underscored_oct.js
typeapp_call/function_call.js
typeapp_call/function_call_optional.js
typeapp_call/method_call.js
typeapp_call/method_call_computed.js
typeapp_call/method_call_optional2.js
typeapp_call/new.js
typeapp_call/new_noparens.js
types/declare_class/proto.js

View File

@ -83,18 +83,27 @@ function update_whitelist(summary) {
const contains = (tests, file) =>
tests.some(({ test }) => test.file === file);
const result = fs
const disallowed = summary.disallowed.success.concat(
summary.disallowed.failure
);
const oldLines = fs
.readFileSync(WHITELIST_PATH, "utf8")
.trim()
.split("\n")
.filter(line => {
const file = line.replace(/#.*$/, "").trim();
return (
!contains(summary.disallowed.success, file) &&
!contains(summary.disallowed.failure, file) &&
summary.unrecognized.indexOf(file) === -1
!contains(disallowed, file) && summary.unrecognized.indexOf(file) === -1
);
})
.join("\n");
});
const newLines = disallowed
.map(({ test }) => test.file)
.filter(test => oldLines.indexOf(test) === -1);
const result = oldLines.concat(newLines).join("\n") + "\n";
fs.writeFileSync(WHITELIST_PATH, result);
}
@ -116,6 +125,7 @@ const flowOptionsMapping = {
esproposal_class_static_fields: "classProperties",
esproposal_export_star_as: "exportNamespaceFrom",
esproposal_decorators: "decorators-legacy",
esproposal_nullish_coalescing: "nullishCoalescingOperator",
esproposal_optional_chaining: "optionalChaining",
types: "flowComments",
};

View File

@ -28,7 +28,10 @@ function getPlugins(features) {
}
exports.getTests = function(testDir) {
const stream = new TestStream(testDir, { omitRuntime: true });
const stream = new TestStream(testDir, {
omitRuntime: true,
acceptVersion: "3.0.0",
});
const tests = [];
stream.on("data", test => {

View File

@ -179,7 +179,6 @@ annexB/language/global-code/if-stmt-else-decl-global-skip-early-err-switch.js(de
annexB/language/global-code/if-stmt-else-decl-global-skip-early-err-try.js(default)
annexB/language/global-code/if-stmt-else-decl-global-skip-early-err.js(default)
annexB/language/global-code/if-stmt-else-decl-global-update.js(default)
built-ins/Function/prototype/toString/intrinsics.js(strict mode)
language/expressions/assignment/destructuring/obj-prop-__proto__dup.js(default)
language/expressions/assignment/destructuring/obj-prop-__proto__dup.js(strict mode)
language/expressions/assignment/dstr-obj-id-identifier-yield-ident-valid.js(default)
@ -420,8 +419,6 @@ language/literals/regexp/u-invalid-non-empty-class-ranges.js(default)
language/literals/regexp/u-invalid-non-empty-class-ranges.js(strict mode)
language/literals/regexp/u-invalid-oob-decimal-escape.js(default)
language/literals/regexp/u-invalid-oob-decimal-escape.js(strict mode)
language/literals/regexp/u-invalid-quantifiable-assertion.js(default)
language/literals/regexp/u-invalid-quantifiable-assertion.js(strict mode)
language/literals/regexp/u-unicode-esc-bounds.js(default)
language/literals/regexp/u-unicode-esc-bounds.js(strict mode)
language/literals/regexp/u-unicode-esc-non-hex.js(default)
@ -739,4 +736,50 @@ built-ins/AsyncGeneratorPrototype/next/name.js(strict mode)
built-ins/AsyncGeneratorPrototype/return/name.js(default)
built-ins/AsyncGeneratorPrototype/return/name.js(strict mode)
built-ins/AsyncGeneratorPrototype/throw/name.js(default)
built-ins/AsyncGeneratorPrototype/throw/name.js(strict mode)
built-ins/AsyncGeneratorPrototype/throw/name.js(strict mode)
language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js(default)
language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js(strict mode)
language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js(default)
language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js(strict mode)
language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js(default)
language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js(strict mode)
language/expressions/class/class-name-ident-static-escaped.js(default)
language/expressions/class/class-name-ident-static.js(default)
language/literals/regexp/invalid-optional-lookbehind.js(default)
language/literals/regexp/invalid-optional-lookbehind.js(strict mode)
language/literals/regexp/invalid-optional-negative-lookbehind.js(default)
language/literals/regexp/invalid-optional-negative-lookbehind.js(strict mode)
language/literals/regexp/invalid-range-lookbehind.js(default)
language/literals/regexp/invalid-range-lookbehind.js(strict mode)
language/literals/regexp/invalid-range-negative-lookbehind.js(default)
language/literals/regexp/invalid-range-negative-lookbehind.js(strict mode)
language/literals/regexp/u-invalid-optional-lookahead.js(default)
language/literals/regexp/u-invalid-optional-lookahead.js(strict mode)
language/literals/regexp/u-invalid-optional-lookbehind.js(default)
language/literals/regexp/u-invalid-optional-lookbehind.js(strict mode)
language/literals/regexp/u-invalid-optional-negative-lookahead.js(default)
language/literals/regexp/u-invalid-optional-negative-lookahead.js(strict mode)
language/literals/regexp/u-invalid-optional-negative-lookbehind.js(default)
language/literals/regexp/u-invalid-optional-negative-lookbehind.js(strict mode)
language/literals/regexp/u-invalid-range-lookahead.js(default)
language/literals/regexp/u-invalid-range-lookahead.js(strict mode)
language/literals/regexp/u-invalid-range-lookbehind.js(default)
language/literals/regexp/u-invalid-range-lookbehind.js(strict mode)
language/literals/regexp/u-invalid-range-negative-lookahead.js(default)
language/literals/regexp/u-invalid-range-negative-lookahead.js(strict mode)
language/literals/regexp/u-invalid-range-negative-lookbehind.js(default)
language/literals/regexp/u-invalid-range-negative-lookbehind.js(strict mode)
language/statements/class/class-name-ident-static-escaped.js(default)
language/statements/class/class-name-ident-static.js(default)
language/statements/try/early-catch-function.js(default)
language/statements/try/early-catch-function.js(strict mode)
language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js(default)
language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js(strict mode)
language/literals/string/line-separator.js(default)
language/literals/string/line-separator.js(strict mode)
language/literals/string/paragraph-separator.js(default)
language/literals/string/paragraph-separator.js(strict mode)
built-ins/Function/prototype/toString/proxy-async-generator-function.js(default)
built-ins/Function/prototype/toString/proxy-async-generator-function.js(strict mode)
built-ins/Function/prototype/toString/proxy-async-generator-method-definition.js(default)
built-ins/Function/prototype/toString/proxy-async-generator-method-definition.js(strict mode)