diff options
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/jvm/actor-getstate.check | 2 | ||||
-rw-r--r-- | test/files/jvm/actor-getstate.scala | 73 | ||||
-rw-r--r-- | test/files/jvm/reactor-exceptionOnSend.scala | 4 | ||||
-rw-r--r-- | test/files/jvm/reactor-producer-consumer.scala | 10 | ||||
-rw-r--r-- | test/files/jvm/reactor.scala | 6 | ||||
-rw-r--r-- | test/files/jvm/replyablereactor2.scala | 2 | ||||
-rw-r--r-- | test/files/jvm/replyablereactor3.scala | 2 | ||||
-rw-r--r-- | test/files/jvm/replyablereactor4.scala | 2 |
8 files changed, 88 insertions, 13 deletions
diff --git a/test/files/jvm/actor-getstate.check b/test/files/jvm/actor-getstate.check new file mode 100644 index 0000000000..2c94e48371 --- /dev/null +++ b/test/files/jvm/actor-getstate.check @@ -0,0 +1,2 @@ +OK +OK diff --git a/test/files/jvm/actor-getstate.scala b/test/files/jvm/actor-getstate.scala new file mode 100644 index 0000000000..9de3247653 --- /dev/null +++ b/test/files/jvm/actor-getstate.scala @@ -0,0 +1,73 @@ +import scala.actors.{Reactor, Actor, TIMEOUT} + +object Test { + + def assert(cond: => Boolean) { + if (!cond) + println("FAIL") + } + + def main(args: Array[String]) { + val a = new Reactor[Any] { + def act() { + assert(getState == Actor.State.Runnable) + react { + case 'go => + println("OK") + } + } + } + assert(a.getState == Actor.State.New) + + a.start() + Thread.sleep(100) + assert(a.getState == Actor.State.Suspended) + + a ! 'go + Thread.sleep(100) + assert(a.getState == Actor.State.Terminated) + + val b = new Actor { + def act() { + assert(getState == Actor.State.Runnable) + react { + case 'go => + reactWithin(100000) { + case TIMEOUT => + case 'go => + receive { + case 'go => + } + receiveWithin(100000) { + case TIMEOUT => + case 'go => + println("OK") + } + } + } + } + } + assert(b.getState == Actor.State.New) + + b.start() + Thread.sleep(100) + assert(b.getState == Actor.State.Suspended) + + b ! 'go + Thread.sleep(100) + assert(b.getState == Actor.State.TimedSuspended) + + b ! 'go + Thread.sleep(100) + assert(b.getState == Actor.State.Blocked) + + b ! 'go + Thread.sleep(100) + assert(b.getState == Actor.State.TimedBlocked) + + b ! 'go + Thread.sleep(100) + assert(b.getState == Actor.State.Terminated) + } + +} diff --git a/test/files/jvm/reactor-exceptionOnSend.scala b/test/files/jvm/reactor-exceptionOnSend.scala index 3684943b9b..c89aab334b 100644 --- a/test/files/jvm/reactor-exceptionOnSend.scala +++ b/test/files/jvm/reactor-exceptionOnSend.scala @@ -3,7 +3,7 @@ import scala.actors.Actor._ case class MyException(text: String) extends Exception(text) -object A extends Reactor { +object A extends Reactor[Any] { override def exceptionHandler = { case MyException(text) => println("receiver handles exception") @@ -29,7 +29,7 @@ object A extends Reactor { } } -object B extends Reactor { +object B extends Reactor[Any] { def act() { A.start() A ! 'hello diff --git a/test/files/jvm/reactor-producer-consumer.scala b/test/files/jvm/reactor-producer-consumer.scala index 946e1561ce..0d33043fc6 100644 --- a/test/files/jvm/reactor-producer-consumer.scala +++ b/test/files/jvm/reactor-producer-consumer.scala @@ -2,10 +2,10 @@ import scala.actors.Reactor object Test { case class Stop() - case class Get(from: Reactor) + case class Get(from: Reactor[Any]) case class Put(x: Int) - class UnboundedBuffer extends Reactor { + class UnboundedBuffer extends Reactor[Any] { def act() { react { case Stop() => @@ -20,7 +20,7 @@ object Test { } } - class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor) extends Reactor { + class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] { def act() { var i = 0 while (i < n) { @@ -32,7 +32,7 @@ object Test { } } - class Consumer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor) extends Reactor { + class Consumer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] { val step = n / 10 var i = 0 def act() { @@ -53,7 +53,7 @@ object Test { } def main(args: Array[String]) { - val parent = new Reactor { + val parent = new Reactor[Any] { def act() { val buffer = new UnboundedBuffer buffer.start() diff --git a/test/files/jvm/reactor.scala b/test/files/jvm/reactor.scala index 919263b65a..12d5c7c221 100644 --- a/test/files/jvm/reactor.scala +++ b/test/files/jvm/reactor.scala @@ -1,7 +1,7 @@ import scala.actors.Reactor -case class Ping(from: Reactor) +case class Ping(from: Reactor[Any]) case object Pong case object Stop @@ -19,7 +19,7 @@ object Test { } } -class PingActor(count: Int, pong: Reactor) extends Reactor { +class PingActor(count: Int, pong: Reactor[Any]) extends Reactor[Any] { def act() { var pingsLeft = count - 1 pong ! Ping(this) @@ -41,7 +41,7 @@ class PingActor(count: Int, pong: Reactor) extends Reactor { } } -class PongActor extends Reactor { +class PongActor extends Reactor[Any] { def act() { var pongCount = 0 loop { diff --git a/test/files/jvm/replyablereactor2.scala b/test/files/jvm/replyablereactor2.scala index 22622274dd..57b7cfe201 100644 --- a/test/files/jvm/replyablereactor2.scala +++ b/test/files/jvm/replyablereactor2.scala @@ -19,7 +19,7 @@ object Test { val a = new MyActor a.start() - val b = new Reactor { + val b = new Reactor[Any] { def act() { react { case r: MyActor => diff --git a/test/files/jvm/replyablereactor3.scala b/test/files/jvm/replyablereactor3.scala index 676ffe98e6..b33db811e2 100644 --- a/test/files/jvm/replyablereactor3.scala +++ b/test/files/jvm/replyablereactor3.scala @@ -19,7 +19,7 @@ object Test { val a = new MyActor a.start() - val b = new Reactor { + val b = new Reactor[Any] { def act() { react { case r: MyActor => diff --git a/test/files/jvm/replyablereactor4.scala b/test/files/jvm/replyablereactor4.scala index d61fb64287..dc24f5e88d 100644 --- a/test/files/jvm/replyablereactor4.scala +++ b/test/files/jvm/replyablereactor4.scala @@ -19,7 +19,7 @@ object Test { val a = new MyActor a.start() - val b = new Reactor { + val b = new Reactor[Any] { def act() { react { case r: MyActor => |