diff --git a/akka-persistence/src/test/scala/akka/persistence/PersistenceSpec.scala b/akka-persistence/src/test/scala/akka/persistence/PersistenceSpec.scala index 387b0fd1f0..a1f180a43c 100644 --- a/akka-persistence/src/test/scala/akka/persistence/PersistenceSpec.scala +++ b/akka-persistence/src/test/scala/akka/persistence/PersistenceSpec.scala @@ -68,12 +68,7 @@ trait Cleanup { this: AkkaSpec ⇒ } override protected def afterTermination() { - storageLocations.foreach { dir ⇒ - if (dir.exists && !FileUtils.deleteQuietly(dir)) { - println(s"Failed to delete [$dir], will try again on exit") - FileUtils.forceDeleteOnExit(dir) - } - } + storageLocations.foreach(FileUtils.deleteDirectory) } } diff --git a/akka-persistence/src/test/scala/akka/persistence/ProcessorSpec.scala b/akka-persistence/src/test/scala/akka/persistence/ProcessorSpec.scala index 0219a88ffd..3d7bf1eaf4 100644 --- a/akka-persistence/src/test/scala/akka/persistence/ProcessorSpec.scala +++ b/akka-persistence/src/test/scala/akka/persistence/ProcessorSpec.scala @@ -4,6 +4,7 @@ package akka.persistence +import scala.concurrent.duration._ import scala.collection.immutable.Seq import com.typesafe.config._ @@ -146,7 +147,7 @@ abstract class ProcessorSpec(config: Config) extends AkkaSpec(config) with Persi processor ! Persistent("a") processor ! Persistent("b") processor ! GetState - expectMsg(List("a-1", "b-2")) + expectMsg(5.seconds, List("a-1", "b-2")) } "A processor" must { diff --git a/akka-persistence/src/test/scala/akka/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala b/akka-persistence/src/test/scala/akka/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala index b971169d34..7121d7d79d 100644 --- a/akka-persistence/src/test/scala/akka/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala +++ b/akka-persistence/src/test/scala/akka/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala @@ -4,6 +4,7 @@ package akka.persistence.journal.leveldb +import scala.concurrent.duration._ import com.typesafe.config.ConfigFactory import akka.actor._ @@ -43,7 +44,7 @@ object SharedLeveldbJournalSpec { } } - class ExampleApp(probe: ActorRef, port: Int) extends Actor { + class ExampleApp(probe: ActorRef, storePath: ActorPath) extends Actor { val processor = context.actorOf(Props(classOf[ExampleProcessor], probe, context.system.name)) def receive = { @@ -52,23 +53,19 @@ object SharedLeveldbJournalSpec { } override def preStart(): Unit = { - context.actorSelection(s"akka.tcp://store@127.0.0.1:${port}/user/store") ! Identify(1) + context.actorSelection(storePath) ! Identify(1) } } - def port(system: ActorSystem) = - system.asInstanceOf[ExtendedActorSystem].provider.getDefaultAddress.port.get } class SharedLeveldbJournalSpec extends AkkaSpec(SharedLeveldbJournalSpec.config) with Cleanup { import SharedLeveldbJournalSpec._ - val storeSystem = ActorSystem("store", ConfigFactory.parseString(SharedLeveldbJournalSpec.config)) - val processorASystem = ActorSystem("processorA", ConfigFactory.parseString(SharedLeveldbJournalSpec.config)) - val processorBSystem = ActorSystem("processorB", ConfigFactory.parseString(SharedLeveldbJournalSpec.config)) + val processorASystem = ActorSystem("processorA", system.settings.config) + val processorBSystem = ActorSystem("processorB", system.settings.config) override protected def afterTermination() { - shutdown(storeSystem) shutdown(processorASystem) shutdown(processorBSystem) super.afterTermination() @@ -80,19 +77,20 @@ class SharedLeveldbJournalSpec extends AkkaSpec(SharedLeveldbJournalSpec.config) val processorAProbe = new TestProbe(processorASystem) val processorBProbe = new TestProbe(processorBSystem) - storeSystem.actorOf(Props[SharedLeveldbStore], "store") + system.actorOf(Props[SharedLeveldbStore], "store") + val storePath = RootActorPath(system.asInstanceOf[ExtendedActorSystem].provider.getDefaultAddress) / "user" / "store" - val appA = processorASystem.actorOf(Props(classOf[ExampleApp], processorAProbe.ref, port(storeSystem))) - val appB = processorBSystem.actorOf(Props(classOf[ExampleApp], processorBProbe.ref, port(storeSystem))) + val appA = processorASystem.actorOf(Props(classOf[ExampleApp], processorAProbe.ref, storePath)) + val appB = processorBSystem.actorOf(Props(classOf[ExampleApp], processorBProbe.ref, storePath)) appA ! Persistent("a1") appB ! Persistent("b1") - processorAProbe.expectMsg("a1") + processorAProbe.expectMsg(5.seconds, "a1") processorBProbe.expectMsg("b1") - val recoveredAppA = processorASystem.actorOf(Props(classOf[ExampleApp], processorAProbe.ref, port(storeSystem))) - val recoveredAppB = processorBSystem.actorOf(Props(classOf[ExampleApp], processorBProbe.ref, port(storeSystem))) + val recoveredAppA = processorASystem.actorOf(Props(classOf[ExampleApp], processorAProbe.ref, storePath)) + val recoveredAppB = processorBSystem.actorOf(Props(classOf[ExampleApp], processorBProbe.ref, storePath)) recoveredAppA ! Persistent("a2") recoveredAppB ! Persistent("b2") diff --git a/project/AkkaBuild.scala b/project/AkkaBuild.scala index 8366a4ae4b..5572e8226c 100644 --- a/project/AkkaBuild.scala +++ b/project/AkkaBuild.scala @@ -284,6 +284,7 @@ object AkkaBuild extends Build { dependencies = Seq(actor, remote % "test->test", testkit % "test->test"), settings = defaultSettings ++ formatSettings ++ scaladocSettings ++ experimentalSettings ++ javadocSettings ++ OSGi.persistence ++ Seq( fork in Test := true, + javaOptions in Test := defaultMultiJvmOptions, libraryDependencies ++= Dependencies.persistence, previousArtifact := akkaPreviousArtifact("akka-persistence") )