From d6c4cbe93c01916cc0720f6842ee3f1e37c9c472 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sat, 7 Apr 2018 14:51:15 +0200 Subject: [PATCH] test: move back test-http-dump-req-when-res-ends Fix test-http-dump-req-when-res-ends and move it back to test/parallel/ Refs: https://github.com/nodejs/node/pull/19823 --- .../test-http-dump-req-when-res-ends.js | 42 +++++++------------ 1 file changed, 16 insertions(+), 26 deletions(-) rename test/{sequential => parallel}/test-http-dump-req-when-res-ends.js (56%) diff --git a/test/sequential/test-http-dump-req-when-res-ends.js b/test/parallel/test-http-dump-req-when-res-ends.js similarity index 56% rename from test/sequential/test-http-dump-req-when-res-ends.js rename to test/parallel/test-http-dump-req-when-res-ends.js index e00f9c5fecee25..718797fae1fe68 100644 --- a/test/sequential/test-http-dump-req-when-res-ends.js +++ b/test/parallel/test-http-dump-req-when-res-ends.js @@ -1,25 +1,24 @@ 'use strict'; -const common = require('../common'); -const http = require('http'); -const assert = require('assert'); -const fs = require('fs'); +const { mustCall } = require('../common'); -let resEnd = null; +const fs = require('fs'); +const http = require('http'); +const { strictEqual } = require('assert'); -const server = http.createServer(common.mustCall(function(req, res) { +const server = http.createServer(mustCall(function(req, res) { + strictEqual(req.socket.listenerCount('data'), 1); + req.socket.once('data', mustCall(function() { + // Ensure that a chunk of data is received before calling `res.end()`. + res.end('hello world'); + })); // This checks if the request gets dumped // resume will be triggered by res.end(). - req.on('resume', common.mustCall(function() { + req.on('resume', mustCall(function() { // There is no 'data' event handler anymore // it gets automatically removed when dumping the request. - assert.strictEqual(req.listenerCount('data'), 0); - - req.on('data', common.mustCallAtLeast(function(d) { - // Leaving the console.log explicitly, so that - // we can know how many chunks we have received. - console.log('data', d); - }, 1)); + strictEqual(req.listenerCount('data'), 0); + req.on('data', mustCall()); })); // We explicitly pause the stream @@ -30,15 +29,9 @@ const server = http.createServer(common.mustCall(function(req, res) { // Start sending the response. res.flushHeaders(); - - resEnd = function() { - setImmediate(function() { - res.end('hello world'); - }); - }; })); -server.listen(0, common.mustCall(function() { +server.listen(0, mustCall(function() { const req = http.request({ method: 'POST', port: server.address().port @@ -48,13 +41,10 @@ server.listen(0, common.mustCall(function() { // for the body. req.flushHeaders(); - req.on('response', common.mustCall(function(res) { + req.on('response', mustCall(function(res) { // Pipe the body as soon as we get the headers of the // response back. - const readFileStream = fs.createReadStream(__filename); - readFileStream.on('end', resEnd); - - readFileStream.pipe(req); + fs.createReadStream(__filename).pipe(req); res.resume();