port remaining remote multi-node tests to Artery

This commit is contained in:
Patrik Nordwall 2016-06-02 20:44:27 +02:00
parent 415a1cc7f9
commit bdfbffcde5
10 changed files with 239 additions and 155 deletions

View file

@ -23,20 +23,35 @@ import akka.actor.ExtendedActorSystem
import akka.actor.ActorSystem
import akka.actor.RootActorPath
object RemoteNodeRestartDeathWatchMultiJvmSpec extends MultiNodeConfig {
class RemoteNodeRestartDeathWatchConfig(artery: Boolean) extends MultiNodeConfig {
val first = role("first")
val second = role("second")
commonConfig(debugConfig(on = false).withFallback(
ConfigFactory.parseString("""
ConfigFactory.parseString(s"""
akka.loglevel = INFO
akka.remote.log-remote-lifecycle-events = off
akka.remote.transport-failure-detector.heartbeat-interval = 1 s
akka.remote.transport-failure-detector.acceptable-heartbeat-pause = 3 s
akka.remote.artery.enabled = $artery
""")))
testTransport(on = true)
}
class RemoteNodeRestartDeathWatchMultiJvmNode1 extends RemoteNodeRestartDeathWatchSpec(
new RemoteNodeRestartDeathWatchConfig(artery = false))
class RemoteNodeRestartDeathWatchMultiJvmNode2 extends RemoteNodeRestartDeathWatchSpec(
new RemoteNodeRestartDeathWatchConfig(artery = false))
// FIXME this is failing with Artery
//class ArteryRemoteNodeRestartDeathWatchMultiJvmNode1 extends RemoteNodeRestartDeathWatchSpec(
// new RemoteNodeRestartDeathWatchConfig(artery = true))
//class ArteryRemoteNodeRestartDeathWatchMultiJvmNode2 extends RemoteNodeRestartDeathWatchSpec(
// new RemoteNodeRestartDeathWatchConfig(artery = true))
object RemoteNodeRestartDeathWatchSpec {
class Subject extends Actor {
def receive = {
case "shutdown"
@ -45,19 +60,13 @@ object RemoteNodeRestartDeathWatchMultiJvmSpec extends MultiNodeConfig {
case msg sender() ! msg
}
}
}
// Several different variations of the test
class RemoteNodeRestartDeathWatchMultiJvmNode1 extends RemoteNodeRestartDeathWatchSpec
class RemoteNodeRestartDeathWatchMultiJvmNode2 extends RemoteNodeRestartDeathWatchSpec
abstract class RemoteNodeRestartDeathWatchSpec
extends MultiNodeSpec(RemoteNodeRestartDeathWatchMultiJvmSpec)
abstract class RemoteNodeRestartDeathWatchSpec(multiNodeConfig: RemoteNodeRestartDeathWatchConfig)
extends MultiNodeSpec(multiNodeConfig)
with STMultiNodeSpec with ImplicitSender {
import RemoteNodeRestartDeathWatchMultiJvmSpec._
import multiNodeConfig._
import RemoteNodeRestartDeathWatchSpec._
override def initialParticipants = roles.size
@ -104,11 +113,9 @@ abstract class RemoteNodeRestartDeathWatchSpec
Await.ready(system.whenTerminated, 30.seconds)
val freshSystem = ActorSystem(system.name, ConfigFactory.parseString(s"""
akka.remote.netty.tcp {
hostname = ${addr.host.get}
port = ${addr.port.get}
}
""").withFallback(system.settings.config))
akka.remote.netty.tcp.port = ${addr.port.get}
akka.remote.artery.port = ${addr.port.get}
""").withFallback(system.settings.config))
freshSystem.actorOf(Props[Subject], "subject")
Await.ready(freshSystem.whenTerminated, 30.seconds)