diff options
| author | mergify[bot] | 2022-08-13 00:17:56 +0000 |
|---|---|---|
| committer | GitHub | 2022-08-13 00:17:56 +0000 |
| commit | c4dec947d54a52c3092bd7855180d42afaae3776 (patch) | |
| tree | 11c00cf3cc1c2e5fcc3d463475f296ee7cd3b57f /src/test/scala | |
| parent | d344e8a91bdbfedc28527c3fc7d6d243dff9e3e6 (diff) | |
Add option to treat warnings as errors (backport #2676) (#2677)
* Add option to treat warnings as errors (#2676)
Add --warnings-as-errors option
(cherry picked from commit 498946663726955c380a1e420f5d7b9630000aad)
# Conflicts:
# core/src/main/scala/chisel3/experimental/hierarchy/Definition.scala
# core/src/main/scala/chisel3/internal/Builder.scala
# src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
# src/main/scala/chisel3/stage/ChiselOptions.scala
# src/main/scala/chisel3/stage/package.scala
# src/main/scala/chisel3/stage/phases/Elaborate.scala
* Resolve backport conflicts
Co-authored-by: Zachary Yedidia <zyedidia@gmail.com>
Co-authored-by: Jack Koenig <koenig@sifive.com>
Diffstat (limited to 'src/test/scala')
| -rw-r--r-- | src/test/scala/chiselTests/WarningSpec.scala | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/src/test/scala/chiselTests/WarningSpec.scala b/src/test/scala/chiselTests/WarningSpec.scala index bf3830d6..1cef1ffc 100644 --- a/src/test/scala/chiselTests/WarningSpec.scala +++ b/src/test/scala/chiselTests/WarningSpec.scala @@ -4,32 +4,39 @@ package chiselTests import chisel3._ import chisel3.util._ -import chisel3.stage.{ChiselGeneratorAnnotation, ChiselStage} +import chisel3.stage.ChiselStage import chisel3.experimental.ChiselEnum import chisel3.experimental.EnumType -import chiselTests.ChiselFlatSpec class WarningSpec extends ChiselFlatSpec with Utils { behavior.of("Warnings") - "Warnings" should "be de-duplicated" in { - object MyEnum extends ChiselEnum { - val e0, e1, e2 = Value - } + object MyEnum extends ChiselEnum { + val e0, e1, e2 = Value + } - class MyModule extends Module { - val in = IO(Input(UInt(2.W))) - val out1 = IO(Output(MyEnum())) - val out2 = IO(Output(MyEnum())) - def func(out: EnumType): Unit = { - out := MyEnum(in) - } - func(out1) - func(out2) + class MyModule extends Module { + val in = IO(Input(UInt(2.W))) + val out1 = IO(Output(MyEnum())) + val out2 = IO(Output(MyEnum())) + def func(out: EnumType): Unit = { + out := MyEnum(in) } + func(out1) + func(out2) + } + + "Warnings" should "be de-duplicated" in { val (log, _) = grabLog(ChiselStage.elaborate(new MyModule)) def countSubstring(s: String, sub: String) = s.sliding(sub.length).count(_ == sub) countSubstring(log, "Casting non-literal UInt") should be(1) } + + "Warnings" should "be treated as errors with warningsAsErrors" in { + a[ChiselException] should be thrownBy extractCause[ChiselException] { + val args = Array("--warnings-as-errors") + (new ChiselStage).emitChirrtl(new MyModule, args) + } + } } |
