node/test/parallel/test-fs-cp-async-socket.mjs

35 lines
963 B
JavaScript

// This tests that cp() returns an error if attempt is made to copy socket.
import * as common from '../common/index.mjs';
import assert from 'node:assert';
import { cp, mkdirSync } from 'node:fs';
import { createServer } from 'node:net';
import { join } from 'node:path';
import { nextdir } from '../common/fs.js';
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 borken in directories with unusual characters');
}
tmpdir.refresh();
{
const src = nextdir();
mkdirSync(src);
const dest = nextdir();
const sock = join(src, `${process.pid}.sock`);
const server = createServer();
server.listen(sock);
cp(sock, dest, common.mustCall((err) => {
assert.strictEqual(err.code, 'ERR_FS_CP_SOCKET');
server.close();
}));
}