diff options
author | Philipp Haller <hallerp@gmail.com> | 2010-04-13 14:41:02 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2010-04-13 14:41:02 +0000 |
commit | bc791369f79f2d1a72a93674eb7b0f34ca58d8d1 (patch) | |
tree | a29f5941272cbe318f67f446d8202156da0ecf06 /test/files/jvm/actor-link-getstate.scala | |
parent | c54b7a99e8a4913ceee3f40631edba72c33145ec (diff) | |
download | scala-bc791369f79f2d1a72a93674eb7b0f34ca58d8d1.tar.gz scala-bc791369f79f2d1a72a93674eb7b0f34ca58d8d1.tar.bz2 scala-bc791369f79f2d1a72a93674eb7b0f34ca58d8d1.zip |
Hardened actor tests. No review.
Diffstat (limited to 'test/files/jvm/actor-link-getstate.scala')
-rw-r--r-- | test/files/jvm/actor-link-getstate.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/jvm/actor-link-getstate.scala b/test/files/jvm/actor-link-getstate.scala index ec01757883..c4c33ef752 100644 --- a/test/files/jvm/actor-link-getstate.scala +++ b/test/files/jvm/actor-link-getstate.scala @@ -7,6 +7,7 @@ case class MyException(text: String) extends Exception(text) { object Slave extends Actor { def act() { + try { loop { react { case 'doWork => @@ -14,18 +15,27 @@ object Slave extends Actor { reply('done) } } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } object Master extends Actor { override def toString = "Master" def act() { + try { link(Slave) Slave ! 'doWork react { case 'done => throw new MyException("Master crashed") } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } @@ -33,6 +43,7 @@ object Test { def main(args: Array[String]) { actor { + try { self.trapExit = true link(Slave) Slave.start() @@ -41,6 +52,10 @@ object Test { case Exit(from, reason) if (from == Slave) => Console.err.println(Slave.getState) } + } catch { + case e: Throwable if !e.isInstanceOf[scala.util.control.ControlThrowable] => + e.printStackTrace() + } } } |