summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJeremiah Senkpiel <fishrock123@rocketmail.com>2018-12-10 16:34:32 -0800
committerJeremiah Senkpiel <fishrock123@rocketmail.com>2019-01-23 15:45:46 -0800
commite47f972d6851b3196b3b2ba611929f25a5fcadb6 (patch)
tree029dfbf0f302224763c6e541d0909b86c87ef0c6 /test
parent5f866821adf71ff3ed909d4be8c808197663c110 (diff)
downloadandroid-node-v8-e47f972d6851b3196b3b2ba611929f25a5fcadb6.tar.gz
android-node-v8-e47f972d6851b3196b3b2ba611929f25a5fcadb6.tar.bz2
android-node-v8-e47f972d6851b3196b3b2ba611929f25a5fcadb6.zip
child_process: truncate output when maxBuffer is exceeded
Preserves truncated output for `child_process.exec()` when `maxBuffer` is exceeded. This is particularly useful for commands which have indistinguishable error codes for what output they produce. PR-URL: https://github.com/nodejs/node/pull/24951 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-child-process-exec-maxBuffer.js25
1 files changed, 19 insertions, 6 deletions
diff --git a/test/parallel/test-child-process-exec-maxBuffer.js b/test/parallel/test-child-process-exec-maxBuffer.js
index 569efb5deb..dfa46b0b00 100644
--- a/test/parallel/test-child-process-exec-maxBuffer.js
+++ b/test/parallel/test-child-process-exec-maxBuffer.js
@@ -22,13 +22,13 @@ function runChecks(err, stdio, streamName, expected) {
}
{
- const cmd = 'echo "hello world"';
+ const cmd = 'echo hello world';
cp.exec(
cmd,
{ maxBuffer: 5 },
common.mustCall((err, stdout, stderr) => {
- runChecks(err, { stdout, stderr }, 'stdout', '');
+ runChecks(err, { stdout, stderr }, 'stdout', 'hello');
})
);
}
@@ -42,7 +42,7 @@ const unicode = '中文测试'; // length = 4, byte length = 12
cmd,
{ maxBuffer: 10 },
common.mustCall((err, stdout, stderr) => {
- runChecks(err, { stdout, stderr }, 'stdout', '');
+ runChecks(err, { stdout, stderr }, 'stdout', '中文测试\n');
})
);
}
@@ -54,7 +54,7 @@ const unicode = '中文测试'; // length = 4, byte length = 12
cmd,
{ maxBuffer: 3 },
common.mustCall((err, stdout, stderr) => {
- runChecks(err, { stdout, stderr }, 'stderr', '');
+ runChecks(err, { stdout, stderr }, 'stderr', '中文测');
})
);
}
@@ -66,7 +66,7 @@ const unicode = '中文测试'; // length = 4, byte length = 12
cmd,
{ encoding: null, maxBuffer: 10 },
common.mustCall((err, stdout, stderr) => {
- runChecks(err, { stdout, stderr }, 'stdout', '');
+ runChecks(err, { stdout, stderr }, 'stdout', '中文测试\n');
})
);
@@ -80,9 +80,22 @@ const unicode = '中文测试'; // length = 4, byte length = 12
cmd,
{ encoding: null, maxBuffer: 3 },
common.mustCall((err, stdout, stderr) => {
- runChecks(err, { stdout, stderr }, 'stderr', '');
+ runChecks(err, { stdout, stderr }, 'stderr', '中文测');
})
);
child.stderr.setEncoding('utf-8');
}
+
+{
+ const cmd = `"${process.execPath}" -e "console.error('${unicode}');"`;
+
+ cp.exec(
+ cmd,
+ { encoding: null, maxBuffer: 5 },
+ common.mustCall((err, stdout, stderr) => {
+ const buf = Buffer.from(unicode).slice(0, 5);
+ runChecks(err, { stdout, stderr }, 'stderr', buf);
+ })
+ );
+}