diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index 12e842158580a7..626ee8ad3f942f 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -1010,7 +1010,7 @@ async function lutimes(path, atime, mtime) { async function realpath(path, options) { options = getOptions(options); path = getValidatedPath(path); - return binding.realpath(path, options.encoding, kUsePromises); + return binding.realpath(pathModule.toNamespacedPath(path), options.encoding, kUsePromises); } async function mkdtemp(prefix, options) { diff --git a/test/parallel/test-fs-long-path.js b/test/parallel/test-fs-long-path.js index f3a8ea7a9ebf9e..11724a88dc4c29 100644 --- a/test/parallel/test-fs-long-path.js +++ b/test/parallel/test-fs-long-path.js @@ -46,4 +46,7 @@ fs.writeFile(fullPath, 'ok', common.mustSucceed(() => { // Tests https://github.com/nodejs/node/issues/39721 fs.realpath.native(fullPath, common.mustSucceed()); + + // Tests https://github.com/nodejs/node/issues/51031 + fs.promises.realpath(fullPath).then(common.mustCall(), common.mustNotCall()); }));