This commit adds a mustNotCall() helper for testing. This provides an alternative to using common.fail() as a callback, or creating a callback function for the sole purpose of calling common.fail(). PR-URL: https://github.com/nodejs/node/pull/11152 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
28 lines
783 B
JavaScript
28 lines
783 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const testDir = common.tmpDir;
|
|
const testsubdir = path.join(testDir, 'testsubdir');
|
|
const filepath = path.join(testsubdir, 'watch.txt');
|
|
|
|
function cleanup() {
|
|
try { fs.unlinkSync(filepath); } catch (e) { }
|
|
try { fs.rmdirSync(testsubdir); } catch (e) { }
|
|
}
|
|
process.on('exit', cleanup);
|
|
cleanup();
|
|
|
|
try { fs.mkdirSync(testsubdir, 0o700); } catch (e) {}
|
|
|
|
// Need a grace period, else the mkdirSync() above fires off an event.
|
|
setTimeout(function() {
|
|
const watcher = fs.watch(testDir, { persistent: true }, common.mustNotCall());
|
|
setTimeout(function() {
|
|
fs.writeFileSync(filepath, 'test');
|
|
}, 100);
|
|
setTimeout(function() {
|
|
watcher.close();
|
|
}, 500);
|
|
}, 50);
|