On Fri, 23 Jun 2023 12:13:47 GMT, Conor Cleary <[email protected]> wrote:
> **Issue**
> In CancelledResponse.java the test only checks the HttpClient against
> HTTP/1.1 when cancelling a BodySubscriber while receiving data.
>
> **Solution**
> In the interest of more coverage, a new test has been created which performs
> the same checks against HTTP/2 to cover the client in the case of a HTTP/2
> connection. A new test was created as it makes use of HttpTestServerAdapters
> to create the test servers. This is different to how this is performed in the
> original "CancelledResponse" test. There are some minor changes to how the
> testing is conducted with an element of randomness added to the new test.
>
> As an open question to reviewers, the old test "CancelledResponse" and the
> new test "CancelledResponse2" could be merged into a single file and the
> HTTP/1.1 case could be updated to use more canonical testing methods as with
> "CancelledResponse2". Though there isn't a very pressing need for this and so
> it has not been included in this PR as of now.
test/jdk/java/net/httpclient/CancelledResponse2.java line 107:
> 105: } catch (Exception e) {
> 106: e.printStackTrace();
> 107: assertTrue(e.getCause() instanceof IOException, "HTTP/2
> should cancel with an IOException when the Subscription is cancelled.");
I believe we want to check that the exception we get as the cause is the
expected CancelException, or at least that it can be found somewhere while
following the cause chain. Otherwise looks good!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14625#discussion_r1243554849