summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/InstanceNameSpec.scala
diff options
context:
space:
mode:
authormergify[bot]2022-05-29 22:07:56 +0000
committerGitHub2022-05-29 22:07:56 +0000
commit0c811b490f47f20f2e81c58706924e56611b6ba2 (patch)
tree04df977bccd83adb9458d6bf783369bb4e226d86 /src/test/scala/chiselTests/InstanceNameSpec.scala
parent3aed65709aedc22810926751db33fe9ba767a03b (diff)
Deprecate accessing the name of non-hardware Data (#2550) (#2552)
This includes (and is tested) for both the old .*Name APIs and .toTarget (cherry picked from commit 6e0d8d6b12e9d8f94c2cc43b92b2366ec70dfd50) Co-authored-by: Jack Koenig <koenig@sifive.com>
Diffstat (limited to 'src/test/scala/chiselTests/InstanceNameSpec.scala')
-rw-r--r--src/test/scala/chiselTests/InstanceNameSpec.scala20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/test/scala/chiselTests/InstanceNameSpec.scala b/src/test/scala/chiselTests/InstanceNameSpec.scala
index 7eaf3106..cc5980f4 100644
--- a/src/test/scala/chiselTests/InstanceNameSpec.scala
+++ b/src/test/scala/chiselTests/InstanceNameSpec.scala
@@ -22,28 +22,36 @@ class InstanceNameModule extends Module {
io.bar := io.foo + x
}
-class InstanceNameSpec extends ChiselFlatSpec {
+class InstanceNameSpec extends ChiselFlatSpec with Utils {
behavior.of("instanceName")
val moduleName = "InstanceNameModule"
var m: InstanceNameModule = _
ChiselStage.elaborate { m = new InstanceNameModule; m }
+ val deprecationMsg = "Accessing the .instanceName or .toTarget of non-hardware Data is deprecated"
+
it should "work with module IO" in {
val io = m.io.pathName
assert(io == moduleName + ".io")
}
- it should "work with internal vals" in {
+ it should "work for literals" in {
val x = m.x.pathName
- val y = m.y.pathName
- val z = m.z.pathName
assert(x == moduleName + ".UInt<2>(\"h03\")")
+ }
+
+ it should "work with non-hardware values (but be deprecated)" in {
+ val (ylog, y) = grabLog(m.y.pathName)
+ val (zlog, z) = grabLog(m.z.pathName)
+ ylog should include(deprecationMsg)
assert(y == moduleName + ".y")
+ zlog should include(deprecationMsg)
assert(z == moduleName + ".z")
}
- it should "work with bundle elements" in {
- val foo = m.z.foo.pathName
+ it should "work with non-hardware bundle elements (but be deprecated)" in {
+ val (log, foo) = grabLog(m.z.foo.pathName)
+ log should include(deprecationMsg)
assert(foo == moduleName + ".z.foo")
}