Browse Source

tools: fix exit code when linting from CI

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: https://github.com/nodejs/node/pull/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>
process-exit-stdio-flushing
Brian White 9 years ago
committed by Rich Trott
parent
commit
1264cecde7
  1. 18
      tools/jslint.js

18
tools/jslint.js

@ -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');
}
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 {
@ -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
@ -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);

Loading…
Cancel
Save