summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRich Trott <rtrott@gmail.com>2018-11-24 11:27:15 -0800
committerRich Trott <rtrott@gmail.com>2018-11-24 23:36:08 -0800
commit8c0aa84f854d29ef44485d52c8bddba7a3ce77d0 (patch)
tree1c734f8df317812c07cf3fd5707660aea0d9e186 /test
parent824f16c8610b31ce06e4b6ff6927eb0df2da1953 (diff)
downloadandroid-node-v8-8c0aa84f854d29ef44485d52c8bddba7a3ce77d0.tar.gz
android-node-v8-8c0aa84f854d29ef44485d52c8bddba7a3ce77d0.tar.bz2
android-node-v8-8c0aa84f854d29ef44485d52c8bddba7a3ce77d0.zip
test: split out http2 from test-stream-pipeline
Splitting out the http2 portion of the test has a few benfits: * We don't skip the rest of the tests if `node` is compiled without crypto. * We can find out if the http2 portion of the test is responsible for the timeouts reported in issue 24456. Refs: https://github.com/nodejs/node/issues/24456 PR-URL: https://github.com/nodejs/node/pull/24631 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/parallel.status2
-rw-r--r--test/parallel/test-stream-pipeline-http2.js36
-rw-r--r--test/parallel/test-stream-pipeline.js32
3 files changed, 38 insertions, 32 deletions
diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status
index b45e4448d9..cfc4e36e9a 100644
--- a/test/parallel/parallel.status
+++ b/test/parallel/parallel.status
@@ -12,6 +12,8 @@ test-net-connect-options-port: PASS,FLAKY
test-http2-pipe: PASS,FLAKY
test-worker-syntax-error: PASS,FLAKY
test-worker-syntax-error-file: PASS,FLAKY
+# https://github.com/nodejs/node/issues/24456
+test-stream-pipeline-http2: PASS,FLAKY
[$system==linux]
diff --git a/test/parallel/test-stream-pipeline-http2.js b/test/parallel/test-stream-pipeline-http2.js
new file mode 100644
index 0000000000..d7ff08888a
--- /dev/null
+++ b/test/parallel/test-stream-pipeline-http2.js
@@ -0,0 +1,36 @@
+'use strict';
+
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+const { Readable, pipeline } = require('stream');
+const http2 = require('http2');
+
+{
+ const server = http2.createServer((req, res) => {
+ pipeline(req, res, common.mustCall());
+ });
+
+ server.listen(0, () => {
+ const url = `http://localhost:${server.address().port}`;
+ const client = http2.connect(url);
+ const req = client.request({ ':method': 'POST' });
+
+ const rs = new Readable({
+ read() {
+ rs.push('hello');
+ }
+ });
+
+ pipeline(rs, req, common.mustCall((err) => {
+ server.close();
+ client.close();
+ }));
+
+ let cnt = 10;
+ req.on('data', (data) => {
+ cnt--;
+ if (cnt === 0) rs.destroy();
+ });
+ });
+}
diff --git a/test/parallel/test-stream-pipeline.js b/test/parallel/test-stream-pipeline.js
index 84fb01fe0d..34928794cd 100644
--- a/test/parallel/test-stream-pipeline.js
+++ b/test/parallel/test-stream-pipeline.js
@@ -1,12 +1,9 @@
'use strict';
const common = require('../common');
-if (!common.hasCrypto)
- common.skip('missing crypto');
const { Stream, Writable, Readable, Transform, pipeline } = require('stream');
const assert = require('assert');
const http = require('http');
-const http2 = require('http2');
const { promisify } = require('util');
{
@@ -276,35 +273,6 @@ const { promisify } = require('util');
}
{
- const server = http2.createServer((req, res) => {
- pipeline(req, res, common.mustCall());
- });
-
- server.listen(0, () => {
- const url = `http://localhost:${server.address().port}`;
- const client = http2.connect(url);
- const req = client.request({ ':method': 'POST' });
-
- const rs = new Readable({
- read() {
- rs.push('hello');
- }
- });
-
- pipeline(rs, req, common.mustCall((err) => {
- server.close();
- client.close();
- }));
-
- let cnt = 10;
- req.on('data', (data) => {
- cnt--;
- if (cnt === 0) rs.destroy();
- });
- });
-}
-
-{
const makeTransform = () => {
const tr = new Transform({
transform(data, enc, cb) {