summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/UIntOps.scala
diff options
context:
space:
mode:
authorAndrew Waterman2017-12-08 17:06:19 -0800
committerJack Koenig2017-12-08 17:06:19 -0800
commit66d687d9c7af34e9d7a061feba309ec7a6dbd261 (patch)
tree7c7ad57b6c0a0686751626a546586fbdc78373ae /src/test/scala/chiselTests/UIntOps.scala
parent81fa4f2418faf70b0f2dbf758cad93e923ee5607 (diff)
Reject negative shift amounts; add tests (#730)
Closes #729
Diffstat (limited to 'src/test/scala/chiselTests/UIntOps.scala')
-rw-r--r--src/test/scala/chiselTests/UIntOps.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/UIntOps.scala b/src/test/scala/chiselTests/UIntOps.scala
index d31d86a8..490af22b 100644
--- a/src/test/scala/chiselTests/UIntOps.scala
+++ b/src/test/scala/chiselTests/UIntOps.scala
@@ -91,6 +91,11 @@ class BadBoolConversion extends Module {
io.b := io.u.toBool
}
+class NegativeShift(t: => Bits) extends Module {
+ val io = IO(new Bundle)
+ Reg(t) >> -1
+}
+
class UIntOpsSpec extends ChiselPropSpec with Matchers {
// Disable shrinking on error.
implicit val noShrinkListVal = Shrink[List[Int]](_ => Stream.empty)
@@ -111,5 +116,9 @@ class UIntOpsSpec extends ChiselPropSpec with Matchers {
property("UIntOpsTester should return the correct result") {
assertTesterPasses { new UIntOpsTester(123, 7) }
}
+
+ property("Negative shift amounts are invalid") {
+ a [ChiselException] should be thrownBy { elaborate(new NegativeShift(UInt())) }
+ }
}