aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJack Koenig2017-03-30 00:23:47 -0700
committerGitHub2017-03-30 00:23:47 -0700
commitbda2bd363fbe66de9425bba12d96f5f9816a43ce (patch)
tree30b94551191ac1ebcf7891a33932dc5ea6f8614a /src/test
parent2dca19685c5e622304114f4370ed15012403dca0 (diff)
Make force-append-anno-file work. Fixes #515 (#516)
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/firrtlTests/DriverSpec.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/scala/firrtlTests/DriverSpec.scala b/src/test/scala/firrtlTests/DriverSpec.scala
index 9cbeb6f9..377353dc 100644
--- a/src/test/scala/firrtlTests/DriverSpec.scala
+++ b/src/test/scala/firrtlTests/DriverSpec.scala
@@ -7,6 +7,7 @@ import org.scalatest.{FreeSpec, Matchers}
import firrtl.passes.InlineInstances
import firrtl.passes.memlib.{InferReadWrite, ReplSeqMem}
+import firrtl.transforms.BlackBoxSourceHelper
import firrtl._
import firrtl.util.BackendCompilationUtilities
@@ -142,6 +143,30 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
annotationsTestFile.delete()
}
+ "Annotations can be created from the command line and read from a file at the same time" in {
+ val optionsManager = new ExecutionOptionsManager("test") with HasFirrtlOptions
+ val targetDir = new File(optionsManager.commonOptions.targetDirName)
+ val annoFile = new File(targetDir, "annotations.anno")
+
+ optionsManager.parse(
+ Array("--infer-rw", "circuit", "-faf", annoFile.toString, "-ffaaf")
+ ) should be (true)
+
+ copyResourceToFile("/annotations/SampleAnnotations.anno", annoFile)
+
+ val firrtlOptions = optionsManager.firrtlOptions
+ firrtlOptions.annotations.length should be (1) // infer-rw
+
+ Driver.loadAnnotations(optionsManager)
+
+ val anns = optionsManager.firrtlOptions.annotations.groupBy(_.transform)
+ anns(classOf[BlackBoxSourceHelper]).length should be (1) // built in to loadAnnotations
+ anns(classOf[InferReadWrite]).length should be (1) // --infer-rw
+ anns(classOf[InlineInstances]).length should be (9) // annotations file
+
+ annoFile.delete()
+ }
+
"Circuits are emitted on properly" - {
val input =
"""|circuit Top :