Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 245c885

Browse filesBrowse files
santigimenotargos
authored andcommitted
test: fix test-net-socket-constructor
So it doesn't fail when creating a socket whose `fd` is already being watched. Test that functionality now inside a cluster worker. Refs: libuv/libuv#1851 Refs: libuv/libuv#1897 PR-URL: #21466 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent cd2b80c commit 245c885
Copy full SHA for 245c885

File tree

Expand file treeCollapse file tree

1 file changed

+33
-19
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+33
-19
lines changed
Open diff view settings
Collapse file

‎test/parallel/test-net-socket-constructor.js‎

Copy file name to clipboardExpand all lines: test/parallel/test-net-socket-constructor.js
+33-19Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const common = require('../common');
44
const assert = require('assert');
5+
const cluster = require('cluster');
56
const net = require('net');
67

78
common.expectsError(() => {
@@ -25,27 +26,40 @@ function test(sock, readable, writable) {
2526
assert.strictEqual(socket.writable, writable);
2627
}
2728

28-
test(undefined, false, false);
29+
if (cluster.isMaster) {
30+
test(undefined, false, false);
2931

30-
const server = net.createServer(common.mustCall((socket) => {
31-
test(socket, true, true);
32-
test({ handle: socket._handle }, false, false);
33-
test({ handle: socket._handle, readable: true, writable: true }, true, true);
34-
if (socket._handle.fd >= 0) {
35-
test(socket._handle.fd, false, false);
36-
test({ fd: socket._handle.fd }, false, false);
37-
test({ fd: socket._handle.fd, readable: true, writable: true }, true, true);
38-
}
32+
const server = net.createServer(common.mustCall((socket) => {
33+
socket.unref();
34+
test(socket, true, true);
35+
test({ handle: socket._handle }, false, false);
36+
test({ handle: socket._handle, readable: true, writable: true },
37+
true, true);
38+
server.close();
39+
}));
3940

40-
server.close();
41-
}));
41+
server.listen(common.mustCall(() => {
42+
const { port } = server.address();
43+
const socket = net.connect(port, common.mustCall(() => {
44+
test(socket, true, true);
45+
socket.end();
46+
}));
4247

43-
server.listen(common.mustCall(() => {
44-
const { port } = server.address();
45-
const socket = net.connect(port, common.mustCall(() => {
46-
test(socket, true, true);
47-
socket.end();
48+
test(socket, false, true);
4849
}));
4950

50-
test(socket, false, true);
51-
}));
51+
cluster.setupMaster({
52+
stdio: ['pipe', 'pipe', 'pipe', 'ipc', 'pipe', 'pipe', 'pipe']
53+
});
54+
55+
const worker = cluster.fork();
56+
worker.on('exit', common.mustCall((code, signal) => {
57+
assert.strictEqual(code, 0);
58+
assert.strictEqual(signal, null);
59+
}));
60+
} else {
61+
test(4, false, false);
62+
test({ fd: 5 }, false, false);
63+
test({ fd: 6, readable: true, writable: true }, true, true);
64+
process.disconnect();
65+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.