diff --git a/test/parallel/test-http-destroyed-socket-write2.js b/test/parallel/test-http-destroyed-socket-write2.js index 9065939ccb..ac6ab92c17 100644 --- a/test/parallel/test-http-destroyed-socket-write2.js +++ b/test/parallel/test-http-destroyed-socket-write2.js @@ -19,28 +19,13 @@ server.listen(common.PORT, function() { method: 'POST' }); - var timer = setTimeout(write, 50); - var writes = 0; - function write() { - if (++writes === 128) { - clearTimeout(timer); - req.end(); - test(); - } else { - req.write('hello', function() { - timer = setImmediate(write); - }); - } + req.write('hello', function() { + setImmediate(write); + }); } - var gotError = false; - var sawData = false; - var sawEnd = false; - - req.on('error', function(er) { - assert(!gotError); - gotError = true; + req.on('error', common.mustCall(function(er) { switch (er.code) { // This is the expected case case 'ECONNRESET': @@ -56,39 +41,20 @@ server.listen(common.PORT, function() { 'Writing to a torn down client should RESET or ABORT'); break; } - clearTimeout(timer); - console.log('ECONNRESET was raised after %d writes', writes); - test(); - }); + + assert.equal(req.output.length, 0); + assert.equal(req.outputEncodings.length, 0); + server.close(); + })); req.on('response', function(res) { res.on('data', function(chunk) { - console.error('saw data: ' + chunk); - sawData = true; + common.fail('Should not receive response data'); }); res.on('end', function() { - console.error('saw end'); - sawEnd = true; + common.fail('Should not receive response end'); }); }); - var closed = false; - - function test() { - if (closed) - return; - - server.close(); - closed = true; - - if (req.output.length || req.outputEncodings.length) - console.error('bad happened', req.output, req.outputEncodings); - - assert.equal(req.output.length, 0); - assert.equal(req.outputEncodings, 0); - assert(gotError); - assert(!sawData); - assert(!sawEnd); - console.log('ok'); - } + write(); });