From 53b620478ddab1faa96512e473fa198f7f1fcf50 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Tue, 9 Feb 2021 17:12:37 -0800 Subject: 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. --- no-plugin-tests/src/test/scala/chisel3/testers/TestUtils.scala | 1 + no-plugin-tests/src/test/scala/chiselTests/ChiselSpec.scala | 1 + no-plugin-tests/src/test/scala/chiselTests/InstanceNameSpec.scala | 1 + 3 files changed, 3 insertions(+) create mode 120000 no-plugin-tests/src/test/scala/chisel3/testers/TestUtils.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/ChiselSpec.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/InstanceNameSpec.scala (limited to 'no-plugin-tests/src') diff --git a/no-plugin-tests/src/test/scala/chisel3/testers/TestUtils.scala b/no-plugin-tests/src/test/scala/chisel3/testers/TestUtils.scala new file mode 120000 index 00000000..f3ebcbce --- /dev/null +++ b/no-plugin-tests/src/test/scala/chisel3/testers/TestUtils.scala @@ -0,0 +1 @@ +../../../../../../src/test/scala/chisel3/testers/TestUtils.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/ChiselSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/ChiselSpec.scala new file mode 120000 index 00000000..9b257eeb --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/ChiselSpec.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/ChiselSpec.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/InstanceNameSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/InstanceNameSpec.scala new file mode 120000 index 00000000..e8eca65f --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/InstanceNameSpec.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/InstanceNameSpec.scala \ No newline at end of file -- cgit v1.2.3 From 1494231212425fd09f915d819102ca5cdef0dfcf Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Thu, 11 Feb 2021 18:12:48 -0800 Subject: [plugin] Implement autoclonetype in the compiler plugin --- .../test/scala/chiselTests/AutoClonetypeSpec.scala | 1 + .../scala/chiselTests/AutoNestedCloneSpec.scala | 1 + .../MissingCloneBindingExceptionSpec.scala | 55 ++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 120000 no-plugin-tests/src/test/scala/chiselTests/AutoClonetypeSpec.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/AutoNestedCloneSpec.scala create mode 100644 no-plugin-tests/src/test/scala/chiselTests/MissingCloneBindingExceptionSpec.scala (limited to 'no-plugin-tests/src') diff --git a/no-plugin-tests/src/test/scala/chiselTests/AutoClonetypeSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/AutoClonetypeSpec.scala new file mode 120000 index 00000000..ae3a7597 --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/AutoClonetypeSpec.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/AutoClonetypeSpec.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/AutoNestedCloneSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/AutoNestedCloneSpec.scala new file mode 120000 index 00000000..4ff3aa4f --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/AutoNestedCloneSpec.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/AutoNestedCloneSpec.scala \ No newline at end of file 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") +} -- cgit v1.2.3 From e6c902eaf6f63413ff8f3b12ad8993cf34447413 Mon Sep 17 00:00:00 2001 From: Leway Colin Date: Thu, 15 Jul 2021 07:22:20 +0800 Subject: Fix Cat rename signal (#2011) Co-authored-by: Jack Koenig --- no-plugin-tests/src/test/scala/chiselTests/BetterNamingTests.scala | 1 + no-plugin-tests/src/test/scala/chiselTests/CatSpec.scala | 1 + no-plugin-tests/src/test/scala/chiselTests/CustomBundle.scala | 1 + no-plugin-tests/src/test/scala/chiselTests/NamingAnnotationTest.scala | 1 + 4 files changed, 4 insertions(+) create mode 120000 no-plugin-tests/src/test/scala/chiselTests/BetterNamingTests.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/CatSpec.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/CustomBundle.scala create mode 120000 no-plugin-tests/src/test/scala/chiselTests/NamingAnnotationTest.scala (limited to 'no-plugin-tests/src') diff --git a/no-plugin-tests/src/test/scala/chiselTests/BetterNamingTests.scala b/no-plugin-tests/src/test/scala/chiselTests/BetterNamingTests.scala new file mode 120000 index 00000000..0d362f3c --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/BetterNamingTests.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/BetterNamingTests.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/CatSpec.scala b/no-plugin-tests/src/test/scala/chiselTests/CatSpec.scala new file mode 120000 index 00000000..2fb2d6a7 --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/CatSpec.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/util/CatSpec.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/CustomBundle.scala b/no-plugin-tests/src/test/scala/chiselTests/CustomBundle.scala new file mode 120000 index 00000000..006a2dbd --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/CustomBundle.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/CustomBundle.scala \ No newline at end of file diff --git a/no-plugin-tests/src/test/scala/chiselTests/NamingAnnotationTest.scala b/no-plugin-tests/src/test/scala/chiselTests/NamingAnnotationTest.scala new file mode 120000 index 00000000..6933a290 --- /dev/null +++ b/no-plugin-tests/src/test/scala/chiselTests/NamingAnnotationTest.scala @@ -0,0 +1 @@ +../../../../../src/test/scala/chiselTests/NamingAnnotationTest.scala \ No newline at end of file -- cgit v1.2.3