Skip to content

Commit

Permalink
test: improve coverage of lib/fs.js
Browse files Browse the repository at this point in the history
PR-URL: #38604
Refs: https://coverage.nodejs.org/coverage-29f1b609ba5d12d3/lib/fs.js.html#L2045
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
  • Loading branch information
pd4d10 authored and danielleadams committed May 31, 2021
1 parent 11ac9c6 commit 695e982
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
10 changes: 10 additions & 0 deletions test/parallel/test-fs-write-file.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,13 @@ fs.open(filename4, 'w+', common.mustSucceed((fd) => {

process.nextTick(() => controller.abort());
}

{
// Test read-only mode
const filename = join(tmpdir.path, 'test6.txt');
fs.writeFileSync(filename, '');

// TODO: Correct the error type
const expectedError = common.isWindows ? /EPERM/ : /EBADF/;
fs.writeFile(filename, s, { flag: 'r' }, common.expectsError(expectedError));
}
28 changes: 28 additions & 0 deletions test/parallel/test-fs-writefile-with-fd.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,31 @@ tmpdir.refresh();
}));
}));
}


// Test read-only file descriptor
{
// TODO(pd4d10): https://github.com/nodejs/node/issues/38607
const expectedError = common.isWindows ? /EPERM/ : /EBADF/;

const file = join(tmpdir.path, 'test.txt');

fs.open(file, 'r', common.mustSucceed((fd) => {
fs.writeFile(fd, 'World', common.expectsError(expectedError));
}));
}

// Test with an AbortSignal
{
const controller = new AbortController();
const signal = controller.signal;
const file = join(tmpdir.path, 'test.txt');

fs.open(file, 'w', common.mustSucceed((fd) => {
fs.writeFile(fd, 'World', { signal }, common.expectsError({
name: 'AbortError'
}));
}));

controller.abort();
}

0 comments on commit 695e982

Please sign in to comment.