summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
+ }
+ }
+ }
+}