diff options
| author | Jim Lawson | 2019-03-18 15:20:51 -0700 |
|---|---|---|
| committer | GitHub | 2019-03-18 15:20:51 -0700 |
| commit | 9911b3467de2ebe92827ddc3288bd6db477cc636 (patch) | |
| tree | 4e791d82069c0e94fd5c34cd674a9b9596042d8b /src/test | |
| parent | a97a81bc0f717f80bb70733795ac5337653b58c5 (diff) | |
Add serialization support for LoadMemoryFileType in LoadMemoryAnnotation (#1056)
* Add serialization support for LoadMemoryFileType in LoadMemoryAnnotation
Add custom LoadMemoryFileTypeSerializer.
Add test to verify LoadMemoryAnnotation can be correctly serialized/deserialized.
* Simplify and focus LoadMemoryAnnotation serialization/deserialization.
Respond to comments on earlier implementations.
* Add type FileType definition for current chisel3 code.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/scala/firrtlTests/annotationTests/LoadMemoryAnnotationSpec.scala | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/test/scala/firrtlTests/annotationTests/LoadMemoryAnnotationSpec.scala b/src/test/scala/firrtlTests/annotationTests/LoadMemoryAnnotationSpec.scala index 15b12d52..c702df13 100644 --- a/src/test/scala/firrtlTests/annotationTests/LoadMemoryAnnotationSpec.scala +++ b/src/test/scala/firrtlTests/annotationTests/LoadMemoryAnnotationSpec.scala @@ -2,7 +2,7 @@ package firrtlTests.annotationTests -import firrtl.annotations.{CircuitName, ComponentName, LoadMemoryAnnotation, ModuleName} +import firrtl.annotations._ import org.scalatest.{FreeSpec, Matchers} class LoadMemoryAnnotationSpec extends FreeSpec with Matchers { @@ -26,4 +26,16 @@ class LoadMemoryAnnotationSpec extends FreeSpec with Matchers { lma.getFileName should be("./target/scala-2.12/test-classes/init_mem_subdata") } } + "LoadMemoryAnnotation should be correctly parsed from a string" in { + val lma = new LoadMemoryAnnotation( + ComponentName("ram", ModuleName("ModuleMem", CircuitName("CircuitMem"))), + "CircuitMem.ModuleMem.ram.dat", + hexOrBinary = MemoryLoadFileType.Binary, + originalMemoryNameOpt = Some("memory") + ) + + val annoString = JsonProtocol.serializeTry(Seq(lma)).get + val loadedAnnos = JsonProtocol.deserializeTry(annoString).get + lma should equal(loadedAnnos.head) + } } |
