aboutsummaryrefslogtreecommitdiff
path: root/tests/run
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/WeakHashSetTest.scala174
-rw-r--r--tests/run/shortClass.scala26
-rw-r--r--tests/run/showraw_nosymbol.scala5
-rw-r--r--tests/run/sm-interpolator.scala41
-rw-r--r--tests/run/structural.scala25
-rw-r--r--tests/run/t429.scala1
-rw-r--r--tests/run/t6732.scala12
7 files changed, 1 insertions, 283 deletions
diff --git a/tests/run/WeakHashSetTest.scala b/tests/run/WeakHashSetTest.scala
deleted file mode 100644
index 8bcb95091..000000000
--- a/tests/run/WeakHashSetTest.scala
+++ /dev/null
@@ -1,174 +0,0 @@
-object Test {
- def main(args: Array[String]): Unit = {
- val test = scala.reflect.internal.util.WeakHashSetTest
- test.checkEmpty
- test.checkPlusEquals
- test.checkPlusEqualsCollisions
- test.checkRehashing
- test.checkRehashCollisions
- test.checkFindOrUpdate
- test.checkMinusEquals
- test.checkMinusEqualsCollisions
- test.checkClear
- test.checkIterator
- test.checkIteratorCollisions
-
- // This test is commented out because it relies on gc behavior which isn't reliable enough in an automated environment
- // test.checkRemoveUnreferencedObjects
- }
-}
-
-// put the main test object in the same package as WeakHashSet because
-// it uses the package private "diagnostics" method
-package scala.reflect.internal.util {
-
- object WeakHashSetTest {
- // a class guaranteed to provide hash collisions
- case class Collider(x : String) extends Comparable[Collider] with Serializable {
- override def hashCode = 0
- def compareTo(y : Collider) = this.x compareTo y.x
- }
-
- // basic emptiness check
- def checkEmpty: Unit = {
- val hs = new WeakHashSet[String]()
- assert(hs.size == 0)
- hs.diagnostics.fullyValidate
- }
-
- // make sure += works
- def checkPlusEquals: Unit = {
- val hs = new WeakHashSet[String]()
- val elements = List("hello", "goodbye")
- elements foreach (hs += _)
- assert(hs.size == 2)
- assert(hs contains "hello")
- assert(hs contains "goodbye")
- hs.diagnostics.fullyValidate
- }
-
- // make sure += works when there are collisions
- def checkPlusEqualsCollisions: Unit = {
- val hs = new WeakHashSet[Collider]()
- val elements = List("hello", "goodbye") map Collider
- elements foreach (hs += _)
- assert(hs.size == 2)
- assert(hs contains Collider("hello"))
- assert(hs contains Collider("goodbye"))
- hs.diagnostics.fullyValidate
- }
-
- // add a large number of elements to force rehashing and then validate
- def checkRehashing: Unit = {
- val size = 200
- val hs = new WeakHashSet[String]()
- val elements = (0 until size).toList map ("a" + _)
- elements foreach (hs += _)
- elements foreach {i => assert(hs contains i)}
- hs.diagnostics.fullyValidate
- }
-
- // make sure rehashing works properly when the set is rehashed
- def checkRehashCollisions: Unit = {
- val size = 200
- val hs = new WeakHashSet[Collider]()
- val elements = (0 until size).toList map {x => Collider("a" + x)}
- elements foreach (hs += _)
- elements foreach {i => assert(hs contains i)}
- hs.diagnostics.fullyValidate
- }
-
- // test that unreferenced objects are removed
- // not run in an automated environment because gc behavior can't be relied on
- def checkRemoveUnreferencedObjects: Unit = {
- val size = 200
- val hs = new WeakHashSet[Collider]()
- val elements = (0 until size).toList map {x => Collider("a" + x)}
- elements foreach (hs += _)
- // don't throw the following into a retained collection so gc
- // can remove them
- for (i <- 0 until size) {
- hs += Collider("b" + i)
- }
- System.gc()
- Thread.sleep(1000)
- assert(hs.size == 200)
- elements foreach {i => assert(hs contains i)}
- for (i <- 0 until size) {
- assert(!(hs contains Collider("b" + i)))
- }
- hs.diagnostics.fullyValidate
- }
-
- // make sure findOrUpdate returns the originally entered element
- def checkFindOrUpdate: Unit = {
- val size = 200
- val hs = new WeakHashSet[Collider]()
- val elements = (0 until size).toList map {x => Collider("a" + x)}
- elements foreach {x => assert(hs findEntryOrUpdate x eq x)}
- for (i <- 0 until size) {
- // when we do a lookup the result should be the same reference we
- // original put in
- assert(hs findEntryOrUpdate(Collider("a" + i)) eq elements(i))
- }
- hs.diagnostics.fullyValidate
- }
-
- // check -= functionality
- def checkMinusEquals: Unit = {
- val hs = new WeakHashSet[String]()
- val elements = List("hello", "goodbye")
- elements foreach (hs += _)
- hs -= "goodbye"
- assert(hs.size == 1)
- assert(hs contains "hello")
- assert(!(hs contains "goodbye"))
- hs.diagnostics.fullyValidate
- }
-
- // check -= when there are collisions
- def checkMinusEqualsCollisions: Unit = {
- val hs = new WeakHashSet[Collider]
- val elements = List(Collider("hello"), Collider("goodbye"))
- elements foreach (hs += _)
- hs -= Collider("goodbye")
- assert(hs.size == 1)
- assert(hs contains Collider("hello"))
- assert(!(hs contains Collider("goodbye")))
- hs -= Collider("hello")
- assert(hs.size == 0)
- assert(!(hs contains Collider("hello")))
- hs.diagnostics.fullyValidate
- }
-
- // check that the clear method actually cleans everything
- def checkClear: Unit = {
- val size = 200
- val hs = new WeakHashSet[String]()
- val elements = (0 until size).toList map ("a" + _)
- elements foreach (hs += _)
- hs.clear()
- assert(hs.size == 0)
- elements foreach {i => assert(!(hs contains i))}
- hs.diagnostics.fullyValidate
- }
-
- // check that the iterator covers all the contents
- def checkIterator: Unit = {
- val hs = new WeakHashSet[String]()
- val elements = (0 until 20).toList map ("a" + _)
- elements foreach (hs += _)
- assert(elements.iterator.toList.sorted == elements.sorted)
- hs.diagnostics.fullyValidate
- }
-
- // check that the iterator covers all the contents even when there is a collision
- def checkIteratorCollisions: Unit = {
- val hs = new WeakHashSet[Collider]
- val elements = (0 until 20).toList map {x => Collider("a" + x)}
- elements foreach (hs += _)
- assert(elements.iterator.toList.sorted == elements.sorted)
- hs.diagnostics.fullyValidate
- }
- }
-}
diff --git a/tests/run/shortClass.scala b/tests/run/shortClass.scala
deleted file mode 100644
index c5c2043f4..000000000
--- a/tests/run/shortClass.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-import scala.reflect.internal.util._
-
-package bippity {
- trait DingDongBippy
-
- package bop {
- class Foo {
- class Bar
- object Bar
- }
- }
-}
-
-object Test {
- import bippity._
- import bop._
-
- def printSanitized(x: String) = println(x.filterNot(_.isDigit))
-
- def main(args: Array[String]): Unit = {
- val f = new Foo
- val instances = List(f, new f.Bar, f.Bar, new Foo with DingDongBippy, new f.Bar with DingDongBippy)
- instances map (_.getClass.getName) foreach printSanitized
- instances map shortClassOfInstance foreach printSanitized
- }
-}
diff --git a/tests/run/showraw_nosymbol.scala b/tests/run/showraw_nosymbol.scala
deleted file mode 100644
index 191647583..000000000
--- a/tests/run/showraw_nosymbol.scala
+++ /dev/null
@@ -1,5 +0,0 @@
-import scala.reflect.runtime.universe._
-
-object Test extends dotty.runtime.LegacyApp {
- println(showRaw(NoSymbol))
-}
diff --git a/tests/run/sm-interpolator.scala b/tests/run/sm-interpolator.scala
deleted file mode 100644
index e4bec7afb..000000000
--- a/tests/run/sm-interpolator.scala
+++ /dev/null
@@ -1,41 +0,0 @@
-object Test extends dotty.runtime.LegacyApp {
- import scala.reflect.internal.util.StringContextStripMarginOps
- def check(actual: Any, expected: Any) = if (actual != expected) sys.error(s"\nexpected:\n$expected\n\nactual:\n$actual")
-
- val bar = "|\n ||"
-
- check(
- sm"""|ab
- |de
- |${bar} | ${1}""",
- "ab\nde\n|\n || | 1")
-
- check(
- sm"|",
- "")
-
- check(
- sm"${0}",
- "0")
-
- check(
- sm"${0}",
- "0")
-
- check(
- sm"""${0}|${1}
- |""",
- "0|1\n")
-
- check(
- sm""" ||""",
- "|")
-
- check(
- sm""" ${" "} ||""",
- " ||")
-
- check(
- sm"\n",
- raw"\n".stripMargin)
-}
diff --git a/tests/run/structural.scala b/tests/run/structural.scala
deleted file mode 100644
index 0f18f4579..000000000
--- a/tests/run/structural.scala
+++ /dev/null
@@ -1,25 +0,0 @@
-case class Record(elems: (String, Any)*) extends Selectable {
- def selectDynamic(name: String): Any = elems.find(_._1 == name).get._2
-}
-
-object Test {
- import scala.reflect.Selectable.reflectiveSelectable
-
- def f(closeable: { def close(): Unit }) =
- closeable.close()
-
- type RN = Record { val name: String; val age: Int }
-
- def g(r: RN) = r.name
-
- val rr: RN = Record("name" -> "Bob", "age" -> 42).asInstanceOf[RN]
-
- def main(args: Array[String]): Unit = {
- f(new java.io.PrintStream("foo"))
- assert(g(rr) == "Bob")
-
- val s: { def concat(s: String): String } = "abc"
- assert(s.concat("def") == "abcdef")
- }
-}
-
diff --git a/tests/run/t429.scala b/tests/run/t429.scala
index eeed4b080..411d199ee 100644
--- a/tests/run/t429.scala
+++ b/tests/run/t429.scala
@@ -11,5 +11,6 @@ object Test {
}
def main (args: Array[String]): Unit = {
Console.print((new B).y);
+ println()
}
}
diff --git a/tests/run/t6732.scala b/tests/run/t6732.scala
deleted file mode 100644
index ff0f0494d..000000000
--- a/tests/run/t6732.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-import scala.reflect.runtime.universe._
-import definitions._
-
-object Test extends dotty.runtime.LegacyApp {
- def test(sym: Symbol): Unit = {
- println(s"${showRaw(sym, printKinds = true)}: ${sym.isModule}, ${sym.isModuleClass}, ${sym.isPackage}, ${sym.isPackageClass}")
- }
- test(ScalaPackage)
- test(ScalaPackageClass)
- test(ListModule)
- test(ListModule.moduleClass)
-}