0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/jstests/noPassthrough/launcher_test.js
2019-07-27 11:02:23 -04:00

32 lines
1.1 KiB
JavaScript

// Note: This test cannot be run in parallel because all output from child processes of the same
// shell is multiplexed to the same buffer.
(function() {
"use strict";
// Note: the windows command line length limit is 8191 characters, so keep this string length
// under that.
const numLines = 300;
const lineContents = "lots of super fun text\n".repeat(numLines).trim();
var echoTest = function() {
clearRawMongoProgramOutput();
// This will produce `numLines` + 1 lines of output because echo isn't being called with
// `-n`. This will block until the program exits.
var exitCode = runProgram("echo", lineContents);
var output = rawMongoProgramOutput();
assert.eq(0, exitCode);
assert.eq(numLines,
output.split('\n').length - 1,
"didn't wait for program's output buffer to finish being consumed");
};
// The motivating failure for the test was a race in runProgram. Empirically, 10 runs has always
// been sufficient for this to fail. 16 gives the test some leeway.
for (var i = 0; i < 16; i++) {
echoTest();
}
})();