JDK 14 RFR (XXS) of JDK-8235499: Change HotSpot jtreg records test to better handle JDK updates
Harold Seigel
harold.seigel at oracle.com
Fri Dec 6 19:49:33 UTC 2019
Hi Joe,
I plan to change the JVM to check for JVM_CLASSFILE_MAJOR_VERSION.65535
instead of a hardwired 58.65535. See
https://bugs.openjdk.java.net/browse/JDK-8235513
So, your change looks good and ignore my previous email.
Thanks, Harold
On 12/6/2019 2:10 PM, Harold Seigel wrote:
> Hi Joe,
>
> Many of the Records tests will fail when the class file version is
> switched from 58 to 59. This is because the JVM requires that Record
> classes have version 58.65535.
>
> Perhaps, once the 15 repo is open I can change the JVM to temporarily
> allow Records to have either version 58.65535 or 59.65535. Then, once
> the class file major version is changed to 59, I can update the tests
> and disallow version 58.65535 for records.
>
> Harold
>
> On 12/6/2019 1:48 PM, Joe Darcy wrote:
>> Hello,
>>
>> Several of the HotSpot tests for records need small changes to more
>> gracefully handle JDK updates, such as JDK 14 -> 15 coming up soon!
>>
>> http://cr.openjdk.java.net/~darcy/8235499.0/
>>
>> Patch below.
>>
>> (Some updates will be need to make all the tests in this directory
>> pass on 15, but these small updates are valid independently.)
>>
>> Thanks,
>>
>> -Joe
>>
>> --- old/test/hotspot/jtreg/runtime/records/ignoreRecordAttribute.java
>> 2019-12-06 10:44:14.592741024 -0800
>> +++ new/test/hotspot/jtreg/runtime/records/ignoreRecordAttribute.java
>> 2019-12-06 10:44:14.264741024 -0800
>> @@ -35,7 +35,7 @@
>> public class ignoreRecordAttribute {
>>
>> public static void main(String[] args) throws Exception {
>> -
>> + String MAJOR_VERSION = Integer.toString(44 +
>> Runtime.version().feature());
>> ProcessBuilder pb =
>> ProcessTools.createJavaProcessBuilder("--enable-preview",
>> "-Xlog:class+record", "-Xshare:off", "superNotJLRecord");
>> OutputAnalyzer output = new OutputAnalyzer(pb.start());
>> @@ -46,7 +46,7 @@
>> "-Xlog:class+record", "-Xshare:off",
>> "recordIgnoredVersion");
>> output = new OutputAnalyzer(pb.start());
>> output.shouldContain("Ignoring Record attribute");
>> - output.shouldContain("because class file version is not
>> 58.65535");
>> + output.shouldContain("because class file version is not " +
>> MAJOR_VERSION + ".65535");
>> }
>>
>> }
>> --- old/test/hotspot/jtreg/runtime/records/recordReflectionTest.java
>> 2019-12-06 10:44:15.276741024 -0800
>> +++ new/test/hotspot/jtreg/runtime/records/recordReflectionTest.java
>> 2019-12-06 10:44:15.036741024 -0800
>> @@ -23,7 +23,7 @@
>>
>> /*
>> * @test
>> - * @compile --enable-preview --source 14 recordReflectionTest.java
>> + * @compile --enable-preview --source ${jdk.version}
>> recordReflectionTest.java
>> * @run main/othervm --enable-preview recordReflectionTest
>> */
>>
>>
More information about the hotspot-dev
mailing list