summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-01-27 22:36:35 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-01-27 22:36:35 -0800
commitf7b5b312ca5dd1333245d8174a8dbadc89bd40fc (patch)
tree1f2793fdb066dedf38468e2dcbab5865c0d352d6 /test
parent53d4ec0187416c72cd1f25d24c5811c7fd6574db (diff)
parent48970634271b8e231991dcd053134e1932d55e1d (diff)
downloadscala-2.9.3.tar.gz
scala-2.9.3.tar.bz2
scala-2.9.3.zip
Merge pull request #1962 from phaller/issue/6932-2.9.xv2.9.3-RC2v2.9.3
Backport of SI-6932 to 2.9.x
Diffstat (limited to 'test')
-rw-r--r--test/files/jvm/scala-concurrent-tck.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/files/jvm/scala-concurrent-tck.scala b/test/files/jvm/scala-concurrent-tck.scala
index 00ef91539d..7d79f20064 100644
--- a/test/files/jvm/scala-concurrent-tck.scala
+++ b/test/files/jvm/scala-concurrent-tck.scala
@@ -141,6 +141,12 @@ trait FutureCallbacks extends TestBase {
assert(false)
}
}
+
+ def testThatNestedCallbacksDoNotYieldStackOverflow(): Unit = {
+ val promise = Promise[Int]
+ (0 to 10000).map(Future(_)).foldLeft(promise.future)((f1, f2) => f2.flatMap(i => f1))
+ promise.success(-1)
+ }
testOnSuccess()
testOnSuccessWhenCompleted()
@@ -150,6 +156,7 @@ trait FutureCallbacks extends TestBase {
// testOnFailureWhenSpecialThrowable(6, new scala.util.control.ControlThrowable { })
//TODO: this test is currently problematic, because NonFatal does not match InterruptedException
//testOnFailureWhenSpecialThrowable(7, new InterruptedException)
+ testThatNestedCallbacksDoNotYieldStackOverflow()
testOnFailureWhenTimeoutException()
}