summaryrefslogtreecommitdiff
path: root/test/files/jvm/scala-concurrent-tck.scala
diff options
context:
space:
mode:
authorViktor Klang <viktor.klang@gmail.com>2013-01-14 11:53:55 +0100
committerPhilipp Haller <hallerp@gmail.com>2013-01-21 19:01:23 +0100
commit08a74e55c15a8102d2b9184b29c5bc7474a4dd91 (patch)
treee27c34b7e2bc0f0c5f272c4ad485399eb28bf236 /test/files/jvm/scala-concurrent-tck.scala
parent18a906bb9a6c6b50d286ca76f219a5b351514ae4 (diff)
downloadscala-08a74e55c15a8102d2b9184b29c5bc7474a4dd91.tar.gz
scala-08a74e55c15a8102d2b9184b29c5bc7474a4dd91.tar.bz2
scala-08a74e55c15a8102d2b9184b29c5bc7474a4dd91.zip
Fix SI-6932 by enabling linearization of callback execution for the internal execution context of Future
Diffstat (limited to 'test/files/jvm/scala-concurrent-tck.scala')
-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 b529bca38a..b2b4183564 100644
--- a/test/files/jvm/scala-concurrent-tck.scala
+++ b/test/files/jvm/scala-concurrent-tck.scala
@@ -134,6 +134,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()
@@ -143,6 +149,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()
}