Silence some more noisy tests
This commit is contained in:
parent
dabf14ef4b
commit
d1b8b475fa
6 changed files with 64 additions and 20 deletions
|
|
@ -7,6 +7,7 @@ package akka.actor
|
|||
import org.scalatest.WordSpec
|
||||
import org.scalatest.matchers.MustMatchers
|
||||
import org.scalatest.BeforeAndAfterEach
|
||||
import org.scalatest.BeforeAndAfterAll
|
||||
|
||||
import akka.testkit._
|
||||
import akka.testkit.Testing.sleepFor
|
||||
|
|
@ -14,6 +15,8 @@ import akka.util.duration._
|
|||
import akka.config.Supervision._
|
||||
import akka.{ Die, Ping }
|
||||
import Actor._
|
||||
import akka.event.EventHandler
|
||||
import akka.testkit.TestEvent._
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger
|
||||
import java.util.concurrent.LinkedBlockingQueue
|
||||
|
|
@ -192,9 +195,18 @@ object SupervisorSpec {
|
|||
}
|
||||
}
|
||||
|
||||
class SupervisorSpec extends WordSpec with MustMatchers with BeforeAndAfterEach {
|
||||
class SupervisorSpec extends WordSpec with MustMatchers with BeforeAndAfterEach with BeforeAndAfterAll {
|
||||
import SupervisorSpec._
|
||||
|
||||
override def beforeAll() = {
|
||||
EventHandler notify Mute(EventFilter[Exception]("Die"),
|
||||
EventFilter[IllegalStateException]("Don't wanna!"))
|
||||
}
|
||||
|
||||
override def afterAll() = {
|
||||
EventHandler notify UnMuteAll
|
||||
}
|
||||
|
||||
override def beforeEach() = {
|
||||
messageLog.clear
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,10 @@ import org.scalatest.matchers.MustMatchers
|
|||
class Ticket669Spec extends WordSpec with MustMatchers with BeforeAndAfterAll {
|
||||
import Ticket669Spec._
|
||||
|
||||
override def afterAll = Actor.registry.local.shutdownAll
|
||||
override def afterAll = {
|
||||
Actor.registry.local.shutdownAll
|
||||
akka.event.EventHandler.start
|
||||
}
|
||||
|
||||
"A supervised actor with lifecycle PERMANENT" should {
|
||||
"be able to reply on failure during preRestart" in {
|
||||
|
|
|
|||
|
|
@ -107,7 +107,13 @@ class FutureSpec extends WordSpec with MustMatchers with Checkers with BeforeAnd
|
|||
check({ (future: Future[Int], actions: List[FutureAction]) ⇒
|
||||
val result = (future /: actions)(_ /: _)
|
||||
val expected = (future.await.value.get /: actions)(_ /: _)
|
||||
(result.await.value.get.toString == expected.toString) :| (result.value.get.toString + " is expected to be " + expected.toString)
|
||||
((result.await.value.get, expected) match {
|
||||
case (Right(a), Right(b)) ⇒ a == b
|
||||
case (Left(a), Left(b)) if a.toString == b.toString ⇒ true
|
||||
case (Left(a), Left(b)) if a.getStackTrace.isEmpty || b.getStackTrace.isEmpty ⇒
|
||||
a.getClass.toString == b.getClass.toString
|
||||
case _ ⇒ false
|
||||
}) :| result.value.get.toString + " is expected to be " + expected.toString
|
||||
}, minSuccessful(10000), workers(4))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package akka.actor
|
||||
|
||||
import org.scalatest.junit.JUnitSuite
|
||||
import org.scalatest.BeforeAndAfterAll
|
||||
import org.junit.Test
|
||||
import Actor._
|
||||
import org.scalatest.Assertions._
|
||||
|
|
@ -25,9 +26,13 @@ object ActorRegistrySpec {
|
|||
}
|
||||
}
|
||||
|
||||
class ActorRegistrySpec extends JUnitSuite {
|
||||
class ActorRegistrySpec extends JUnitSuite with BeforeAndAfterAll {
|
||||
import ActorRegistrySpec._
|
||||
|
||||
override def afterAll = {
|
||||
akka.event.EventHandler.start
|
||||
}
|
||||
|
||||
@Test
|
||||
def shouldGetActorByAddressFromActorRegistry {
|
||||
Actor.registry.local.shutdownAll
|
||||
|
|
|
|||
|
|
@ -1,22 +1,32 @@
|
|||
package akka.actor
|
||||
|
||||
import org.scalatest.junit.JUnitSuite
|
||||
import org.scalatest.BeforeAndAfterEach
|
||||
import akka.event.EventHandler
|
||||
import akka.testkit.TestEvent._
|
||||
import akka.testkit.EventFilter
|
||||
import Actor._
|
||||
import java.util.concurrent.{ CountDownLatch, TimeUnit }
|
||||
import akka.config.Supervision._
|
||||
import org.multiverse.api.latches.StandardLatch
|
||||
import org.junit.Test
|
||||
import org.junit.{ Test, Before, After }
|
||||
|
||||
class SchedulerSpec extends JUnitSuite {
|
||||
|
||||
def withCleanEndState(action: ⇒ Unit) {
|
||||
action
|
||||
@Before
|
||||
def beforeEach {
|
||||
EventHandler.notify(Mute(EventFilter[Exception]("CRASH")))
|
||||
}
|
||||
|
||||
@After
|
||||
def afterEach {
|
||||
Scheduler.restart
|
||||
Actor.registry.local.shutdownAll
|
||||
EventHandler.start()
|
||||
}
|
||||
|
||||
@Test
|
||||
def schedulerShouldScheduleMoreThanOnce = withCleanEndState {
|
||||
def schedulerShouldScheduleMoreThanOnce = {
|
||||
|
||||
case object Tick
|
||||
val countDownLatch = new CountDownLatch(3)
|
||||
|
|
@ -38,7 +48,7 @@ class SchedulerSpec extends JUnitSuite {
|
|||
}
|
||||
|
||||
@Test
|
||||
def schedulerShouldScheduleOnce = withCleanEndState {
|
||||
def schedulerShouldScheduleOnce = {
|
||||
case object Tick
|
||||
val countDownLatch = new CountDownLatch(3)
|
||||
val tickActor = actorOf(new Actor {
|
||||
|
|
@ -58,7 +68,7 @@ class SchedulerSpec extends JUnitSuite {
|
|||
* ticket #372
|
||||
*/
|
||||
@Test
|
||||
def schedulerShouldntCreateActors = withCleanEndState {
|
||||
def schedulerShouldntCreateActors = {
|
||||
object Ping
|
||||
val ticks = new CountDownLatch(1000)
|
||||
val actor = actorOf(new Actor {
|
||||
|
|
@ -74,7 +84,7 @@ class SchedulerSpec extends JUnitSuite {
|
|||
* ticket #372
|
||||
*/
|
||||
@Test
|
||||
def schedulerShouldBeCancellable = withCleanEndState {
|
||||
def schedulerShouldBeCancellable = {
|
||||
object Ping
|
||||
val ticks = new CountDownLatch(1)
|
||||
|
||||
|
|
@ -93,7 +103,7 @@ class SchedulerSpec extends JUnitSuite {
|
|||
* ticket #307
|
||||
*/
|
||||
@Test
|
||||
def actorRestartShouldPickUpScheduleAgain = withCleanEndState {
|
||||
def actorRestartShouldPickUpScheduleAgain = {
|
||||
|
||||
object Ping
|
||||
object Crash
|
||||
|
|
|
|||
|
|
@ -7,8 +7,14 @@ import akka.actor.Actor
|
|||
sealed trait TestEvent
|
||||
|
||||
object TestEvent {
|
||||
case class Mute(filter: EventFilter) extends TestEvent
|
||||
case class UnMute(filter: EventFilter) extends TestEvent
|
||||
object Mute {
|
||||
def apply(filter: EventFilter, filters: EventFilter*): Mute = new Mute(filter +: filters.toSeq)
|
||||
}
|
||||
case class Mute(filters: Seq[EventFilter]) extends TestEvent
|
||||
object UnMute {
|
||||
def apply(filter: EventFilter, filters: EventFilter*): UnMute = new UnMute(filter +: filters.toSeq)
|
||||
}
|
||||
case class UnMute(filters: Seq[EventFilter]) extends TestEvent
|
||||
case object UnMuteAll extends TestEvent
|
||||
}
|
||||
|
||||
|
|
@ -44,9 +50,10 @@ case class ErrorFilter(throwable: Class[_]) extends EventFilter {
|
|||
case class ErrorMessageFilter(throwable: Class[_], message: String) extends EventFilter {
|
||||
def apply(event: Event) = event match {
|
||||
case Error(cause, _, _) if !(throwable isInstance cause) ⇒ false
|
||||
case Error(cause, _, null) if cause.getMessage eq null ⇒ cause.getStackTrace.length == 0
|
||||
case Error(cause, _, null) ⇒ cause.getMessage startsWith message
|
||||
case Error(_, _, msg) ⇒ msg.toString startsWith message
|
||||
case Error(cause, _, null) if cause.getMessage eq null ⇒ cause.getStackTrace.length == 0
|
||||
case Error(cause, _, null) ⇒ cause.getMessage startsWith message
|
||||
case Error(cause, _, msg) ⇒
|
||||
(msg.toString startsWith message) || (cause.getMessage startsWith message)
|
||||
case _ ⇒ false
|
||||
}
|
||||
}
|
||||
|
|
@ -63,7 +70,8 @@ case class ErrorSourceMessageFilter(throwable: Class[_], source: AnyRef, message
|
|||
case Error(cause, instance, _) if !((throwable isInstance cause) && (source eq instance)) ⇒ false
|
||||
case Error(cause, _, null) if cause.getMessage eq null ⇒ cause.getStackTrace.length == 0
|
||||
case Error(cause, _, null) ⇒ cause.getMessage startsWith message
|
||||
case Error(_, _, msg) ⇒ msg.toString startsWith message
|
||||
case Error(cause, _, msg) ⇒
|
||||
(msg.toString startsWith message) || (cause.getMessage startsWith message)
|
||||
case _ ⇒ false
|
||||
}
|
||||
}
|
||||
|
|
@ -78,8 +86,8 @@ class TestEventListener extends EventHandler.DefaultListener {
|
|||
var filters: List[EventFilter] = Nil
|
||||
|
||||
override def receive: Receive = ({
|
||||
case Mute(filter) ⇒ addFilter(filter)
|
||||
case UnMute(filter) ⇒ removeFilter(filter)
|
||||
case Mute(filters) ⇒ filters foreach addFilter
|
||||
case UnMute(filters) ⇒ filters foreach removeFilter
|
||||
case UnMuteAll ⇒ filters = Nil
|
||||
case event: Event if filter(event) ⇒
|
||||
}: Receive) orElse super.receive
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue