JDK 14 RFR of JDK-8235514: Update record serialization tests to not use hard coded source versions
Joe Darcy
joe.darcy at oracle.com
Fri Dec 6 21:15:44 UTC 2019
Hello,
Please review the patch below to update to the records serialization
tests to avoid hard-coded values for the -source argument during
programmatic invocations of the compiler.
Thanks,
-Joe
diff -r 3b9efbac1b50
test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java
--- a/test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java Fri
Dec 06 12:13:25 2019 -0800
+++ b/test/jdk/java/io/Serializable/records/BadCanonicalCtrTest.java Fri
Dec 06 13:13:45 2019 -0800
@@ -59,6 +59,7 @@
* constructor cannot be found during deserialization.
*/
public class BadCanonicalCtrTest {
+ private static final String VERSION =
Integer.toString(Runtime.version().feature());
// ClassLoader for creating instances of the records to test with.
ClassLoader goodRecordClassLoader;
@@ -79,7 +80,7 @@
{
byte[] byteCode = InMemoryJavaCompiler.compile("R1",
"public record R1 () implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
goodRecordClassLoader = new ByteCodeLoader("R1", byteCode,
BadCanonicalCtrTest.class.getClassLoader());
byte[] bc1 = removeConstructor(byteCode);
missingCtrClassLoader = new ByteCodeLoader("R1", bc1,
BadCanonicalCtrTest.class.getClassLoader());
@@ -89,7 +90,7 @@
{
byte[] byteCode = InMemoryJavaCompiler.compile("R2",
"public record R2 (int x, int y) implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
goodRecordClassLoader = new ByteCodeLoader("R2", byteCode,
goodRecordClassLoader);
byte[] bc1 = removeConstructor(byteCode);
missingCtrClassLoader = new ByteCodeLoader("R2", bc1,
missingCtrClassLoader);
@@ -101,7 +102,7 @@
"public record R3 (long l) implements
java.io.Externalizable {" +
" public void
writeExternal(java.io.ObjectOutput out) { }" +
" public void readExternal(java.io.ObjectInput
in) { } }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
goodRecordClassLoader = new ByteCodeLoader("R3", byteCode,
goodRecordClassLoader);
byte[] bc1 = removeConstructor(byteCode);
missingCtrClassLoader = new ByteCodeLoader("R3", bc1,
missingCtrClassLoader);
diff -r 3b9efbac1b50
test/jdk/java/io/Serializable/records/ProhibitedMethods.java
--- a/test/jdk/java/io/Serializable/records/ProhibitedMethods.java Fri
Dec 06 12:13:25 2019 -0800
+++ b/test/jdk/java/io/Serializable/records/ProhibitedMethods.java Fri
Dec 06 13:13:45 2019 -0800
@@ -69,6 +69,7 @@
* record objects.
*/
public class ProhibitedMethods {
+ private static final String VERSION =
Integer.toString(Runtime.version().feature());
public interface ThrowingExternalizable extends Externalizable {
default void writeExternal(ObjectOutput out) {
@@ -106,7 +107,7 @@
{
byte[] byteCode = InMemoryJavaCompiler.compile("Foo",
"public record Foo () implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
byteCode = addWriteObject(byteCode);
byteCode = addReadObject(byteCode);
byteCode = addReadObjectNoData(byteCode);
@@ -115,7 +116,7 @@
{
byte[] byteCode = InMemoryJavaCompiler.compile("Bar",
"public record Bar (int x, int y) implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
byteCode = addWriteObject(byteCode);
byteCode = addReadObject(byteCode);
byteCode = addReadObjectNoData(byteCode);
@@ -125,7 +126,7 @@
byte[] byteCode = InMemoryJavaCompiler.compile("Baz",
"import java.io.Serializable;" +
"public record Baz<U extends Serializable,V
extends Serializable>(U u, V v) implements Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
byteCode = addWriteObject(byteCode);
byteCode = addReadObject(byteCode);
byteCode = addReadObjectNoData(byteCode);
diff -r 3b9efbac1b50
test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
---
a/test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
Fri Dec 06 12:13:25 2019 -0800
+++
b/test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
Fri Dec 06 13:13:45 2019 -0800
@@ -64,6 +64,7 @@
* Checks that the serialPersistentFields declaration is effectively
ignored.
*/
public class SerialPersistentFieldsTest {
+ private static final String VERSION =
Integer.toString(Runtime.version().feature());
ClassLoader serializableRecordLoader;
@@ -85,7 +86,7 @@
{ // R1
byte[] byteCode = InMemoryJavaCompiler.compile("R1",
"public record R1 () implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
ObjectStreamField[] serialPersistentFields = {
new ObjectStreamField("s", String.class),
new ObjectStreamField("i", int.class),
@@ -98,7 +99,7 @@
{ // R2
byte[] byteCode = InMemoryJavaCompiler.compile("R2",
"public record R2 (int x) implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
ObjectStreamField[] serialPersistentFields = {
new ObjectStreamField("s", String.class)
};
@@ -108,7 +109,7 @@
{ // R3
byte[] byteCode = InMemoryJavaCompiler.compile("R3",
"public record R3 (int x, int y) implements
java.io.Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
ObjectStreamField[] serialPersistentFields = new
ObjectStreamField[0];
byteCode = addSerialPersistentFields(byteCode,
serialPersistentFields);
serializableRecordLoader = new ByteCodeLoader("R3",
byteCode, serializableRecordLoader);
@@ -117,7 +118,7 @@
byte[] byteCode = InMemoryJavaCompiler.compile("R4",
"import java.io.Serializable;" +
"public record R4<U extends Serializable,V extends
Serializable>(U u, V v) implements Serializable { }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
ObjectStreamField[] serialPersistentFields = {
new ObjectStreamField("v", String.class)
};
@@ -134,7 +135,7 @@
" @Override public void
readExternal(ObjectInput in) {\n" +
" throw new AssertionError(\"should not
reach here\");\n" +
" } }",
- "--enable-preview", "-source", "14");
+ "--enable-preview", "-source", VERSION);
ObjectStreamField[] serialPersistentFields = {
new ObjectStreamField("v", String.class)
};
More information about the amber-dev
mailing list