From aec8326308bb8cc3b0e43d7e432d087c2f460e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Antonsson?= Date: Mon, 6 May 2013 15:59:03 +0200 Subject: [PATCH] Actor fields are cleared after Terminated is sent. See #3311 --- .../scala/akka/actor/LocalActorRefProviderSpec.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/akka-actor-tests/src/test/scala/akka/actor/LocalActorRefProviderSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/LocalActorRefProviderSpec.scala index 1712460aa5..ca329fee90 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/LocalActorRefProviderSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/LocalActorRefProviderSpec.scala @@ -70,9 +70,13 @@ class LocalActorRefProviderSpec extends AkkaSpec(LocalActorRefProviderSpec.confi childProps1 must be(Props.empty) system stop a expectTerminated(a) - val childProps2 = child.asInstanceOf[LocalActorRef].underlying.props - childProps2 must not be theSameInstanceAs(childProps1) - childProps2 must be theSameInstanceAs ActorCell.terminatedProps + // the fields are cleared after the Terminated message has been sent, + // so we need to check for a reasonable time after we receive it + awaitAssert({ + val childProps2 = child.asInstanceOf[LocalActorRef].underlying.props + childProps2 must not be theSameInstanceAs(childProps1) + childProps2 must be theSameInstanceAs ActorCell.terminatedProps + }, 1 second) } }