-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit f97e9b2
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 f97e9b2Copy full SHA for f97e9b2
File tree
1 file changed
+51
-51
lines changedFilter options
- test/junit/scala
1 file changed
+51
-51
lines changed
0 commit comments