summaryrefslogtreecommitdiff
path: root/test/parallel/test-stdin-pipe-large.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-stdin-pipe-large.js')
-rw-r--r--test/parallel/test-stdin-pipe-large.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/parallel/test-stdin-pipe-large.js b/test/parallel/test-stdin-pipe-large.js
new file mode 100644
index 0000000000..5f4a2f10c8
--- /dev/null
+++ b/test/parallel/test-stdin-pipe-large.js
@@ -0,0 +1,23 @@
+'use strict';
+// See https://github.com/nodejs/node/issues/5927
+
+const common = require('../common');
+const assert = require('assert');
+const spawn = require('child_process').spawn;
+
+if (process.argv[2] === 'child') {
+ process.stdin.pipe(process.stdout);
+ return;
+}
+
+const child = spawn(process.execPath, [__filename, 'child'], { stdio: 'pipe' });
+
+const expectedBytes = 1024 * 1024;
+let readBytes = 0;
+
+child.stdin.end(Buffer.alloc(expectedBytes));
+
+child.stdout.on('data', (chunk) => readBytes += chunk.length);
+child.stdout.on('end', common.mustCall(() => {
+ assert.strictEqual(readBytes, expectedBytes);
+}));