mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 10:15:07 +08:00
The socket was created under a nested tmpdir using an absolute path, which can exceed the 104-byte sun_path limit on macOS when the checkout lives in a long directory. common.PIPE uses a path relative to the cwd, as the other pipe tests do. Fixes: https://github.com/nodejs/node/issues/66324 Assisted-by: a closed-source coding agent Signed-off-by: Maksim Romanov <romanov.maxim.98@gmail.com> PR-URL: https://github.com/nodejs/node/pull/66329 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
31 lines
822 B
JavaScript
31 lines
822 B
JavaScript
// This tests that cpSync throws an error if attempt is made to copy socket.
|
|
import * as common from '../common/index.mjs';
|
|
import { nextdir } from '../common/fs.js';
|
|
import assert from 'node:assert';
|
|
import { cpSync } from 'node:fs';
|
|
import { createServer } from 'node:net';
|
|
import tmpdir from '../common/tmpdir.js';
|
|
|
|
const isWindows = process.platform === 'win32';
|
|
if (isWindows) {
|
|
common.skip('No socket support on Windows');
|
|
}
|
|
|
|
// See https://github.com/nodejs/node/pull/48409
|
|
if (common.isInsideDirWithUnusualChars) {
|
|
common.skip('Test is broken in directories with unusual characters');
|
|
}
|
|
|
|
tmpdir.refresh();
|
|
|
|
{
|
|
const dest = nextdir();
|
|
const server = createServer();
|
|
server.listen(common.PIPE);
|
|
assert.throws(
|
|
() => cpSync(common.PIPE, dest),
|
|
{ code: 'ERR_FS_CP_SOCKET' }
|
|
);
|
|
server.close();
|
|
}
|