Skip to content

Commit f97e9b2

Browse files
committed
Reset the baseline serialization test
We actually do have forwards and backwards serialization compatibility, but the presence of instance field descriptors in the serialized form confuse our testing approach. Here's a manual test to show the compatibility. ``` $ qscala Welcome to Scala 2.13.0-20180928-004946-4aa133f (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_172). Type in expressions for evaluation. Or try :help. scala> import java.util.Base64; def parseBase64Binary(s: String): Array[Byte] = Base64.getDecoder.decode(s); def printBase64Binary(data: Array[Byte]): String = Base64.getEncoder.encode(data).map(_.toChar).mkString; def serialize(o: AnyRef): String = {val bos = new java.io.ByteArrayOutputStream();val out = new java.io.ObjectOutputStream(bos);out.writeObject(o);out.flush();printBase64Binary(bos.toByteArray())}; def deserialize(string: String): AnyRef = {val bis = new java.io.ByteArrayInputStream(parseBase64Binary(string)); val in = new java.io.ObjectInputStream(bis); in.readObject()}; serialize(List); warning: -nc is deprecated: scripts use cold compilation by default; use -Yscriptrunner for custom behavior import java.util.Base64 parseBase64Binary: (s: String)Array[Byte] printBase64Binary: (data: Array[Byte])String serialize: (o: AnyRef)String deserialize: (string: String)AnyRef res0: String = rO0ABXNyACBzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5MaXN0JAAAAAAAAAADAwAAeHB4 ``` ``` scala> deserialize("rO0ABXNyACBzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5MaXN0JAAAAAAAAAADAwABTAARcGFydGlhbE5vdEFwcGxpZWR0ABFMc2NhbGEvRnVuY3Rpb24xO3hweA") warning: -nc is deprecated: scripts use cold compilation by default; use -Yscriptrunner for custom behavior res2: AnyRef = scala.collection.immutable.List$@a9f023e $ scala-ref 2.13.x Welcome to Scala 2.13.0-20180927-195543-c277d7d (OpenJDK 64-Bit Server VM, Java 1.8.0-adoptopenjdk). Type in expressions for evaluation. Or try :help. scala> import java.util.Base64; def parseBase64Binary(s: String): Array[Byte] = Base64.getDecoder.decode(s); def printBase64Binary(data: Array[Byte]): String = Base64.getEncoder.encode(data).map(_.toChar).mkString; def serialize(o: AnyRef): String = {val bos = new java.io.ByteArrayOutputStream();val out = new java.io.ObjectOutputStream(bos);out.writeObject(o);out.flush();printBase64Binary(bos.toByteArray())}; def deserialize(string: String): AnyRef = {val bis = new java.io.ByteArrayInputStream(parseBase64Binary(string)); val in = new java.io.ObjectInputStream(bis); in.readObject()}; serialize(List); import java.util.Base64 parseBase64Binary: (s: String)Array[Byte] printBase64Binary: (data: Array[Byte])String serialize: (o: AnyRef)String deserialize: (string: String)AnyRef res0: String = rO0ABXNyACBzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5MaXN0JAAAAAAAAAADAwABTAARcGFydGlhbE5vdEFwcGxpZWR0ABFMc2NhbGEvRnVuY3Rpb24xO3hweA== scala> deserialize("rO0ABXNyACBzY2FsYS5jb2xsZWN0aW9uLmltbXV0YWJsZS5MaXN0JAAAAAAAAAADAwAAeHB4") res2: AnyRef = scala.collection.immutable.List$@595f9916 ```
1 parent 4aa133f commit f97e9b2

File tree

1 file changed

+51
-51
lines changed

1 file changed

+51
-51
lines changed

0 commit comments

Comments
 (0)