+1 > On Dec 6, 2019, at 4:15 PM, Joe Darcy <joe.da...@oracle.com> wrote: > > 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) > }; >
<http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif> <http://oracle.com/us/design/oracle-email-sig-198324.gif>Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037 Oracle Java Engineering 1 Network Drive Burlington, MA 01803 lance.ander...@oracle.com <mailto:lance.ander...@oracle.com>