maskit opened a new pull request, #13965:
URL: https://github.com/apache/trafficserver/pull/13965

   ## Why
   
   The TCP cases of `test_accept_timeout` used external clients that don't 
behave the same everywhere:
   
   - `tcp-incomplete-header` ran `nc -c create_request.sh ...`, relying on 
ncat's `-c`. BSD `nc` on macOS reads `-c` as a flag, so the case failed there 
with `nc: port range not valid`.
   - `tcp-no-data` used `telnet`, which macOS doesn't ship, so it skipped there.
   
   PR 13955 tried to fix the first case by piping into a plain `nc`, and failed 
on CI. Before nmap commit dd4a7906d6, ncat in TCP connect mode didn't exit when 
the server closed the connection. So the client ran for the full length of the 
script's sleep and missed the timeout window.
   
   ## Change
   
   Replace `create_request.sh` with `tcp_client.sh`. It opens the connection 
with bash's built-in `/dev/tcp` and, for the incomplete-header case, sends `GET 
/ HTTP/1.1` with no line ending. Then it waits with `cat`, which exits as soon 
as ATS closes the connection. Both TCP cases use it inside `time_client.sh` as 
before. The only external program the test still checks for is `openssl`, for 
the TLS cases.
   
   ## Validation
   
   `test_accept_timeout`: 4 passed, none skipped, on macOS (arm64) and in the 
`ci.trafficserver.apache.org/ats/fedora:44` image on arm64 via 
`tests/urtest.sh`.
   
   ## Known limitation
   
   If the client can't connect at all, `tcp-no-data` still passes: 
`time_client.sh` ignores the client's exit status, and its accept-timeout 
bucket has no lower bound, so an immediate failure counts as "Accept timeout 
0". The `telnet` client had the same gap when the connection was refused. This 
change keeps it as is.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to