summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/files/neg/t10207.check4
-rw-r--r--test/files/neg/t10207.scala16
-rw-r--r--test/files/run/hash-hash-hash-hash.scala5
-rw-r--r--test/files/run/unit-block-hash-hash.scala12
-rw-r--r--test/junit/scala/sys/process/PipedProcessTest.scala30
5 files changed, 38 insertions, 29 deletions
diff --git a/test/files/neg/t10207.check b/test/files/neg/t10207.check
new file mode 100755
index 0000000000..3330db44a5
--- /dev/null
+++ b/test/files/neg/t10207.check
@@ -0,0 +1,4 @@
+t10207.scala:14: error: too many arguments (2) for method apply: (key: Int)scala.collection.mutable.ArrayBuffer[String] in trait MapLike
+ m(1, (_ => empty)) ++= AB("eins", "uno")
+ ^
+one error found
diff --git a/test/files/neg/t10207.scala b/test/files/neg/t10207.scala
new file mode 100644
index 0000000000..2dfc5d75c9
--- /dev/null
+++ b/test/files/neg/t10207.scala
@@ -0,0 +1,16 @@
+
+// Was:
+// warning: an unexpected type representation reached the compiler backend
+// Now:
+// error: too many arguments (2) for method apply: (key: Int)scala.collection.mutable.ArrayBuffer[String] in trait MapLike
+
+trait Test {
+ import collection.mutable.{Map=>MMap, ArrayBuffer=>AB}
+
+ val m = MMap((1 -> AB("one")))
+
+ val empty = AB[String]()
+
+ m(1, (_ => empty)) ++= AB("eins", "uno")
+}
+
diff --git a/test/files/run/hash-hash-hash-hash.scala b/test/files/run/hash-hash-hash-hash.scala
deleted file mode 100644
index 08793871a7..0000000000
--- a/test/files/run/hash-hash-hash-hash.scala
+++ /dev/null
@@ -1,5 +0,0 @@
-object Test {
- def main(args: Array[String]): Unit = {
- assert(1.##.## == 1) // was java.lang.NoSuchMethodError: java.lang.Object.$hash$hash()I
- }
-}
diff --git a/test/files/run/unit-block-hash-hash.scala b/test/files/run/unit-block-hash-hash.scala
deleted file mode 100644
index 2708810a71..0000000000
--- a/test/files/run/unit-block-hash-hash.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-object Ex extends Exception
-object Test {
- def ex: Any = throw Ex
- def main(args: Array[String]): Unit = {
- try {
- { ex; () }.##
- sys.error("no exception was thrown")
- } catch {
- case `Ex` =>
- }
- }
-} \ No newline at end of file
diff --git a/test/junit/scala/sys/process/PipedProcessTest.scala b/test/junit/scala/sys/process/PipedProcessTest.scala
index 53f053e9aa..3f403dbe75 100644
--- a/test/junit/scala/sys/process/PipedProcessTest.scala
+++ b/test/junit/scala/sys/process/PipedProcessTest.scala
@@ -7,13 +7,19 @@ import java.io.{InputStream, OutputStream, PipedInputStream, PipedOutputStream,
ByteArrayOutputStream, IOException, Closeable}
import java.lang.reflect.InvocationTargetException
import scala.concurrent.{Await, Future}
-import scala.concurrent.duration.{Duration, SECONDS}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.control.Exception.ignoring
-// Each test normally ends in a moment, but for failure cases, waits until one second.
+// Each test normally ends in a moment, but for failure cases, waits two seconds.
// SI-7350, SI-8768
+// one second wasn't always enough --
+// https://github.com/scala/scala-dev/issues/313
+object TestDuration {
+ import scala.concurrent.duration.{Duration, SECONDS}
+ val Standard = Duration(2, SECONDS)
+}
+
@RunWith(classOf[JUnit4])
class PipedProcessTest {
class ProcessMock(error: Boolean) extends Process {
@@ -81,7 +87,7 @@ class PipedProcessTest {
val f = Future {
p.callRunAndExitValue(source, sink)
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(source.releaseCount == 0)
assert(sink.releaseCount == 0)
assert(a.destroyCount == 0)
@@ -102,7 +108,7 @@ class PipedProcessTest {
p.callRunAndExitValue(source, sink)
}
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(source.releaseCount == 1)
assert(sink.releaseCount == 1)
assert(a.destroyCount == 0)
@@ -123,7 +129,7 @@ class PipedProcessTest {
p.callRunAndExitValue(source, sink)
}
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(source.releaseCount == 1)
assert(sink.releaseCount == 1)
assert(a.destroyCount == 0)
@@ -142,7 +148,7 @@ class PipedProcessTest {
val f = Future {
p.callRunAndExitValue(source, sink)
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(source.releaseCount == 1)
assert(sink.releaseCount == 1)
assert(a.destroyCount == 1)
@@ -161,7 +167,7 @@ class PipedProcessTest {
val f = Future {
p.callRunAndExitValue(source, sink)
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(source.releaseCount == 1)
assert(sink.releaseCount == 1)
assert(a.destroyCount == 1)
@@ -235,7 +241,7 @@ class PipeSourceSinkTest {
source.join()
sink.join()
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(in.closed == true)
assert(out.closed == true)
assert(source.isReleased == true)
@@ -253,7 +259,7 @@ class PipeSourceSinkTest {
source.release()
sink.release()
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(out.closed == true)
assert(source.isReleased == true)
assert(sink.isReleased == true)
@@ -270,13 +276,13 @@ class PipeSourceSinkTest {
source.release()
sink.release()
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(in.closed == true)
assert(source.isReleased == true)
assert(sink.isReleased == true)
}
- // PipeSource and PipeSink must release resources when interrupted during copy streams"
+ // PipeSource and PipeSink must release resources when interrupted during copy streams
@Test
def runloopInterrupted() {
val in = new DebugInfinityInputStream
@@ -290,7 +296,7 @@ class PipeSourceSinkTest {
source.release()
sink.release()
}
- Await.result(f, Duration(1, SECONDS))
+ Await.result(f, TestDuration.Standard)
assert(in.closed == true)
assert(out.closed == true)
assert(source.isReleased == true)