diff options
Diffstat (limited to 'test/files/run')
-rw-r--r-- | test/files/run/t8946.scala | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/test/files/run/t8946.scala b/test/files/run/t8946.scala deleted file mode 100644 index a248a20501..0000000000 --- a/test/files/run/t8946.scala +++ /dev/null @@ -1,29 +0,0 @@ -// Tests to assert that references to threads are not strongly held when scala-reflection is used inside of them. -object Test { - import scala.ref.WeakReference - - def forceGc() = { - var obj = new Object - val ref = new WeakReference(obj) - obj = null; - while(ref.get.nonEmpty) - Array.ofDim[Byte](16 * 1024 * 1024) - } - - def main(args: Array[String]): Unit = { - val threads = for (i <- (1 to 16)) yield { - val t = new Thread { - override def run(): Unit = { - import reflect.runtime.universe._ - typeOf[List[String]] <:< typeOf[Seq[_]] - } - } - t.start() - t.join() - WeakReference(t) - } - forceGc() - val nonGCdThreads = threads.filter(_.get.nonEmpty).length - assert(nonGCdThreads == 0, s"${nonGCdThreads} threads were retained; expected 0.") - } -} |