Skip to content

Commit 96b2d8d

Browse files
sethbrenithLeko
authored andcommitted
fs: check for symlink support in fs-promises test
Attempting to make symlinks as a non-administrator user in Windows causes a permission error. We need to update test-fs-promises to avoid making symlinks if the platform does not support it. PR-URL: #19018 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Shingo Inoue <leko.noor@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent 67b5985 commit 96b2d8d

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

test/parallel/test-fs-promises.js

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -116,21 +116,24 @@ function verifyStatObject(stat) {
116116
stats = await stat(newPath);
117117
verifyStatObject(stats);
118118

119-
const newLink = path.resolve(tmpDir, 'baz3.js');
120-
await symlink(newPath, newLink);
119+
if (common.canCreateSymLink()) {
120+
const newLink = path.resolve(tmpDir, 'baz3.js');
121+
await symlink(newPath, newLink);
121122

122-
const newLink2 = path.resolve(tmpDir, 'baz4.js');
123-
await link(newPath, newLink2);
123+
stats = await lstat(newLink);
124+
verifyStatObject(stats);
124125

125-
stats = await lstat(newLink);
126-
verifyStatObject(stats);
126+
assert.strictEqual(newPath.toLowerCase(),
127+
(await realpath(newLink)).toLowerCase());
128+
assert.strictEqual(newPath.toLowerCase(),
129+
(await readlink(newLink)).toLowerCase());
127130

128-
assert.strictEqual(newPath.toLowerCase(),
129-
(await realpath(newLink)).toLowerCase());
130-
assert.strictEqual(newPath.toLowerCase(),
131-
(await readlink(newLink)).toLowerCase());
131+
await unlink(newLink);
132+
}
133+
134+
const newLink2 = path.resolve(tmpDir, 'baz4.js');
135+
await link(newPath, newLink2);
132136

133-
await unlink(newLink);
134137
await unlink(newLink2);
135138

136139
const newdir = path.resolve(tmpDir, 'dir');

0 commit comments

Comments
 (0)