Browse Source

test: fix fs.readFile('/dev/stdin') tests

The tests were creating the temp fixture file in both the parent
and the child process, leading to interesting race conditions on
the slower buildbots.

Rod notes that the tests started failing after putting the build
directory on a NFS mount.

Fixes: https://github.com/nodejs/io.js/issues/2261
PR-URL: https://github.com/nodejs/io.js/pull/2265
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
v4.0.0-rc
Ben Noordhuis 10 years ago
parent
commit
bc733f7065
  1. 10
      test/parallel/test-fs-readfile-pipe-large.js
  2. 10
      test/parallel/test-fs-readfilesync-pipe-large.js

10
test/parallel/test-fs-readfile-pipe-large.js

@ -12,11 +12,6 @@ if (process.platform === 'win32') {
var fs = require('fs'); var fs = require('fs');
var filename = path.join(common.tmpDir, '/readfile_pipe_large_test.txt');
var dataExpected = new Array(1000000).join('a');
common.refreshTmpDir();
fs.writeFileSync(filename, dataExpected);
if (process.argv[2] === 'child') { if (process.argv[2] === 'child') {
fs.readFile('/dev/stdin', function(er, data) { fs.readFile('/dev/stdin', function(er, data) {
if (er) throw er; if (er) throw er;
@ -25,6 +20,11 @@ if (process.argv[2] === 'child') {
return; return;
} }
var filename = path.join(common.tmpDir, '/readfile_pipe_large_test.txt');
var dataExpected = new Array(1000000).join('a');
common.refreshTmpDir();
fs.writeFileSync(filename, dataExpected);
var exec = require('child_process').exec; var exec = require('child_process').exec;
var f = JSON.stringify(__filename); var f = JSON.stringify(__filename);
var node = JSON.stringify(process.execPath); var node = JSON.stringify(process.execPath);

10
test/parallel/test-fs-readfilesync-pipe-large.js

@ -12,16 +12,16 @@ if (process.platform === 'win32') {
var fs = require('fs'); var fs = require('fs');
var filename = path.join(common.tmpDir, '/readfilesync_pipe_large_test.txt');
var dataExpected = new Array(1000000).join('a');
common.refreshTmpDir();
fs.writeFileSync(filename, dataExpected);
if (process.argv[2] === 'child') { if (process.argv[2] === 'child') {
process.stdout.write(fs.readFileSync('/dev/stdin', 'utf8')); process.stdout.write(fs.readFileSync('/dev/stdin', 'utf8'));
return; return;
} }
var filename = path.join(common.tmpDir, '/readfilesync_pipe_large_test.txt');
var dataExpected = new Array(1000000).join('a');
common.refreshTmpDir();
fs.writeFileSync(filename, dataExpected);
var exec = require('child_process').exec; var exec = require('child_process').exec;
var f = JSON.stringify(__filename); var f = JSON.stringify(__filename);
var node = JSON.stringify(process.execPath); var node = JSON.stringify(process.execPath);

Loading…
Cancel
Save