diff options
author | Ujjwal Sharma <usharma1998@gmail.com> | 2018-03-22 22:47:39 +0530 |
---|---|---|
committer | Trivikram <16024985+trivikr@users.noreply.github.com> | 2018-03-28 16:18:10 -0700 |
commit | ff7c2ccf230d0fd43402229da38a238ea1ee039f (patch) | |
tree | 77f6a8e5c00b0e73824f64497fd10aada0e518a4 /test/parallel/test-http-pipeline-assertionerror-finish.js | |
parent | 7e07687230894e2c8d84e91e71251d21609e062e (diff) | |
download | android-node-v8-ff7c2ccf230d0fd43402229da38a238ea1ee039f.tar.gz android-node-v8-ff7c2ccf230d0fd43402229da38a238ea1ee039f.tar.bz2 android-node-v8-ff7c2ccf230d0fd43402229da38a238ea1ee039f.zip |
test: rename tests with descriptive filenames
Refs: https://github.com/nodejs/node/issues/19105
Refs: https://github.com/nodejs/node/blob/master/doc/guides/writing-tests.md#test-structure
PR-URL: https://github.com/nodejs/node/pull/19608
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'test/parallel/test-http-pipeline-assertionerror-finish.js')
-rw-r--r-- | test/parallel/test-http-pipeline-assertionerror-finish.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/parallel/test-http-pipeline-assertionerror-finish.js b/test/parallel/test-http-pipeline-assertionerror-finish.js new file mode 100644 index 0000000000..2780d4bdf6 --- /dev/null +++ b/test/parallel/test-http-pipeline-assertionerror-finish.js @@ -0,0 +1,34 @@ +'use strict'; +const common = require('../common'); + +// This test ensures that Node.js doesn't crash with an AssertionError at +// `ServerResponse.resOnFinish` because of an out-of-order 'finish' bug in +// pipelining. +// https://github.com/nodejs/node/issues/2639 + +const http = require('http'); +const net = require('net'); + +const COUNT = 10; + +const server = http + .createServer( + common.mustCall((req, res) => { + // Close the server, we have only one TCP connection anyway + server.close(); + res.writeHead(200); + res.write('data'); + + setTimeout(function() { + res.end(); + }, (Math.random() * 100) | 0); + }, COUNT) + ) + .listen(0, function() { + const s = net.connect(this.address().port); + + const big = 'GET / HTTP/1.0\r\n\r\n'.repeat(COUNT); + + s.write(big); + s.resume(); + }); |