Skip to content

Commit

Permalink
tools: fix exit code when linting from CI
Browse files Browse the repository at this point in the history
Before this, if there were lint errors reported by `make jslint-ci`,
the process would still exit with an exit code of zero.

This commit fixes that to align with `make jslint` (exit with
non-zero on lint errors).

PR-URL: nodejs#6412
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Phillip Johnsen <johphi@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
mscdex authored and joelostrowski committed May 4, 2016
1 parent 36a9183 commit ddfd737
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions tools/jslint.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,23 +125,28 @@ if (cluster.isMaster) {
sendWork(worker);
});

process.on('exit', function() {
process.on('exit', function(code) {
if (showProgress) {
curPath = 'Done';
printProgress();
outFn('\r\n');
}
process.exit(failures ? 1 : 0);
if (code === 0)
process.exit(failures ? 1 : 0);
});

for (i = 0; i < numCPUs; ++i)
cluster.fork().on('message', onWorkerMessage);
cluster.fork().on('message', onWorkerMessage).on('exit', onWorkerExit);

function onWorkerMessage(results) {
if (typeof results !== 'number') {
// The worker sent us results that are not all successes
if (!workerConfig.sendAll)
if (workerConfig.sendAll) {
failures += results.errorCount;
results = results.results;
} else {
failures += results.length;
}
outFn(formatter(results) + '\r\n');
printProgress();
} else {
Expand All @@ -151,6 +156,11 @@ if (cluster.isMaster) {
sendWork(this);
}

function onWorkerExit(code, signal) {
if (code !== 0 || signal)
process.exit(2);
}

function sendWork(worker) {
if (!files || !files.length) {
// We either just started or we have no more files to lint for the current
Expand Down Expand Up @@ -245,7 +255,7 @@ if (cluster.isMaster) {
}
}
}
process.send(results);
process.send({ results: results, errorCount: report.errorCount });
} else if (report.errorCount === 0) {
// No errors, return number of successful lint operations
process.send(files.length);
Expand Down

0 comments on commit ddfd737

Please sign in to comment.