aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/firrtlTests/transforms
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-10-08 14:04:44 -0400
committerSchuyler Eldridge2019-10-08 14:06:29 -0400
commit75fd8d3eec98adb2f777e609ae1beea57ee5eedd (patch)
tree8788b25bafa0d4198d3af077070a4616aac09ecb /src/test/scala/firrtlTests/transforms
parent3e0abab81ef3e83425fc822e2a2dfa73fdb72ee3 (diff)
Add test for TopWiringTransform idempotency
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src/test/scala/firrtlTests/transforms')
-rw-r--r--src/test/scala/firrtlTests/transforms/TopWiringTest.scala21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/test/scala/firrtlTests/transforms/TopWiringTest.scala b/src/test/scala/firrtlTests/transforms/TopWiringTest.scala
index 9dd290f8..1c01d6d2 100644
--- a/src/test/scala/firrtlTests/transforms/TopWiringTest.scala
+++ b/src/test/scala/firrtlTests/transforms/TopWiringTest.scala
@@ -17,7 +17,8 @@ import firrtl.annotations.{
CircuitName,
ModuleName,
ComponentName,
- Annotation
+ Annotation,
+ Target
}
import firrtl.transforms.TopWiring._
@@ -626,6 +627,24 @@ class TopWiringTests extends MiddleTransformSpec with TopWiringTestsCommon {
case _ => fail
}
}
+
+ "TopWiringTransform" should "remove TopWiringAnnotations" in {
+ val input =
+ """|circuit Top:
+ | module Top:
+ | wire foo: UInt<1>""".stripMargin
+
+ val bar =
+ Target
+ .deserialize("~Top|Top>foo")
+ .toNamed match { case a: ComponentName => a }
+
+ val annotations = Seq(TopWiringAnnotation(bar, "bar_"))
+ val outputState = (new TopWiringTransform).execute(CircuitState(Parser.parse(input), MidForm, annotations, None))
+
+ outputState.circuit.serialize should include ("output bar_foo")
+ outputState.annotations.toSeq should be (empty)
+ }
}
class AggregateTopWiringTests extends MiddleTransformSpec with TopWiringTestsCommon {