Jens-G opened a new pull request, #3962: URL: https://github.com/apache/thrift/pull/3962
No CI job built or ran `tutorial/netstd`, so THRIFT-6374 (the HTTP server did not start) and THRIFT-6375 (`-mc` with more than one client never completed) went unnoticed. Both showed only when the programs ran, so this adds a smoke test rather than just a build step. - `tutorial/netstd/smoketest.sh` starts the server and runs the client against it with `-mc:2`: once for each transport (tcp, tcptls, namedpipe, http), plus the compact and JSON protocols, the buffered and framed transports, and multiplexing. It prints one PASS or FAIL line per case, with the tail of both logs on a failure. A case fails if something already listens where it expects its server. - `make check` in `tutorial/netstd` runs the script. A new step in the lib-netstd job runs that `make check`, after the precross artifacts are uploaded; no other job depends on lib-netstd. - The client exits with 1 if one of its clients fails. It used to log the exception and exit with 0, so the script could not have seen those failures. Test: the script on this branch, and with the two fixes reverted locally (not part of this PR), with the .NET 10.0.401 SDK and all cases in one container: | Tree | smoketest.sh | |---|---| | this PR | 7 of 7 pass (2 runs) | | THRIFT-6374 reverted | http fails: "the server did not start" | | THRIFT-6375 reverted | all 7 fail: six clients exit with 1, the namedpipe client hangs until the 60 s timeout | | both reverted, and without the exit-code change | only http fails; the six `-mc:2` failures go unnoticed | `make -C tutorial/netstd clean check`, after `bootstrap.sh` and `configure` with the CI's arguments, also passes 7 of 7 in the `thrift:jammy` image (.NET 10.0.109). zizmor reports no new findings for build.yml. JIRA: [THRIFT-6376](https://issues.apache.org/jira/browse/THRIFT-6376) - [x] Apache Jira ticket: THRIFT-6376 - [x] PR title follows "THRIFT-NNNN: describe my issue" - [x] Single commit - [x] No breaking change: tutorial and CI only. The tutorial client now exits with 1 when a call fails. - [x] Code change, so the commit carries no CI-skip marker. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
