From 0f489b82088a3bf962c2fb22c4e7f16f84d0ed84 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Mon, 5 Jun 2017 13:39:04 -0700 Subject: [PATCH 1/5] random commit --- src/compiler/parser.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index a3f440fd6c0..b92f4f515e0 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4810,6 +4810,7 @@ namespace ts { case SyntaxKind.ImportKeyword: return true; + case SyntaxKind.ConstKeyword: case SyntaxKind.ExportKeyword: return isStartOfDeclaration(); From f476ecec07ad8a6483fbe7c57c908acdfb8832ff Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Mon, 5 Jun 2017 20:23:23 -0700 Subject: [PATCH 2/5] Wip-report error when sof happen while running in parallel --- scripts/mocha-parallel.js | 40 +++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/scripts/mocha-parallel.js b/scripts/mocha-parallel.js index ce40c832b21..95072ece27c 100644 --- a/scripts/mocha-parallel.js +++ b/scripts/mocha-parallel.js @@ -72,6 +72,7 @@ function runTests(taskConfigsFolder, run, options, cb) { current: undefined, start: undefined, end: undefined, + catastrophicError: "", failures: [] }; partitions[index] = partition; @@ -86,9 +87,20 @@ function runTests(taskConfigsFolder, run, options, cb) { input: p.stdout, terminal: false }); + + var rlError = readline.createInterface({ + input: p.stderr, + terminal: false + }) + rl.on("line", onmessage); + rlError.on("line", onErrorMessage); p.on("exit", onexit) + function onErrorMessage(line) { + partition.catastrophicError += line + os.EOL; + } + function onmessage(line) { if (partition.start === undefined) { partition.start = Date.now(); @@ -153,15 +165,19 @@ function runTests(taskConfigsFolder, run, options, cb) { } } - function onexit() { + function onexit(code) { if (partition.end === undefined) { partition.end = Date.now(); } partition.duration = partition.end - partition.start; - var summaryColor = partition.failed ? "fail" : "green"; - var summarySymbol = partition.failed ? Base.symbols.err : Base.symbols.ok; - var summaryTests = (partition.passed === partition.tests ? partition.passed : partition.passed + "/" + partition.tests) + " passing"; + var isPartitionFail = partition.failed || code !== 0; + var summaryColor = isPartitionFail ? "fail" : "green"; + var summarySymbol = isPartitionFail ? Base.symbols.err : Base.symbols.ok; + if (partition.passed === 54107) { + console.log(partition); + } + var summaryTests = (isPartitionFail ? partition.passed + "/" + partition.tests : partition.passed) + " passssssing"; var summaryDuration = "(" + ms(partition.duration) + ")"; var savedUseColors = Base.useColors; Base.useColors = !options.noColors; @@ -198,12 +214,25 @@ function runTests(taskConfigsFolder, run, options, cb) { failures = reporter.failures; var duration = 0; + var catastrophicError = ""; for (var i = 0; i < numPartitions; i++) { var partition = partitions[i]; stats.passes += partition.passed; stats.failures += partition.failed; stats.tests += partition.tests; duration += partition.duration; + if (partition.catastrophicError !== "") { + //{"light":false, + // "tasks":[{"runner":"compiler","files":["tests/cases/compiler/es6ImportNamedImportParsingError.ts"]}], + // "runUnitTests":false} + var jsonText = fs.readFileSync(partition.file); + var configObj = JSON.parse(jsonText); + if (configObj.tasks && configObj.tasks[0]) { + catastrophicError += "Error from one or more of these files: " + configObj.tasks[0].files + os.EOL; + catastrophicError += partition.catastrophicError; + catastrophicError += os.EOL; + } + } for (var j = 0; j < partition.failures.length; j++) { var failure = partition.failures[j]; failures.push(makeMochaTest(failure)); @@ -223,6 +252,9 @@ function runTests(taskConfigsFolder, run, options, cb) { reporter.epilogue(); } + if (catastrophicError !== "") { + return cb(new Error(catastrophicError)); + } if (stats.failures) { return cb(new Error("Test failures reported: " + stats.failures)); } From f82c45eb98c90759ca5d06b45d3fbf1ac2474295 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Thu, 15 Jun 2017 13:40:57 -0700 Subject: [PATCH 3/5] Address PR --- scripts/mocha-parallel.js | 6 ++---- src/compiler/parser.ts | 1 - 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/mocha-parallel.js b/scripts/mocha-parallel.js index 95072ece27c..bd03739769c 100644 --- a/scripts/mocha-parallel.js +++ b/scripts/mocha-parallel.js @@ -174,10 +174,8 @@ function runTests(taskConfigsFolder, run, options, cb) { var isPartitionFail = partition.failed || code !== 0; var summaryColor = isPartitionFail ? "fail" : "green"; var summarySymbol = isPartitionFail ? Base.symbols.err : Base.symbols.ok; - if (partition.passed === 54107) { - console.log(partition); - } - var summaryTests = (isPartitionFail ? partition.passed + "/" + partition.tests : partition.passed) + " passssssing"; + + var summaryTests = (isPartitionFail ? partition.passed + "/" + partition.tests : partition.passed) + " passing"; var summaryDuration = "(" + ms(partition.duration) + ")"; var savedUseColors = Base.useColors; Base.useColors = !options.noColors; diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index b92f4f515e0..a3f440fd6c0 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -4810,7 +4810,6 @@ namespace ts { case SyntaxKind.ImportKeyword: return true; - case SyntaxKind.ConstKeyword: case SyntaxKind.ExportKeyword: return isStartOfDeclaration(); From e9bbe866f516bf3f298c548a006903537187c40e Mon Sep 17 00:00:00 2001 From: Yui T Date: Fri, 16 Jun 2017 11:09:18 -0700 Subject: [PATCH 4/5] Address comment: fix comment --- scripts/mocha-parallel.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/scripts/mocha-parallel.js b/scripts/mocha-parallel.js index bd03739769c..315f43cafa9 100644 --- a/scripts/mocha-parallel.js +++ b/scripts/mocha-parallel.js @@ -220,9 +220,18 @@ function runTests(taskConfigsFolder, run, options, cb) { stats.tests += partition.tests; duration += partition.duration; if (partition.catastrophicError !== "") { - //{"light":false, - // "tasks":[{"runner":"compiler","files":["tests/cases/compiler/es6ImportNamedImportParsingError.ts"]}], - // "runUnitTests":false} + // Partition is written out to a temporary file as a JSON object. + // Below is an example of how the partition JSON object looks like + // { + // "light":false, + // "tasks":[ + // { + // "runner":"compiler", + // "files":["tests/cases/compiler/es6ImportNamedImportParsingError.ts"] + // } + // ], + // "runUnitTests":false + // } var jsonText = fs.readFileSync(partition.file); var configObj = JSON.parse(jsonText); if (configObj.tasks && configObj.tasks[0]) { From ef3e7e6ab520373dc4c455327141d9c773587305 Mon Sep 17 00:00:00 2001 From: Yui T Date: Fri, 16 Jun 2017 11:12:31 -0700 Subject: [PATCH 5/5] Add semi-colon --- scripts/mocha-parallel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mocha-parallel.js b/scripts/mocha-parallel.js index 315f43cafa9..6a54c018e9a 100644 --- a/scripts/mocha-parallel.js +++ b/scripts/mocha-parallel.js @@ -91,7 +91,7 @@ function runTests(taskConfigsFolder, run, options, cb) { var rlError = readline.createInterface({ input: p.stderr, terminal: false - }) + }); rl.on("line", onmessage); rlError.on("line", onErrorMessage);