introduce AkkaSpec.beforeTermination hook, e.g. to silence shutdown logs

- apply it in RemoteRouterSpec, RemoteDeathWatchSpec, RemotingSpec,
  AkkaProtocolStressTest and ThrottlerTransportAdapterSpec
This commit is contained in:
Roland 2013-01-03 16:38:18 +01:00
parent 8c537fbc37
commit ff24be7650
6 changed files with 41 additions and 22 deletions

View file

@ -26,6 +26,11 @@ akka {
val other = ActorSystem("other", ConfigFactory.parseString("akka.remoting.transports.tcp.port=2666")
.withFallback(system.settings.config))
override def beforeTermination() {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(pattern = "received dead letter.*Disassociate")))
}
override def atTermination() {
other.shutdown()
}

View file

@ -219,4 +219,9 @@ akka.actor.deployment {
}
override def beforeTermination() {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(pattern = "received dead letter.*Disassociate")))
}
}

View file

@ -237,15 +237,15 @@ class RemotingSpec extends AkkaSpec(RemotingSpec.cfg) with ImplicitSender with D
expectMsg("postStop")
}
"shut down more logging" in {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
other.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate|HandleListener)")))
}
}
override def beforeTermination() {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
other.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate|HandleListener)")))
}
}

View file

@ -83,16 +83,19 @@ class AkkaProtocolStressTest extends AkkaSpec(configA) with ImplicitSender with
case (received: Int, lost: Int)
log.debug(s" ######## Received ${received - lost} messages from ${received} ########")
}
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(source = "akka://AkkaProtocolStressTest/user/$a", start = "received dead letter"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
systemB.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
}
}
override def beforeTermination() {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(source = "akka://AkkaProtocolStressTest/user/$a", start = "received dead letter"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
systemB.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
}
override def atTermination(): Unit = systemB.shutdown()
}

View file

@ -76,16 +76,19 @@ class ThrottlerTransportAdapterSpec extends AkkaSpec(configA) with ImplicitSende
expectMsgPF((TotalTime + 3).seconds) {
case time: Long log.warning("Total time of transmission: " + NANOSECONDS.toSeconds(time))
}
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(source = "akka://AkkaProtocolStressTest/user/$a", start = "received dead letter"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
systemB.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
}
}
override def beforeTermination() {
system.eventStream.publish(TestEvent.Mute(
EventFilter.warning(source = "akka://AkkaProtocolStressTest/user/$a", start = "received dead letter"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
systemB.eventStream.publish(TestEvent.Mute(
EventFilter[EndpointException](),
EventFilter.error(start = "AssociationError"),
EventFilter.warning(pattern = "received dead letter.*(InboundPayload|Disassociate)")))
}
override def atTermination(): Unit = systemB.shutdown()
}

View file

@ -70,6 +70,7 @@ abstract class AkkaSpec(_system: ActorSystem)
}
final override def afterAll {
beforeTermination()
system.shutdown()
try system.awaitTermination(5 seconds) catch {
case _: TimeoutException
@ -81,6 +82,8 @@ abstract class AkkaSpec(_system: ActorSystem)
protected def atStartup() {}
protected def beforeTermination() {}
protected def atTermination() {}
def spawn(dispatcherId: String = Dispatchers.DefaultDispatcherId)(body: Unit): Unit =