summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Haller <hallerp@gmail.com>2008-09-29 09:46:12 +0000
committerPhilipp Haller <hallerp@gmail.com>2008-09-29 09:46:12 +0000
commit12935da7daee2588c2429a9cccf29e54d90202f7 (patch)
tree509c734682e69afe6e72848b233dd933cdbbba8a
parentee9e91a10702300bb2ab282ca36c9bebf43d62f1 (diff)
downloadscala-12935da7daee2588c2429a9cccf29e54d90202f7.tar.gz
scala-12935da7daee2588c2429a9cccf29e54d90202f7.tar.bz2
scala-12935da7daee2588c2429a9cccf29e54d90202f7.zip
Added test for #1390.
-rw-r--r--test/files/jvm/timeout.check1
-rw-r--r--test/files/jvm/timeout.scala33
2 files changed, 34 insertions, 0 deletions
diff --git a/test/files/jvm/timeout.check b/test/files/jvm/timeout.check
new file mode 100644
index 0000000000..d86bac9de5
--- /dev/null
+++ b/test/files/jvm/timeout.check
@@ -0,0 +1 @@
+OK
diff --git a/test/files/jvm/timeout.scala b/test/files/jvm/timeout.scala
new file mode 100644
index 0000000000..12f1bd7bad
--- /dev/null
+++ b/test/files/jvm/timeout.scala
@@ -0,0 +1,33 @@
+
+import scala.actors.Actor._
+import scala.actors.TIMEOUT
+
+object Test extends Application {
+ case class Timing(time: Long)
+
+ actor {
+ val a = actor {
+ react {
+ case 'doTiming =>
+ val s = sender
+ reactWithin(500) {
+ case TIMEOUT =>
+ s ! Timing(System.currentTimeMillis)
+ }
+ }
+ }
+
+ val start = System.currentTimeMillis
+ (a !? 'doTiming) match {
+ case Timing(end) =>
+ val delay = end - start
+
+ if (delay > 100 && delay < 900)
+ println("OK")
+ else {
+ println("EXPECTED: 100 < x < 900")
+ println("ACTUAL: "+delay)
+ }
+ }
+ }
+}