RFR: 8325579: Inconsistent behavior in com.sun.jndi.ldap.Connection::createSocket [v5]

Christoph Langer clanger at openjdk.org
Thu Feb 22 11:40:56 UTC 2024


On Wed, 21 Feb 2024 18:26:18 GMT, Aleksei Efimov <aefimov at openjdk.org> wrote:

>>> Currently, it is hard to distinguish what part of the test responsible for [JDK-8314063](https://bugs.openjdk.org/browse/JDK-8314063) testing, and which part is for [JDK-8325579](https://bugs.openjdk.org/browse/JDK-8325579). I would prefer to add a new test for the current fix instead: that could be done as additional test mode, OR even better to add a completely new test. 
>> 
>> Hm, I think the test was overpurposed already. Creating another test file with duplicating code does not sound too good IMHO. Maybe it is acceptable without the renaming?
>> 
>> Another question: Do we need a CSR/Release note as there is some behavioral change involved (although it should always have been like with this change)?
>
>> Hm, I think the test was overpurposed already.  
> 
> This test was added by JDK-8314063 fix, and I do not think it was change after that.
>  
>> Creating another test file with duplicating code does not sound too good IMHO. Maybe it is acceptable without the renaming?
> 
> I think it is acceptable. Currently, it is hard to separate the test cases for `a)` the original [JDK-8314063](https://bugs.openjdk.org/browse/JDK-8314063) fix (the opened socket is not closed properly when connection timeout occurs) and `b)` the current fix [JDK-8325579](https://bugs.openjdk.org/browse/JDK-8325579) (unconnected sockets are not supported by SocketFactory). It would be great to have this distinction in the modified test.

I drafted a CSR. @AlekseiEfimov, would be nice if you could review it.

As for the test, I had a closer look now and I find it hard to separate testing of [JDK-8314063](https://bugs.openjdk.org/browse/JDK-8314063) from [JDK-8325579](https://bugs.openjdk.org/browse/JDK-8325579). Furthermore, most of the entries test things that hadn't been addressed by any of these two bugs at all.

So, [JDK-8314063](https://bugs.openjdk.org/browse/JDK-8314063) is only tested in lines 72, 73, 76 and 77
The original problem of this issue [JDK-8325579](https://bugs.openjdk.org/browse/JDK-8325579) is touched in line 71 and 73.

That means, most of the other test invocations test some generic behavior which was never erroneous so far.

I could, however, give each line its own test id and annotate the bugs accordingly. Do you think that makes sense?

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

PR Comment: https://git.openjdk.org/jdk/pull/17797#issuecomment-1959271452


More information about the core-libs-dev mailing list