test: fix fs.readFile('/dev/stdin') tests
authorBen Noordhuis <info@bnoordhuis.nl>
Wed, 29 Jul 2015 00:30:28 +0000 (02:30 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Wed, 29 Jul 2015 11:57:14 +0000 (13:57 +0200)
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>
test/parallel/test-fs-readfile-pipe-large.js
test/parallel/test-fs-readfilesync-pipe-large.js

index 66f955a..99e4bfa 100644 (file)
@@ -12,11 +12,6 @@ if (process.platform === 'win32') {
 
 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') {
   fs.readFile('/dev/stdin', function(er, data) {
     if (er) throw er;
@@ -25,6 +20,11 @@ if (process.argv[2] === 'child') {
   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 f = JSON.stringify(__filename);
 var node = JSON.stringify(process.execPath);
index e9045b2..9b0b6b4 100644 (file)
@@ -12,16 +12,16 @@ if (process.platform === 'win32') {
 
 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') {
   process.stdout.write(fs.readFileSync('/dev/stdin', 'utf8'));
   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 f = JSON.stringify(__filename);
 var node = JSON.stringify(process.execPath);