diff options
author | Sakthipriyan Vairamani <thechargingvolcano@gmail.com> | 2015-08-28 20:08:39 +0530 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2015-11-10 08:07:41 -0800 |
commit | a28b938895ed0c623e27fe6917dac61123a5f016 (patch) | |
tree | 3ed0b5c2648b8a467dac22f4b2d06aca6ad4ac49 /test/parallel/test-fs-watch-recursive.js | |
parent | 9aee2c0e26a493337ddccb94a2ce891e58c3547b (diff) | |
download | android-node-v8-a28b938895ed0c623e27fe6917dac61123a5f016.tar.gz android-node-v8-a28b938895ed0c623e27fe6917dac61123a5f016.tar.bz2 android-node-v8-a28b938895ed0c623e27fe6917dac61123a5f016.zip |
test: enhance fs-watch-recursive test
This patch
- issues a TAP plugin parsable message on non darwin/windows boxes
- uses `const` wherever applicable
- moves the test to parallel
PR-URL: https://github.com/nodejs/node/pull/2599
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-fs-watch-recursive.js')
-rw-r--r-- | test/parallel/test-fs-watch-recursive.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/parallel/test-fs-watch-recursive.js b/test/parallel/test-fs-watch-recursive.js new file mode 100644 index 0000000000..9c68b5e355 --- /dev/null +++ b/test/parallel/test-fs-watch-recursive.js @@ -0,0 +1,43 @@ +'use strict'; + +const common = require('../common'); + +if (!(process.platform === 'darwin' || common.isWindows)) { + console.log('1..0 # Skipped: recursive option is darwin/windows specific'); + return; +} + +const assert = require('assert'); +const path = require('path'); +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 watcher = fs.watch(testDir, {recursive: true}); + +var watcherClosed = false; +watcher.on('change', function(event, filename) { + assert.ok('change' === event || 'rename' === event); + + // Ignore stale events generated by mkdir and other tests + if (filename !== relativePathOne) + return; + + watcher.close(); + watcherClosed = true; +}); + +fs.writeFileSync(filepathOne, 'world'); + +process.on('exit', function() { + assert(watcherClosed, 'watcher Object was not closed'); +}); |