summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/DriverSpec.scala
diff options
context:
space:
mode:
authorChick Markley2016-10-18 16:14:06 -0700
committerGitHub2016-10-18 16:14:06 -0700
commitbbc676b68a79ab2307d346c482d75b72f7ec5d4d (patch)
treec5aa54b045e23320b07e164bc0758315ea139a2e /src/test/scala/chiselTests/DriverSpec.scala
parented872df330cb7dfabdd0e0866176f8f5be8861da (diff)
parent070a8d724b282d3866da530b5d99ce7646fbf00e (diff)
Merge pull request #325 from ucb-bar/execute-harness-plan-3
Implement a standardized execution scheme for chisel
Diffstat (limited to 'src/test/scala/chiselTests/DriverSpec.scala')
-rw-r--r--src/test/scala/chiselTests/DriverSpec.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/DriverSpec.scala b/src/test/scala/chiselTests/DriverSpec.scala
new file mode 100644
index 00000000..4f9619e3
--- /dev/null
+++ b/src/test/scala/chiselTests/DriverSpec.scala
@@ -0,0 +1,33 @@
+// See LICENSE for license details.
+
+package chiselTests
+
+import chisel3._
+
+import org.scalatest.{Matchers, FreeSpec}
+
+class DummyModule extends Module {
+ val io = IO(new Bundle {
+ val in = UInt(INPUT, 1)
+ val out = UInt(OUTPUT, 1)
+ })
+ io.out := io.in
+}
+
+class DriverSpec extends FreeSpec with Matchers {
+ "Driver's execute methods are used to run chisel and firrtl" - {
+ "options can be picked up from comand line with no args" in {
+ Driver.execute(Array.empty[String], () => new DummyModule)
+ }
+ "options can be picked up from comand line setting top name" in {
+ Driver.execute(Array("-tn", "dm", "-td", "local-build"), () => new DummyModule)
+ }
+ "execute returns a chisel execution result" in {
+ val args = Array("--compiler", "low")
+ val result = Driver.execute(Array.empty[String], () => new DummyModule)
+ result shouldBe a[ChiselExecutionSucccess]
+ val successResult = result.asInstanceOf[ChiselExecutionSucccess]
+ successResult.emitted should include ("circuit DummyModule")
+ }
+ }
+}