mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
0912b88320
test-stdout-buffer-flush-on-exit is unfortunately non-deterministic. It will, every so often, pass when it is supposed to fail. This is currently guarded against by running the test with three different long strings. This change increases it to five to reduce the false negatives. PR-URL: https://github.com/nodejs/node/pull/6633 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
28 lines
793 B
JavaScript
28 lines
793 B
JavaScript
'use strict';
|
|
// Refs: https://github.com/nodejs/node/issues/2148
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const execSync = require('child_process').execSync;
|
|
|
|
const lineSeed = 'foo bar baz quux quuz aaa bbb ccc';
|
|
|
|
if (process.argv[2] === 'child') {
|
|
const longLine = lineSeed.repeat(parseInt(process.argv[4], 10));
|
|
process.on('exit', () => {
|
|
console.log(longLine);
|
|
});
|
|
process.exit();
|
|
}
|
|
|
|
[22, 21, 20, 19, 18, 17, 16, 16, 17, 18, 19, 20, 21, 22].forEach((exponent) => {
|
|
const bigNum = Math.pow(2, exponent);
|
|
const longLine = lineSeed.repeat(bigNum);
|
|
const cmd = `${process.execPath} ${__filename} child ${exponent} ${bigNum}`;
|
|
const stdout = execSync(cmd).toString().trim();
|
|
|
|
assert.strictEqual(stdout, longLine, `failed with exponent ${exponent}`);
|
|
});
|
|
|
|
|