From bc791369f79f2d1a72a93674eb7b0f34ca58d8d1 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Tue, 13 Apr 2010 14:41:02 +0000 Subject: Hardened actor tests. No review. --- test/files/jvm/reactor-producer-consumer.scala | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test/files/jvm/reactor-producer-consumer.scala') diff --git a/test/files/jvm/reactor-producer-consumer.scala b/test/files/jvm/reactor-producer-consumer.scala index 0d33043fc6..8a6b17c3ad 100644 --- a/test/files/jvm/reactor-producer-consumer.scala +++ b/test/files/jvm/reactor-producer-consumer.scala @@ -7,6 +7,7 @@ object Test { class UnboundedBuffer extends Reactor[Any] { def act() { + try { react { case Stop() => case Get(from) => @@ -17,11 +18,16 @@ object Test { act() } } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] { def act() { + try { var i = 0 while (i < n) { i += 1 @@ -29,6 +35,10 @@ object Test { buf ! Put(42) } parent ! Stop() + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } @@ -36,6 +46,7 @@ object Test { val step = n / 10 var i = 0 def act() { + try { if (i < n) { i += 1 if (delay > 0) Thread.sleep(delay) @@ -49,12 +60,17 @@ object Test { } else { parent ! Stop() } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } def main(args: Array[String]) { val parent = new Reactor[Any] { def act() { + try { val buffer = new UnboundedBuffer buffer.start() val producer = new Producer(buffer, 10000, 0, this) @@ -68,6 +84,10 @@ object Test { buffer ! Stop() } } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } parent.start() -- cgit v1.2.3