From b7dc6f06fb43096e77a02e6ad431aab32ae92968 Mon Sep 17 00:00:00 2001 From: Seth Brenith Date: Mon, 26 Feb 2018 13:06:12 -0800 Subject: [PATCH] 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. --- test/parallel/test-fs-promises.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/test/parallel/test-fs-promises.js b/test/parallel/test-fs-promises.js index e24374602bfc3f..ba3a91d5b39f8a 100644 --- a/test/parallel/test-fs-promises.js +++ b/test/parallel/test-fs-promises.js @@ -116,21 +116,24 @@ function verifyStatObject(stat) { stats = await stat(newPath); verifyStatObject(stats); - const newLink = path.resolve(tmpDir, 'baz3.js'); - await symlink(newPath, newLink); + if (common.canCreateSymLink()) { + const newLink = path.resolve(tmpDir, 'baz3.js'); + await symlink(newPath, newLink); - const newLink2 = path.resolve(tmpDir, 'baz4.js'); - await link(newPath, newLink2); + stats = await lstat(newLink); + verifyStatObject(stats); - stats = await lstat(newLink); - verifyStatObject(stats); + assert.strictEqual(newPath.toLowerCase(), + (await realpath(newLink)).toLowerCase()); + assert.strictEqual(newPath.toLowerCase(), + (await readlink(newLink)).toLowerCase()); - assert.strictEqual(newPath.toLowerCase(), - (await realpath(newLink)).toLowerCase()); - assert.strictEqual(newPath.toLowerCase(), - (await readlink(newLink)).toLowerCase()); + await unlink(newLink); + } + + const newLink2 = path.resolve(tmpDir, 'baz4.js'); + await link(newPath, newLink2); - await unlink(newLink); await unlink(newLink2); const newdir = path.resolve(tmpDir, 'dir');