aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/firrtlTests/DriverSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/firrtlTests/DriverSpec.scala')
-rw-r--r--src/test/scala/firrtlTests/DriverSpec.scala38
1 files changed, 25 insertions, 13 deletions
diff --git a/src/test/scala/firrtlTests/DriverSpec.scala b/src/test/scala/firrtlTests/DriverSpec.scala
index d26aadf2..1cb991c8 100644
--- a/src/test/scala/firrtlTests/DriverSpec.scala
+++ b/src/test/scala/firrtlTests/DriverSpec.scala
@@ -218,6 +218,7 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
firrtlOptions = firrtlOptions.copy(firrtlSource = Some(input))
}
val annoFile = new File(optionsManager.commonOptions.targetDirName, top + ".anno")
+ val vFile = new File(optionsManager.commonOptions.targetDirName, top + ".v")
"Using Driver.getAnnotations" in {
copyResourceToFile("/annotations/SampleAnnotations.anno", annoFile)
optionsManager.firrtlOptions.annotations.length should be(0)
@@ -225,6 +226,7 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
annos.length should be(12) // 9 from circuit plus 3 general purpose
annos.count(_.isInstanceOf[InlineAnnotation]) should be(9)
annoFile.delete()
+ vFile.delete()
}
"Using Driver.execute" in {
copyResourceToFile("/annotations/SampleAnnotations.anno", annoFile)
@@ -234,6 +236,7 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
annos.count(_.isInstanceOf[InlineAnnotation]) should be(9)
}
annoFile.delete()
+ vFile.delete()
}
}
@@ -384,20 +387,29 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
"To a single file with file extension depending on the compiler by default" in {
Seq(
- "none" -> "./Top.fir",
- "low" -> "./Top.lo.fir",
- "high" -> "./Top.hi.fir",
- "middle" -> "./Top.mid.fir",
- "verilog" -> "./Top.v",
- "mverilog" -> "./Top.v",
- "sverilog" -> "./Top.sv"
+ "none" -> "./Foo.fir",
+ "low" -> "./Foo.lo.fir",
+ "high" -> "./Foo.hi.fir",
+ "middle" -> "./Foo.mid.fir",
+ "verilog" -> "./Foo.v",
+ "mverilog" -> "./Foo.v",
+ "sverilog" -> "./Foo.sv"
).foreach { case (compilerName, expectedOutputFileName) =>
+ info(s"$compilerName -> $expectedOutputFileName")
val manager = new ExecutionOptionsManager("test") with HasFirrtlOptions {
- commonOptions = CommonOptions(topName = "Top")
+ commonOptions = CommonOptions(topName = "Foo")
firrtlOptions = FirrtlExecutionOptions(firrtlSource = Some(input), compilerName = compilerName)
}
- firrtl.Driver.execute(manager)
+ firrtl.Driver.execute(manager) match {
+ case success: FirrtlExecutionSuccess =>
+ success.emitted.size should not be (0)
+ success.circuitState.annotations.length should be > (0)
+ case a: FirrtlExecutionFailure =>
+ fail(s"Got a FirrtlExecutionFailure! Expected FirrtlExecutionSuccess. Full message:\n${a.message}")
+ }
+
+
val file = new File(expectedOutputFileName)
file.exists() should be(true)
@@ -414,9 +426,8 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
"mverilog" -> Seq("./Top.v", "./Child.v"),
"sverilog" -> Seq("./Top.sv", "./Child.sv")
).foreach { case (compilerName, expectedOutputFileNames) =>
- println(s"$compilerName -> $expectedOutputFileNames")
+ info(s"$compilerName -> $expectedOutputFileNames")
val manager = new ExecutionOptionsManager("test") with HasFirrtlOptions {
- commonOptions = CommonOptions(topName = "Top")
firrtlOptions = FirrtlExecutionOptions(firrtlSource = Some(input),
compilerName = compilerName,
emitOneFilePerModule = true)
@@ -424,9 +435,10 @@ class DriverSpec extends FreeSpec with Matchers with BackendCompilationUtilities
firrtl.Driver.execute(manager) match {
case success: FirrtlExecutionSuccess =>
+ success.emitted.size should not be (0)
success.circuitState.annotations.length should be > (0)
- case _ =>
-
+ case failure: FirrtlExecutionFailure =>
+ fail(s"Got a FirrtlExecutionFailure! Expected FirrtlExecutionSuccess. Full message:\n${failure.message}")
}
for (name <- expectedOutputFileNames) {