summaryrefslogtreecommitdiff
path: root/test/files/jvm/timeout.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/jvm/timeout.scala')
-rw-r--r--test/files/jvm/timeout.scala33
1 files changed, 33 insertions, 0 deletions
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)
+ }
+ }
+ }
+}