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]
