This is an automated email from the ASF dual-hosted git repository.

rmaucher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new ccd8d32778 Skip test on MacOS
ccd8d32778 is described below

commit ccd8d3277877c7fa7add9116378bef9c10e944bc
Author: remm <[email protected]>
AuthorDate: Wed Sep 30 15:09:35 2026 +0200

    Skip test on MacOS
    
    The explanation does sound convincing, so it seems best to skip it.
---
 .../apache/tomcat/security/TestSecurity2026WebSocket.java    | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/test/org/apache/tomcat/security/TestSecurity2026WebSocket.java 
b/test/org/apache/tomcat/security/TestSecurity2026WebSocket.java
index 43a34f5ccd..9e852f08a1 100644
--- a/test/org/apache/tomcat/security/TestSecurity2026WebSocket.java
+++ b/test/org/apache/tomcat/security/TestSecurity2026WebSocket.java
@@ -34,6 +34,7 @@ import jakarta.websocket.WebSocketContainer;
 import jakarta.websocket.server.ServerEndpointConfig;
 
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -91,6 +92,17 @@ public class TestSecurity2026WebSocket extends 
WebSocketBaseTest {
      */
     @Test
     public void testCVE_2026_77791() throws Exception {
+        /*
+         * Skipped on macOS. The test relies on a stalled (zero TCP receive 
window) connection keeping the server's
+         * pending write stuck for the whole blocking send timeout. The macOS 
TCP stack does not honor that premise:
+         * it tends to tear such connections down early (e.g. RST on segments 
overlapping the zero window) so the
+         * pending write fails after a few polling iterations. The server then 
closes long before the blocking send
+         * timeout expires (observed: ~126ms vs the expected ~2s), which trips 
the sanity check below without the
+         * wait under test ever having been exercised. This is an OS TCP 
behavior difference, not a Tomcat issue.
+         */
+        Assume.assumeFalse("macOS TCP stack does not keep the stalled write 
stuck. See comment in code.",
+                System.getProperty("os.name").contains("OS X"));
+
         serverSendLatch = new CountDownLatch(1);
         // Never released. The server's pending data message write must never 
complete, forcing
         // acquireMessagePartInProgressSemaphore() to wait for the full 
blocking send timeout.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to