test: fix test-permission-deny-fs-wildcard (win32)

The test fails on Windows when the working directory is not on a 'C:'
drive. For example, it always fails during the coverage-windows GitHub
action, which runs tests on drive 'D:'.

Fixes: https://github.com/nodejs/node/issues/47093
PR-URL: https://github.com/nodejs/node/pull/47095
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
This commit is contained in:
Tobias Nießen
2023-03-15 02:57:15 +01:00
committed by GitHub
parent f543c054fc
commit 1cfe058778

View File

@@ -6,25 +6,28 @@ common.skipIfWorker();
const assert = require('assert');
const fs = require('fs');
const path = require('path');
if (common.isWindows) {
const { root } = path.parse(process.cwd());
const abs = (p) => path.join(root, p);
const denyList = [
'C:\\tmp\\*',
'C:\\example\\foo*',
'C:\\example\\bar*',
'C:\\folder\\*',
'C:\\show',
'C:\\slower',
'C:\\slown',
'C:\\home\\foo\\*',
];
'tmp\\*',
'example\\foo*',
'example\\bar*',
'folder\\*',
'show',
'slower',
'slown',
'home\\foo\\*',
].map(abs);
assert.ok(process.permission.deny('fs.read', denyList));
assert.ok(process.permission.has('fs.read', 'C:\\slow'));
assert.ok(process.permission.has('fs.read', 'C:\\slows'));
assert.ok(!process.permission.has('fs.read', 'C:\\slown'));
assert.ok(!process.permission.has('fs.read', 'C:\\home\\foo'));
assert.ok(!process.permission.has('fs.read', 'C:\\home\\foo\\'));
assert.ok(process.permission.has('fs.read', 'C:\\home\\fo'));
assert.ok(process.permission.has('fs.read', abs('slow')));
assert.ok(process.permission.has('fs.read', abs('slows')));
assert.ok(!process.permission.has('fs.read', abs('slown')));
assert.ok(!process.permission.has('fs.read', abs('home\\foo')));
assert.ok(!process.permission.has('fs.read', abs('home\\foo\\')));
assert.ok(process.permission.has('fs.read', abs('home\\fo')));
} else {
const denyList = [
'/tmp/*',