From 8a574c3f3d17199ae7afd14401078cc3389833e3 Mon Sep 17 00:00:00 2001 From: Masashi Hirano Date: Tue, 8 May 2018 02:16:18 +0900 Subject: [PATCH 1/3] test: add test for fsPromises.lchmod To increase test coverage for fs/promises, add test for fsPromises.lchmod. --- test/parallel/test-fs-promises.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/parallel/test-fs-promises.js b/test/parallel/test-fs-promises.js index 7dccdea9bc2fd8..4ed280f5f5a009 100644 --- a/test/parallel/test-fs-promises.js +++ b/test/parallel/test-fs-promises.js @@ -12,6 +12,7 @@ const { chmod, copyFile, link, + lchmod, lstat, mkdir, mkdtemp, @@ -128,7 +129,9 @@ function verifyStatObject(stat) { if (common.canCreateSymLink()) { const newLink = path.resolve(tmpDir, 'baz3.js'); + const newMode = 0o666; await symlink(newPath, newLink); + await lchmod(newLink, newMode); stats = await lstat(newLink); verifyStatObject(stats); @@ -137,6 +140,7 @@ function verifyStatObject(stat) { (await realpath(newLink)).toLowerCase()); assert.strictEqual(newPath.toLowerCase(), (await readlink(newLink)).toLowerCase()); + assert.strictEqual(stats.mode & 0o777, newMode); await unlink(newLink); } From 9050df0b243d3d3e3340d418b7d12cd0199f5328 Mon Sep 17 00:00:00 2001 From: Masashi Hirano Date: Fri, 25 May 2018 01:26:37 +0900 Subject: [PATCH 2/3] test: fix to run fsPromises.lchmod test on only macOS --- test/parallel/test-fs-promises.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-fs-promises.js b/test/parallel/test-fs-promises.js index 4ed280f5f5a009..be263c3ae4fec9 100644 --- a/test/parallel/test-fs-promises.js +++ b/test/parallel/test-fs-promises.js @@ -129,10 +129,7 @@ function verifyStatObject(stat) { if (common.canCreateSymLink()) { const newLink = path.resolve(tmpDir, 'baz3.js'); - const newMode = 0o666; await symlink(newPath, newLink); - await lchmod(newLink, newMode); - stats = await lstat(newLink); verifyStatObject(stats); @@ -140,7 +137,13 @@ function verifyStatObject(stat) { (await realpath(newLink)).toLowerCase()); assert.strictEqual(newPath.toLowerCase(), (await readlink(newLink)).toLowerCase()); - assert.strictEqual(stats.mode & 0o777, newMode); + if (common.isOSX) { + // lchmod is only available on macOS + const newMode = 0o666; + await lchmod(newLink, newMode); + assert.strictEqual(await lstat(newLink).mode & 0o777, newMode); + } + await unlink(newLink); } From ea2a7c78e2c0f0e18c8bae41308eb52cbd430f35 Mon Sep 17 00:00:00 2001 From: shisama Date: Fri, 25 May 2018 21:22:53 +0900 Subject: [PATCH 3/3] test: fix error that occurs with test for fsPromises.lchmod --- test/parallel/test-fs-promises.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-fs-promises.js b/test/parallel/test-fs-promises.js index be263c3ae4fec9..d2e82243458ffe 100644 --- a/test/parallel/test-fs-promises.js +++ b/test/parallel/test-fs-promises.js @@ -141,7 +141,8 @@ function verifyStatObject(stat) { // lchmod is only available on macOS const newMode = 0o666; await lchmod(newLink, newMode); - assert.strictEqual(await lstat(newLink).mode & 0o777, newMode); + stats = await lstat(newLink); + assert.strictEqual(stats.mode & 0o777, newMode); }