From 8eb9e5177560dc25732e30a4619b75d7246c5332 Mon Sep 17 00:00:00 2001
From: Joyee Cheung <joyeec9h3@gmail.com>
Date: Sat, 4 Mar 2017 18:54:48 +0800
Subject: [PATCH] test: fail when child dies in fork-net

Previously when the child dies with errors in this test, the parent
will just hang and timeout, the errors in the child would be
swallowed. This makes it fail so at least there is more information
about why this test fails.

Also removes the unnecessary child.kill() call.
---
 test/parallel/test-child-process-fork-net.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/test/parallel/test-child-process-fork-net.js b/test/parallel/test-child-process-fork-net.js
index 1dec70aca8c3c1..42994007e83c49 100644
--- a/test/parallel/test-child-process-fork-net.js
+++ b/test/parallel/test-child-process-fork-net.js
@@ -20,7 +20,7 @@
 // USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 'use strict';
-require('../common');
+const common = require('../common');
 const assert = require('assert');
 const fork = require('child_process').fork;
 const net = require('net');
@@ -81,9 +81,10 @@ if (process.argv[2] === 'child') {
 
   const child = fork(process.argv[1], ['child']);
 
-  child.on('exit', function() {
-    console.log('CHILD: died');
-  });
+  child.on('exit', common.mustCall(function(code, signal) {
+    const message = `CHILD: died with ${code}, ${signal}`;
+    assert.strictEqual(code, 0, message);
+  }));
 
   // send net.Server to child and test by connecting
   const testServer = function(callback) {
@@ -192,7 +193,6 @@ if (process.argv[2] === 'child') {
 
       testSocket(function() {
         socketSuccess = true;
-        child.kill();
       });
     });