diff options
| author | Jack Koenig | 2021-09-17 21:01:26 -0700 |
|---|---|---|
| committer | Jack Koenig | 2021-09-17 21:01:26 -0700 |
| commit | 5c8c19345e6711279594cf1f9ddab33623c8eba7 (patch) | |
| tree | d9d6ced3934aa4a8be3dec19ddcefe50a7a93d5a /no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala | |
| parent | e63b9667d89768e0ec6dc8a9153335cb48a213a7 (diff) | |
| parent | 958904cb2f2f65d02b2ab3ec6d9ec2e06d04e482 (diff) | |
Merge branch 'master' into 3.5-release
Diffstat (limited to 'no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala')
| -rw-r--r-- | no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala new file mode 100644 index 00000000..28673495 --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: Apache-2.0 + +package chiselTests +import Chisel.ChiselException +import chisel3.stage.ChiselStage +import org.scalatest._ +import org.scalatest.matchers.should.Matchers + +class MissingCloneBindingExceptionSpec extends ChiselFlatSpec with Matchers with Utils { + behavior of "missing cloneType in Chisel3" + ( the [ChiselException] thrownBy extractCause[ChiselException] { + import chisel3._ + + class Test extends Module { + class TestIO(w: Int) extends Bundle { + val a = Input(Vec(4, UInt(w.W))) + } + + val io = IO(new TestIO(32)) + } + + class TestTop extends Module { + val io = IO(new Bundle {}) + + val subs = VecInit(Seq.fill(2) { + Module(new Test).io + }) + } + + ChiselStage.elaborate(new TestTop) + }).getMessage should include("make all parameters immutable") + + behavior of "missing cloneType in Chisel2" + ( the [ChiselException] thrownBy extractCause[ChiselException] { + import Chisel._ + + class Test extends Module { + class TestIO(w: Int) extends Bundle { + val a = Vec(4, UInt(width = w)).asInput + } + + val io = IO(new TestIO(32)) + } + + class TestTop extends Module { + val io = IO(new Bundle {}) + + val subs = Vec.fill(2) { + Module(new Test).io + } + } + + ChiselStage.elaborate(new TestTop) + }).getMessage should include("make all parameters immutable") +} |
