diff options
-rw-r--r-- | test/files/jvm/timeout.check | 1 | ||||
-rw-r--r-- | test/files/jvm/timeout.scala | 33 |
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) + } + } + } +} |