mirror of https://github.com/lukechilds/node.git
Browse Source
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>v4.x
Sakthipriyan Vairamani
9 years ago
committed by
James M Snell
2 changed files with 43 additions and 51 deletions
@ -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'); |
|||
}); |
@ -1,51 +0,0 @@ |
|||
'use strict'; |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
var path = require('path'); |
|||
var fs = require('fs'); |
|||
|
|||
if (process.platform === 'darwin' || common.isWindows) { |
|||
var watchSeenOne = 0; |
|||
|
|||
var testDir = common.tmpDir; |
|||
|
|||
var filenameOne = 'watch.txt'; |
|||
var testsubdirName = 'testsubdir'; |
|||
var testsubdir = path.join(testDir, testsubdirName); |
|||
var relativePathOne = path.join('testsubdir', filenameOne); |
|||
var filepathOne = path.join(testsubdir, filenameOne); |
|||
|
|||
common.refreshTmpDir(); |
|||
|
|||
process.on('exit', function() { |
|||
assert.ok(watchSeenOne > 0); |
|||
}); |
|||
|
|||
function cleanup() { |
|||
try { fs.unlinkSync(filepathOne); } catch (e) { } |
|||
try { fs.rmdirSync(testsubdir); } catch (e) { } |
|||
}; |
|||
|
|||
try { fs.mkdirSync(testsubdir, 0o700); } catch (e) {} |
|||
|
|||
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 and other tests
|
|||
if (filename !== relativePathOne) |
|||
return; |
|||
|
|||
watcher.close(); |
|||
cleanup(); |
|||
++watchSeenOne; |
|||
}); |
|||
}); |
|||
|
|||
setTimeout(function() { |
|||
fs.writeFileSync(filepathOne, 'world'); |
|||
}, 10); |
|||
} else { |
|||
console.log('1..0 # Skipped: recursive option is darwin/windows specific'); |
|||
} |
Loading…
Reference in new issue