RFR: 8170305: URLConnection doesn't handle HTTP/1.1 1xx (informational) messages [v4]

Daniel Fuchs dfuchs at openjdk.org
Mon Sep 12 13:07:45 UTC 2022


On Mon, 12 Sep 2022 12:55:12 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> test/jdk/java/net/HttpURLConnection/Response1xxTest.java line 225:
>> 
>>> 223:         final HttpURLConnection urlConnection = (HttpURLConnection) requestURI.toURL().openConnection();
>>> 224:         // we expect the request to fail because the server unexpectedly sends a 101 response
>>> 225:         Assert.assertThrows(IOException.class, () -> urlConnection.getResponseCode());
>> 
>> Should we explicitly wait for ProtocolException here, since it's what we're throwing?
>
> I initially thought about that, but since the API javadoc doesn't specifically talk about this sub-type of `IOException`, I decided it's perhaps better not to start expecting it. However, if it's OK for the test to rely on this (internal) knowledge then I'll go ahead and change it.

Yes - this is not a conformance test, and ProtocolException is within the bounds. It's OK for a non-regression test to expect the specific subtype that the code change is throwing. My concern here is that the test could be passing if some other kind of errors occurred - like e.g. connect exception. Then we wouldn't be testing what we think we're testing.

-------------

PR: https://git.openjdk.org/jdk/pull/10229


More information about the net-dev mailing list