summaryrefslogtreecommitdiff
path: root/test/pending/run
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2012-07-17 10:02:55 +0200
committerAdriaan Moors <adriaan.moors@epfl.ch>2012-07-17 17:26:27 +0200
commit1729b26500506530733753d44f9ce2a2597e0e33 (patch)
treefb21521e8f5d9e4dbf1cc9bcdadc4485492586e3 /test/pending/run
parent022eed3245db21f5faf06ae6472e585ead137f82 (diff)
downloadscala-1729b26500506530733753d44f9ce2a2597e0e33.tar.gz
scala-1729b26500506530733753d44f9ce2a2597e0e33.tar.bz2
scala-1729b26500506530733753d44f9ce2a2597e0e33.zip
move test files that fail spuriously to pending
I have this sneaky suspicion that part of these spurious failures are caused by the recent partest optimizations. @axel22 already checked that compiler instances are not shared between test runs. However, except for the benchmark test, they all have a distinct race condition in symbol loading/type checking feel to them. Since, in the end, the tests and/or their corresponding fixes are as likely a culprit as the test framework, moving them out of the way until their owners can get them back in line and they stop throwing primate wenches into our build. We should bring them back as soon as possible, though.
Diffstat (limited to 'test/pending/run')
-rw-r--r--test/pending/run/t3897.check8
-rw-r--r--test/pending/run/t3897/J_2.java27
-rw-r--r--test/pending/run/t3897/a_1.scala8
-rw-r--r--test/pending/run/t3897/a_2.scala23
-rw-r--r--test/pending/run/t5293-map.scala88
-rw-r--r--test/pending/run/t5293.scala83
6 files changed, 237 insertions, 0 deletions
diff --git a/test/pending/run/t3897.check b/test/pending/run/t3897.check
new file mode 100644
index 0000000000..244b83716f
--- /dev/null
+++ b/test/pending/run/t3897.check
@@ -0,0 +1,8 @@
+(One$$messages,scala.collection.mutable.MutableList<java.lang.String>)
+(One$$messages,scala.collection.mutable.MutableList<java.lang.String>)
+(messages,scala.collection.mutable.MutableList<java.lang.String>)
+(messages,scala.collection.mutable.MutableList<java.lang.String>)
+(One$$messages,scala.collection.mutable.MutableList<java.lang.String>)
+(One$$messages,scala.collection.mutable.MutableList<java.lang.String>)
+(messages,scala.collection.mutable.MutableList<java.lang.String>)
+(messages,scala.collection.mutable.MutableList<java.lang.String>)
diff --git a/test/pending/run/t3897/J_2.java b/test/pending/run/t3897/J_2.java
new file mode 100644
index 0000000000..178412dc92
--- /dev/null
+++ b/test/pending/run/t3897/J_2.java
@@ -0,0 +1,27 @@
+import java.lang.reflect.*;
+
+public class J_2 {
+ public void f1(Class<?> clazz) {
+ Field[] fields = clazz.getDeclaredFields();
+ for (int i = 0 ; i < fields.length; i++) {
+ String name = fields[i].getName();
+ if (name.length() >= 7 && name.substring(0, 7).equals("bitmap$")) { }
+ else System.out.println("(" + name + "," + fields[i].getGenericType() + ")");
+ }
+ }
+ public void f2(Class<?> clazz) {
+ Method[] methods = clazz.getDeclaredMethods();
+ for (int i = 0 ; i < methods.length; i++) {
+ String name = methods[i].getName();
+ if (name.length() >= 7 && name.substring(0, 7).equals("bitmap$")) { }
+ else System.out.println("(" + name + "," + methods[i].getGenericReturnType() + ")");
+ }
+ }
+
+ public void javaRun() {
+ f1(One.class);
+ f2(One.class);
+ f1(Two.class);
+ f2(Two.class);
+ }
+} \ No newline at end of file
diff --git a/test/pending/run/t3897/a_1.scala b/test/pending/run/t3897/a_1.scala
new file mode 100644
index 0000000000..4da959e2ac
--- /dev/null
+++ b/test/pending/run/t3897/a_1.scala
@@ -0,0 +1,8 @@
+class One {
+ private val messages = new collection.mutable.MutableList[String]
+ List("a") foreach { messages += _ }
+}
+
+class Two {
+ private val messages = new collection.mutable.MutableList[String]
+}
diff --git a/test/pending/run/t3897/a_2.scala b/test/pending/run/t3897/a_2.scala
new file mode 100644
index 0000000000..4d9e59ef05
--- /dev/null
+++ b/test/pending/run/t3897/a_2.scala
@@ -0,0 +1,23 @@
+object Test {
+ def f1(clazz: Class[_]) = (
+ clazz.getDeclaredFields.toList
+ . filterNot (_.getName contains "bitmap$")
+ . map (f => (f.getName, f.getGenericType))
+ . foreach (println)
+ )
+ def f2(clazz: Class[_]) = (
+ clazz.getDeclaredMethods.toList
+ . filterNot (_.getName contains "bitmap$")
+ . map (f => (f.getName, f.getGenericReturnType))
+ . foreach (println)
+ )
+
+ def main(args: Array[String]): Unit = {
+ f1(classOf[One])
+ f2(classOf[One])
+ f1(classOf[Two])
+ f2(classOf[Two])
+
+ new J_2().javaRun
+ }
+}
diff --git a/test/pending/run/t5293-map.scala b/test/pending/run/t5293-map.scala
new file mode 100644
index 0000000000..2707aed07e
--- /dev/null
+++ b/test/pending/run/t5293-map.scala
@@ -0,0 +1,88 @@
+
+
+
+import scala.collection.JavaConverters._
+
+
+
+object Test extends App {
+
+ def bench(label: String)(body: => Unit): Long = {
+ val start = System.nanoTime
+
+ 0.until(10).foreach(_ => body)
+
+ val end = System.nanoTime
+
+ //println("%s: %s ms".format(label, (end - start) / 1000.0 / 1000.0))
+
+ end - start
+ }
+
+ def benchJava(values: java.util.Map[Int, Int]) = {
+ bench("Java Map") {
+ val m = new java.util.HashMap[Int, Int]
+
+ m.putAll(values)
+ }
+ }
+
+ def benchScala(values: Iterable[(Int, Int)]) = {
+ bench("Scala Map") {
+ val m = new scala.collection.mutable.HashMap[Int, Int]
+
+ m ++= values
+ }
+ }
+
+ def benchScalaSorted(values: Iterable[(Int, Int)]) = {
+ bench("Scala Map sorted") {
+ val m = new scala.collection.mutable.HashMap[Int, Int]
+
+ m ++= values.toArray.sorted
+ }
+ }
+
+ def benchScalaPar(values: Iterable[(Int, Int)]) = {
+ bench("Scala ParMap") {
+ val m = new scala.collection.parallel.mutable.ParHashMap[Int, Int] map { x => x }
+
+ m ++= values
+ }
+ }
+
+ val total = 50000
+ val values = (0 until total) zip (0 until total)
+ val map = scala.collection.mutable.HashMap.empty[Int, Int]
+
+ map ++= values
+
+ // warmup
+ for (x <- 0 until 5) {
+ benchJava(map.asJava)
+ benchScala(map)
+ benchScalaPar(map)
+ benchJava(map.asJava)
+ benchScala(map)
+ benchScalaPar(map)
+ }
+
+ val javamap = benchJava(map.asJava)
+ val scalamap = benchScala(map)
+ val scalaparmap = benchScalaPar(map)
+
+ // println(javamap)
+ // println(scalamap)
+ // println(scalaparmap)
+
+ assert(scalamap < (javamap * 10), "scalamap: " + scalamap + " vs. javamap: " + javamap)
+ assert(scalaparmap < (javamap * 10), "scalaparmap: " + scalaparmap + " vs. javamap: " + javamap)
+}
+
+
+
+
+
+
+
+
diff --git a/test/pending/run/t5293.scala b/test/pending/run/t5293.scala
new file mode 100644
index 0000000000..01ead45d2a
--- /dev/null
+++ b/test/pending/run/t5293.scala
@@ -0,0 +1,83 @@
+
+
+
+import scala.collection.JavaConverters._
+
+
+
+object Test extends App {
+
+ def bench(label: String)(body: => Unit): Long = {
+ val start = System.nanoTime
+
+ 0.until(10).foreach(_ => body)
+
+ val end = System.nanoTime
+
+ //println("%s: %s ms".format(label, (end - start) / 1000.0 / 1000.0))
+
+ end - start
+ }
+
+ def benchJava(values: java.util.Collection[Int]) = {
+ bench("Java Set") {
+ val set = new java.util.HashSet[Int]
+
+ set.addAll(values)
+ }
+ }
+
+ def benchScala(values: Iterable[Int]) = {
+ bench("Scala Set") {
+ val set = new scala.collection.mutable.HashSet[Int]
+
+ set ++= values
+ }
+ }
+
+ def benchScalaSorted(values: Iterable[Int]) = {
+ bench("Scala Set sorted") {
+ val set = new scala.collection.mutable.HashSet[Int]
+
+ set ++= values.toArray.sorted
+ }
+ }
+
+ def benchScalaPar(values: Iterable[Int]) = {
+ bench("Scala ParSet") {
+ val set = new scala.collection.parallel.mutable.ParHashSet[Int] map { x => x }
+
+ set ++= values
+ }
+ }
+
+ val values = 0 until 50000
+ val set = scala.collection.mutable.HashSet.empty[Int]
+
+ set ++= values
+
+ // warmup
+ for (x <- 0 until 5) {
+ benchJava(set.asJava)
+ benchScala(set)
+ benchScalaPar(set)
+ benchJava(set.asJava)
+ benchScala(set)
+ benchScalaPar(set)
+ }
+
+ val javaset = benchJava(set.asJava)
+ val scalaset = benchScala(set)
+ val scalaparset = benchScalaPar(set)
+
+ assert(scalaset < (javaset * 8), "scalaset: " + scalaset + " vs. javaset: " + javaset)
+ assert(scalaparset < (javaset * 8), "scalaparset: " + scalaparset + " vs. javaset: " + javaset)
+}
+
+
+
+
+
+
+
+