From 8e8dd6cddf6cdb9b4ffb139276f4d3346880179e Mon Sep 17 00:00:00 2001 From: Christopher Eck Date: Tue, 23 May 2017 10:18:41 -0700 Subject: [PATCH] Simplified fix for issue #2713 Simpler version of PR #2714 which only eagerly sets the exitcode without playing with the draining semantics --- bin/_mocha | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bin/_mocha b/bin/_mocha index 00514b5ce0..7f3d01aa1d 100755 --- a/bin/_mocha +++ b/bin/_mocha @@ -476,12 +476,18 @@ function exitLater (code) { } function exit (code) { + var clampedCode = Math.min(code, 255); + + // Eagerly set the process's exit code in case stream.write doesn't + // execute its callback before the process terminates. + process.exitCode = clampedCode; + // flush output for Node.js Windows pipe bug // https://github.com/joyent/node/issues/6247 is just one bug example // https://github.com/visionmedia/mocha/issues/333 has a good discussion function done () { if (!(draining--)) { - process.exit(Math.min(code, 255)); + process.exit(clampedCode); } }