diff options
| author | Schuyler Eldridge | 2018-10-28 11:30:45 -0400 |
|---|---|---|
| committer | GitHub | 2018-10-28 11:30:45 -0400 |
| commit | 44124f2ec92cf24814a8343ae3faef9abe916626 (patch) | |
| tree | 3af980704f34346d4e983348a269885ffe6a8910 /src | |
| parent | 600405254c20c14fb3389aa4758ec27dffe992d0 (diff) | |
| parent | f64388e7cfe71004df93ddeef88447978f37ecb1 (diff) | |
Merge pull request #912 from seldridge/c911
Make BaseModule.name lazy
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/scala/chiselTests/Module.scala | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/scala/chiselTests/Module.scala b/src/test/scala/chiselTests/Module.scala index 968e7578..b3d1899c 100644 --- a/src/test/scala/chiselTests/Module.scala +++ b/src/test/scala/chiselTests/Module.scala @@ -62,6 +62,19 @@ class ModuleRewrap extends Module { val inst2 = Module(inst) } +class ModuleWrapper(gen: => Module) extends Module { + val io = IO(new Bundle{}) + val child = Module(gen) + override val desiredName = s"${child.desiredName}Wrapper" +} + +class NullModuleWrapper extends Module { + val io = IO(new Bundle{}) + override lazy val desiredName = s"${child.desiredName}Wrapper" + println(s"My name is ${name}") + val child = Module(new ModuleWire) +} + class ModuleSpec extends ChiselPropSpec { property("ModuleVec should elaborate") { @@ -138,4 +151,11 @@ class ModuleSpec extends ChiselPropSpec { "a" -> m.a, "b" -> m.b)) }) } + property("A desiredName parameterized by a submodule should work") { + Driver.elaborate(() => new ModuleWrapper(new ModuleWire)).name should be ("ModuleWireWrapper") + } + property("A name generating a null pointer exception should provide a good error message") { + (the [Exception] thrownBy (Driver.elaborate(() => new NullModuleWrapper))) + .getMessage should include ("desiredName of chiselTests.NullModuleWrapper is null") + } } |
