From 6d71ae88a221c00ee17660418ed54b986727e3df Mon Sep 17 00:00:00 2001 From: Grzegorz Kossakowski Date: Tue, 21 Jan 2014 16:50:14 +0100 Subject: Work-around for partest failure due to JDK bug. JDK7 and JDK8 have a bug that causes JVM to print some warning about applets that is unrelated to whatever we are testing in Scala. Let's work it around using test/files/filters mechanism that allows us to filter out output lines based on regexp. --- test/files/filters | 2 ++ 1 file changed, 2 insertions(+) (limited to 'test') diff --git a/test/files/filters b/test/files/filters index 70d7dcff70..51a7507848 100644 --- a/test/files/filters +++ b/test/files/filters @@ -4,3 +4,5 @@ Java HotSpot\(TM\) .* warning: # Hotspot receiving VM options through the $_JAVA_OPTIONS # env variable outputs them on stderr Picked up _JAVA_OPTIONS: +# Filter out a message caused by this bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8021205 +objc\[\d+\]: Class JavaLaunchHelper is implemented in both .* and .*\. One of the two will be used\. Which one is undefined\. -- cgit v1.2.3 From 947defc36115c24a782184cb154ac05259b40f95 Mon Sep 17 00:00:00 2001 From: Grzegorz Kossakowski Date: Tue, 21 Jan 2014 18:12:01 +0100 Subject: Make abstract-report2 test less dependent on std library. Replace the use of `Ordering` by custom, dummy trait Xyz defined in test's source. By not inheriting from Ordering in abstract-report2 we make the test less dependent on both Scala and Java library. The reason we are less dependent on Java is because Ordering extends Java's comparator. This change is motivated by the fact that Java 8 introduced default method `reversed` to Comparator interface and we get a failure due to conflicting inheritance: -abstract-report2.scala:9: error: trait Bippy inherits conflicting members: - method reversed in trait TraversableOnce of type => List[(T2, String)] and - method reversed in trait Comparator of type ()java.util.Comparator[T3] -(Note: this can be resolved by declaring an override in trait Bippy.) -trait Bippy[T1, T2, T3] extends Collection[T1] with TraversableOnce[(T2, String)] with Ordering[T3] - ^ --- test/files/neg/abstract-report2.check | 8 ++++---- test/files/neg/abstract-report2.scala | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/files/neg/abstract-report2.check b/test/files/neg/abstract-report2.check index 6ea949353a..9be3d822f2 100644 --- a/test/files/neg/abstract-report2.check +++ b/test/files/neg/abstract-report2.check @@ -61,7 +61,7 @@ it has 13 unimplemented members. class Baz[T] extends Collection[T] ^ -abstract-report2.scala:11: error: class Dingus needs to be abstract, since: +abstract-report2.scala:15: error: class Dingus needs to be abstract, since: it has 24 unimplemented members. /** As seen from class Dingus, the missing signatures are as follows. * For convenience, these are usable as stub implementations. @@ -84,9 +84,6 @@ it has 24 unimplemented members. def toIterator: Iterator[(Set[Int], String)] = ??? def toStream: Stream[(Set[Int], String)] = ??? - // Members declared in scala.math.Ordering - def compare(x: List[Int],y: List[Int]): Int = ??? - // Members declared in scala.collection.TraversableOnce def copyToArray[B >: (Set[Int], String)](xs: Array[B],start: Int,len: Int): Unit = ??? def exists(p: ((Set[Int], String)) => Boolean): Boolean = ??? @@ -98,6 +95,9 @@ it has 24 unimplemented members. def seq: scala.collection.TraversableOnce[(Set[Int], String)] = ??? def toTraversable: Traversable[(Set[Int], String)] = ??? + // Members declared in Xyz + def foo(x: List[Int]): Boolean = ??? + class Dingus extends Bippy[String, Set[Int], List[Int]] ^ four errors found diff --git a/test/files/neg/abstract-report2.scala b/test/files/neg/abstract-report2.scala index b6327b0766..8825340d4a 100644 --- a/test/files/neg/abstract-report2.scala +++ b/test/files/neg/abstract-report2.scala @@ -6,6 +6,10 @@ class Bar extends Collection[List[_ <: String]] class Baz[T] extends Collection[T] -trait Bippy[T1, T2, T3] extends Collection[T1] with TraversableOnce[(T2, String)] with Ordering[T3] +trait Xyz[T] { + def foo(x: T): Boolean +} + +trait Bippy[T1, T2, T3] extends Collection[T1] with TraversableOnce[(T2, String)] with Xyz[T3] class Dingus extends Bippy[String, Set[Int], List[Int]] \ No newline at end of file -- cgit v1.2.3