mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
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.
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user