npm-run-parallel icon indicating copy to clipboard operation
npm-run-parallel copied to clipboard

npm-run-parallel aborts when receiving a stderr

Open jrobichaud opened this issue 9 years ago • 1 comments

We are using npm-run-parallel to run protractor.

Since a recent node update it started to output this message to stderr: "(node:67222) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.".

"npm-run-parallel" aborts right when it gets this message even though the protractor execution succeeds when ran separately.

This line is the culprit https://github.com/ianmcnally/npm-run-parallel/blob/4c8793efa8664fe6671b1c65d6dfc852c4127c4b/lib/run.js#L21.

The process should continue on a stderr and fail when all children stop depending of their exit codes.

(protractor or one of it's dependencies should also fix the warning)

A simple way to reproduce the issue is to create a file named test_stderr.js with this is it:

console.error("This is not a failure");
console.error("This is also not a failure");

node test_stderr.js will succeed and output everything

When running node test_stderr.js through npm-run-parallel it will output this:

This is not a failure
npm ERR! Test failed.  See above for more details.

jrobichaud avatar Nov 28 '16 18:11 jrobichaud

Hey Jules, thanks for the report! That's a good catch. The intended functionality of that exit is to make sure if any one process fails, they all fail. I'm curious if the put a catch around here if that would handle that.

A pull request with the exit-on-child-error, and a removal of exit-on-stderr would be most welcome!

ianmcnally avatar Nov 29 '16 16:11 ianmcnally