From 5f617c5f9e7d9d69e29df10d578f03c5c3e03a62 Mon Sep 17 00:00:00 2001 From: Santiago Gimeno Date: Mon, 15 Aug 2016 21:53:14 +0200 Subject: [PATCH] test: fix flaky fs-watch tests `test-fs-watch-recursive` and `test-fs-watch` were both watching the same folder: `tmp/testsubdir` so running them sequentially on `OS X` could make `test-fs-watch` to fail due to events generated in the other test. Make them watch a random directory to fix the issue. Fixes: https://github.com/nodejs/node/issues/8045 PR-URL: https://github.com/nodejs/node/pull/8115 Reviewed-By: Rich Trott Reviewed-By: Evan Lucas Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- test/parallel/test-fs-watch-recursive.js | 8 +++----- test/sequential/test-fs-watch.js | 9 +++------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/test/parallel/test-fs-watch-recursive.js b/test/parallel/test-fs-watch-recursive.js index 23a92129a75f01..603303abb2855c 100644 --- a/test/parallel/test-fs-watch-recursive.js +++ b/test/parallel/test-fs-watch-recursive.js @@ -13,14 +13,12 @@ const fs = require('fs'); const testDir = common.tmpDir; const filenameOne = 'watch.txt'; -const testsubdirName = 'testsubdir'; -const testsubdir = path.join(testDir, testsubdirName); -const relativePathOne = path.join('testsubdir', filenameOne); -const filepathOne = path.join(testsubdir, filenameOne); common.refreshTmpDir(); -fs.mkdirSync(testsubdir, 0o700); +const testsubdir = fs.mkdtempSync(testDir + path.sep); +const relativePathOne = path.join(path.basename(testsubdir), filenameOne); +const filepathOne = path.join(testsubdir, filenameOne); const watcher = fs.watch(testDir, {recursive: true}); diff --git a/test/sequential/test-fs-watch.js b/test/sequential/test-fs-watch.js index f254ebc17cf5ae..43b23bd5bd0a79 100644 --- a/test/sequential/test-fs-watch.js +++ b/test/sequential/test-fs-watch.js @@ -21,11 +21,6 @@ var filenameTwo = 'hasOwnProperty'; var filepathTwo = filenameTwo; var filepathTwoAbs = path.join(testDir, filenameTwo); -var filenameThree = 'newfile.txt'; -var testsubdir = path.join(testDir, 'testsubdir'); -var filepathThree = path.join(testsubdir, filenameThree); - - process.on('exit', function() { assert.ok(watchSeenOne > 0); assert.ok(watchSeenTwo > 0); @@ -78,7 +73,9 @@ setImmediate(function() { fs.writeFileSync(filepathTwoAbs, 'pardner'); }); -fs.mkdirSync(testsubdir, 0o700); +const filenameThree = 'newfile.txt'; +const testsubdir = fs.mkdtempSync(testDir + path.sep); +const filepathThree = path.join(testsubdir, filenameThree); assert.doesNotThrow( function() {