Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions test/known_issues/known_issues.status
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,24 @@ prefix known_issues
[true] # This section applies to all platforms

[$system==win32]
test-fs-copyfile-respect-permissions: SKIP

[$system==linux]
test-vm-timeout-escape-promise: PASS,FLAKY
test-fs-copyfile-respect-permissions: SKIP

[$system==macos]

[$system==solaris]
test-fs-copyfile-respect-permissions: SKIP

[$system==freebsd]
test-fs-copyfile-respect-permissions: SKIP

[$system==aix]
test-fs-copyfile-respect-permissions: SKIP

[$arch==arm]
# https://github.com/nodejs/node/issues/24120
test-vm-timeout-escape-nexttick: PASS,FLAKY
test-fs-copyfile-respect-permissions: SKIP
25 changes: 25 additions & 0 deletions test/known_issues/test-fs-copyfile-respect-permissions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
'use strict';

// Test that fs.copyFile() respects file permissions.
// Ref: https://github.com/nodejs/node/issues/26936

require('../common');

const tmpdir = require('../common/tmpdir');
tmpdir.refresh();

const assert = require('assert');
const fs = require('fs');
const path = require('path');

const source = path.join(tmpdir.path, 'source');
const dest = path.join(tmpdir.path, 'dest');

fs.writeFileSync(source, 'source');
fs.writeFileSync(dest, 'dest');
fs.chmodSync(dest, '444');

fs.copyFile(source, dest, (err) => {
assert.strictEqual(err.code, 'EACCESS');
assert.strictEqual(fs.readFileSync(dest, 'utf8'), 'dest');
});