Add generative contract tests for connection pools and async IT coverage for cancel/timeout scenarios#644
Conversation
554f85d to
6e51548
Compare
|
Some early thoughts:
A key issue here appears to be the 200ms connection request timeout in Another issue is the dependency on the system clock via the static JDK methods If necessary, we can also add internal ConnPool test methods to support things like synchronization barriers, counters, callbacks, and whatever else we need in order to write fast, deterministic, exhaustive tests. But let's take this one step at a time; this should be done as a whole series of smaller PRs, rather than 1,200 lines all at once. |
…age for cancel/timeout scenarios
6e402ee to
807c891
Compare
This change adds seeded generative contract tests for the connection pool implementations (STRICT, LAX, OFFLOCK) that run a shared operation trace and assert core invariants (no negative stats, no double-lease, no stuck pending, no leaked leased entries, and hard bounds where applicable) with seed+trace replay for reproducibility. It also adds a small httpcore5-testing integration test based on HttpAsyncRequester to validate real socket behavior for pending connect cancellation, pending connect timeout, and close-mid-flight without hangs across all three pool policies.