Skip to content

Commit

Permalink
test: add support for NODE_TEST_DIR on a separate mount point
Browse files Browse the repository at this point in the history
Linux permits a filesystem to be mounted at multiple points, but
`fs.renameSync` does not work across different mount points, even if the
same filesystem is mounted on both.
This fixes failing tests when NODE_TEST_DIR mount point is different
from the one on which the tests are executed (E.G. on a separate
partition).

Ref: http://man7.org/linux/man-pages/man2/rename.2.html

PR-URL: #21552
Refs: http://man7.org/linux/man-pages/man2/rename.2.html
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: Ben Coe <bencoe@gmail.com>
  • Loading branch information
aduh95 authored and targos committed Jul 18, 2018
1 parent d9825c7 commit 0108ff6
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 1 addition & 1 deletion test/parallel/test-fs-copyfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ try {
} catch (err) {
assert.strictEqual(err.syscall, 'copyfile');
assert(err.code === 'ENOTSUP' || err.code === 'ENOTTY' ||
err.code === 'ENOSYS');
err.code === 'ENOSYS' || err.code === 'EXDEV');
assert.strictEqual(err.path, src);
assert.strictEqual(err.dest, dest);
}
Expand Down
5 changes: 5 additions & 0 deletions test/parallel/test-fs-error-messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,11 @@ function re(literals, ...values) {
`ENOTEMPTY: directory not empty, rename '${existingDir}' -> ` +
`'${existingDir2}'`);
assert.strictEqual(err.errno, uv.UV_ENOTEMPTY);
} else if (err.code === 'EXDEV') { // not on the same mounted filesystem
assert.strictEqual(
err.message,
`EXDEV: cross-device link not permitted, rename '${existingDir}' -> ` +
`'${existingDir2}'`);
} else if (err.code === 'EEXIST') { // smartos and aix
assert.strictEqual(
err.message,
Expand Down

0 comments on commit 0108ff6

Please sign in to comment.