Skip to content

Commit

Permalink
test: deflake test-watch-file-shared-dependency
Browse files Browse the repository at this point in the history
Delay dependency file modification on macOS.

Refs: #51842
  • Loading branch information
lpinca committed Dec 23, 2024
1 parent 48c75bc commit 4b5f471
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions test/parallel/test-watch-file-shared-dependency.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ if (common.isIBMi)
if (common.isAIX)
common.skip('folder watch capability is limited in AIX.');

tmpdir.refresh();

const { FilesWatcher } = watcher;

tmpdir.refresh();
Expand All @@ -32,15 +30,17 @@ Object.entries(fixtureContent)
.forEach(([file, content]) => writeFileSync(fixturePaths[file], content));

describe('watch file with shared dependency', () => {
it('should not remove shared dependencies when unfiltering an owner', () => {
it('should not remove shared dependencies when unfiltering an owner', (t, done) => {
const controller = new AbortController();
const watcher = new FilesWatcher({ signal: controller.signal, debounce: 200 });
const watcher = new FilesWatcher({ signal: controller.signal });

watcher.on('changed', ({ owners }) => {
assert.strictEqual(owners.size, 2);
if (owners.size !== 2) return;

assert.ok(owners.has(fixturePaths['test.js']));
assert.ok(owners.has(fixturePaths['test-2.js']));
controller.abort();
done();
});
watcher.filterFile(fixturePaths['test.js']);
watcher.filterFile(fixturePaths['test-2.js']);
Expand All @@ -49,6 +49,20 @@ describe('watch file with shared dependency', () => {
watcher.unfilterFilesOwnedBy([fixturePaths['test.js']]);
watcher.filterFile(fixturePaths['test.js']);
watcher.filterFile(fixturePaths['dependency.js'], fixturePaths['test.js']);
writeFileSync(fixturePaths['dependency.js'], 'module.exports = { modified: true };');

if (common.isMacOS) {
// Do the write with a delay to ensure that the OS is ready to notify us.
setTimeout(() => {
writeFileSync(
fixturePaths['dependency.js'],
'module.exports = { modified: true };'
);
}, common.platformTimeout(200));
} else {
writeFileSync(
fixturePaths['dependency.js'],
'module.exports = { modified: true };'
);
}
});
});

0 comments on commit 4b5f471

Please sign in to comment.