summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests
diff options
context:
space:
mode:
authorJack Koenig2021-02-09 17:12:37 -0800
committerJack Koenig2021-02-09 17:28:07 -0800
commit53b620478ddab1faa96512e473fa198f7f1fcf50 (patch)
tree3cfa0415cc3b8a3f9c382095fd15ceda3f6f179e /src/test/scala/chiselTests
parent2ed343e2305b7c22000f3f46fa81d73a369907eb (diff)
Add no-plugin-tests for testing Chisel without the compiler plugin
This is a new SBT build unit that symlinks in some files from the normal chisel project tests, but builds them without the compiler plugin.
Diffstat (limited to 'src/test/scala/chiselTests')
-rw-r--r--src/test/scala/chiselTests/ChiselSpec.scala56
-rw-r--r--src/test/scala/chiselTests/ChiselTestUtilitiesSpec.scala60
2 files changed, 61 insertions, 55 deletions
diff --git a/src/test/scala/chiselTests/ChiselSpec.scala b/src/test/scala/chiselTests/ChiselSpec.scala
index 843b3192..8df680d6 100644
--- a/src/test/scala/chiselTests/ChiselSpec.scala
+++ b/src/test/scala/chiselTests/ChiselSpec.scala
@@ -90,62 +90,8 @@ trait ChiselRunners extends Assertions with BackendCompilationUtilities {
/** Spec base class for BDD-style testers. */
abstract class ChiselFlatSpec extends AnyFlatSpec with ChiselRunners with Matchers
-class ChiselTestUtilitiesSpec extends ChiselFlatSpec {
- import org.scalatest.exceptions.TestFailedException
- // Who tests the testers?
- "assertKnownWidth" should "error when the expected width is wrong" in {
- val caught = intercept[ChiselException] {
- assertKnownWidth(7) {
- Wire(UInt(8.W))
- }
- }
- assert(caught.getCause.isInstanceOf[TestFailedException])
- }
-
- it should "error when the width is unknown" in {
- a [ChiselException] shouldBe thrownBy {
- assertKnownWidth(7) {
- Wire(UInt())
- }
- }
- }
-
- it should "work if the width is correct" in {
- assertKnownWidth(8) {
- Wire(UInt(8.W))
- }
- }
-
- "assertInferredWidth" should "error if the width is known" in {
- val caught = intercept[ChiselException] {
- assertInferredWidth(8) {
- Wire(UInt(8.W))
- }
- }
- assert(caught.getCause.isInstanceOf[TestFailedException])
- }
-
- it should "error if the expected width is wrong" in {
- a [TestFailedException] shouldBe thrownBy {
- assertInferredWidth(8) {
- val w = Wire(UInt())
- w := 2.U(2.W)
- w
- }
- }
- }
-
- it should "pass if the width is correct" in {
- assertInferredWidth(4) {
- val w = Wire(UInt())
- w := 2.U(4.W)
- w
- }
- }
-}
-
/** Spec base class for property-based testers. */
-class ChiselPropSpec extends PropSpec with ChiselRunners with ScalaCheckPropertyChecks with Matchers {
+abstract class ChiselPropSpec extends PropSpec with ChiselRunners with ScalaCheckPropertyChecks with Matchers {
// Constrain the default number of instances generated for every use of forAll.
implicit override val generatorDrivenConfig: PropertyCheckConfiguration =
diff --git a/src/test/scala/chiselTests/ChiselTestUtilitiesSpec.scala b/src/test/scala/chiselTests/ChiselTestUtilitiesSpec.scala
new file mode 100644
index 00000000..6d3d526c
--- /dev/null
+++ b/src/test/scala/chiselTests/ChiselTestUtilitiesSpec.scala
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: Apache-2.0
+
+package chiselTests
+
+import chisel3._
+import org.scalatest.exceptions.TestFailedException
+
+class ChiselTestUtilitiesSpec extends ChiselFlatSpec {
+ // Who tests the testers?
+ "assertKnownWidth" should "error when the expected width is wrong" in {
+ val caught = intercept[ChiselException] {
+ assertKnownWidth(7) {
+ Wire(UInt(8.W))
+ }
+ }
+ assert(caught.getCause.isInstanceOf[TestFailedException])
+ }
+
+ it should "error when the width is unknown" in {
+ a [ChiselException] shouldBe thrownBy {
+ assertKnownWidth(7) {
+ Wire(UInt())
+ }
+ }
+ }
+
+ it should "work if the width is correct" in {
+ assertKnownWidth(8) {
+ Wire(UInt(8.W))
+ }
+ }
+
+ "assertInferredWidth" should "error if the width is known" in {
+ val caught = intercept[ChiselException] {
+ assertInferredWidth(8) {
+ Wire(UInt(8.W))
+ }
+ }
+ assert(caught.getCause.isInstanceOf[TestFailedException])
+ }
+
+ it should "error if the expected width is wrong" in {
+ a [TestFailedException] shouldBe thrownBy {
+ assertInferredWidth(8) {
+ val w = Wire(UInt())
+ w := 2.U(2.W)
+ w
+ }
+ }
+ }
+
+ it should "pass if the width is correct" in {
+ assertInferredWidth(4) {
+ val w = Wire(UInt())
+ w := 2.U(4.W)
+ w
+ }
+ }
+}
+