On Sat, 27 Jun 2026 13:28:25 GMT, Jaikiran Pai <[email protected]> wrote:
>> test/jdk/java/io/Serializable/valueObjects/ValueSerializationTest.java line
>> 161:
>>
>>> 159: Arguments.of(Arguments.of(
>>> 160: new SerializablePoint(3, 7),
>>> 161: new SerializablePoint(4, 8))),
>>
>> This test used to be testng test which was later converted to junit. It
>> looks like that conversion might have introduced a bug in this parameter
>> generation. Previously, when this test was testng it used to be:
>>
>>
>> @DataProvider(name = "ImplementSerializable")
>> public Object[][] implementSerializable() {
>> return new Object[][]{
>> new Object[]{new SerializablePoint(11, 101)},
>>
>> new Object[]{new SerializablePoint[]{
>> new SerializablePoint(1, 5),
>> new SerializablePoint(2, 6)}},
>>
>> new Object[]{new Object[]{
>> new SerializablePoint(3, 7),
>> new SerializablePoint(4, 8)}},
>>
>> new Object[]{new SerializableFoo(45)},
>>
>> new Object[]{new SerializableFoo[]{new SerializableFoo(46)}},
>>
>> new Object[]{new ExternalizableFoo("hello")},
>>
>> new Object[]{new ExternalizableFoo[]{new
>> ExternalizableFoo("there")}},
>> };
>> }
>>
>> The conversion has led to:
>>
>>
>> Arguments.of(Arguments.of(
>> new SerializablePoint(3, 7),
>> new SerializablePoint(4, 8))),
>>
>> which is wrong. As a result, right now, instead of running the
>> `implementSerializable(Object obj)` test method 7 times with different
>> paramters, that test method only gets run twice:
>>
>>
>> [01:38:50.773] STARTED ValueSerializationTest::implementSerializable '[1]
>> [SerializablePoint x=11 y=101]'
>> [01:38:50.799] SUCCESSFUL ValueSerializationTest::implementSerializable '[1]
>> [SerializablePoint x=11 y=101]' [25ms]
>> [01:38:50.802] STARTED ValueSerializationTest::implementSerializable '[2]
>> [[SerializablePoint x=1 y=5], [SerializablePoint x=2 y=6]]'
>> [01:38:50.808] SUCCESSFUL ValueSerializationTest::implementSerializable '[2]
>> [[SerializablePoint x=1 y=5], [SerializablePoint x=2 y=6]]' [6ms]
>>
>>
>> The rest parameters seems to be ignored due to the
>> `Arguments.of(Arguments.of(...))` bug. A similar issue exists in the
>> parameters provider for another test method in this class. I'll file an
>> issue and address this shortly.
>
> Filed https://bugs.openjdk.org/browse/JDK-8387374
Hello Christian @sormuras, would you happen to know if there are ways to catch
these issues with parameterized tests by failing the test?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/31123#discussion_r3486093858