Browse Source

test: make fs-watch-recursive less racy

FSEventStream may emit events that happened right before it has started.
Ignore changes emitted for the directory itself, since they may come
from the stale events.
v0.11.10-release
Fedor Indutny 11 years ago
parent
commit
78cd4533d9
  1. 9
      test/simple/test-fs-watch-recursive.js

9
test/simple/test-fs-watch-recursive.js

@ -30,7 +30,8 @@ if (process.platform === 'darwin') {
var testDir = common.tmpDir;
var filenameOne = 'watch.txt';
var testsubdir = path.join(testDir, 'testsubdir');
var testsubdirName = 'testsubdir';
var testsubdir = path.join(testDir, testsubdirName);
var relativePathOne = path.join('testsubdir', filenameOne);
var filepathOne = path.join(testsubdir, filenameOne);
@ -44,12 +45,16 @@ if (process.platform === 'darwin') {
};
try { fs.mkdirSync(testsubdir, 0700); } catch (e) {}
fs.writeFileSync(filepathOne, 'hello');
assert.doesNotThrow(function() {
var watcher = fs.watch(testDir, {recursive: true});
watcher.on('change', function(event, filename) {
assert.ok('change' === event || 'rename' === event);
// Ignore stale events generated by mkdir
if (filename === testsubdirName)
return;
assert.equal(relativePathOne, filename);
watcher.close();

Loading…
Cancel
Save