mirror of https://github.com/nodejs/node.git
test: fix failure in test/sequential/test-heapdump.js
The test was failing when it was being run with superuser privileges, so this changes the test from attempting to write to a read-only file to attempting to write to a file with the same name as that of an existing directory, as that is a more reliable way of making v8.writeHeapSnapshot() throw even when run with sudo. Fixes: https://github.com/nodejs/node/issues/41643 Signed-off-by: Darshan Sen <raisinten@gmail.com> PR-URL: https://github.com/nodejs/node/pull/41772 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>pull/42333/head
parent
afcfaa07ac
commit
82181bb9b8
|
@ -25,13 +25,15 @@ process.chdir(tmpdir.path);
|
|||
}
|
||||
|
||||
{
|
||||
const readonlyFile = 'ro';
|
||||
fs.writeFileSync(readonlyFile, Buffer.alloc(0), { mode: 0o444 });
|
||||
const directory = 'directory';
|
||||
fs.mkdirSync(directory);
|
||||
assert.throws(() => {
|
||||
writeHeapSnapshot(readonlyFile);
|
||||
writeHeapSnapshot(directory);
|
||||
}, (e) => {
|
||||
assert.ok(e, 'writeHeapSnapshot should error');
|
||||
assert.strictEqual(e.code, 'EACCES');
|
||||
// TODO(RaisinTen): This should throw EISDIR on Windows too.
|
||||
assert.strictEqual(e.code,
|
||||
process.platform === 'win32' ? 'EACCES' : 'EISDIR');
|
||||
assert.strictEqual(e.syscall, 'open');
|
||||
return true;
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue