[PATCH] test: fix test-socket-write-after-fin-error
authorLuigi Pinca <luigipinca@gmail.com>
Tue, 12 Jul 2022 20:11:10 +0000 (22:11 +0200)
committerPeter Michael Green <plugwash@raspbian.org>
Tue, 15 Nov 2022 03:51:54 +0000 (03:51 +0000)
The `'error'` event is not emitted because the socket is already
destroyed when `socket.write()` is called. Use the `socket.write()`
callback instead.

Gbp-Pq: Topic build
Gbp-Pq: Name upstream_uv_test_socket_write_after_fin_error.patch

test/parallel/parallel.status
test/parallel/test-socket-write-after-fin-error.js

index 496449be2745796547d8ed31244efba178b3e7ac..fcfef2e814ccc72a784f199589befa3325954eb4 100644 (file)
@@ -32,6 +32,9 @@ test-net-listen-after-destroying-stdin: PASS,FLAKY
 ## fails when running with eatmydata
 test-fs-error-messages: PASS,FLAKY
 
+# https://github.com/nodejs/node/pull/42340 fails with libuv1 1.44.2
+test-tls-streamwrap-buffersize: PASS, FLAKY
+
 # this new test doesn't have a built target properly setup
 test-child-process-stdio-overlapped: SKIP
 
index 64c8143abebbd94bf9b9fc8ed9f64b30f5c6801e..0e3b99abac75729756f3bc964d6c17e2d1e13878 100644 (file)
@@ -16,10 +16,7 @@ let gotServerError = false;
 
 const server = net.createServer(function(sock) {
   sock.setEncoding('utf8');
-  sock.on('error', function(er) {
-    console.error(`${er.code}: ${er.message}`);
-    gotServerError = er;
-  });
+  sock.on('error', function() {});
 
   sock.on('data', function(c) {
     serverData += c;
@@ -27,7 +24,10 @@ const server = net.createServer(function(sock) {
   sock.on('end', function() {
     gotServerEnd = true;
     setImmediate(() => {
-      sock.write(serverData);
+      sock.write(serverData, function(er) {
+        console.error(`${er.code}: ${er.message}`);
+        gotServerError = er;
+      });
       sock.end();
     });
   });