Skip to content

Commit dbbb054

Browse files
authored
Update receptionist tests (#968)
The fix for #919 seems to fix these tests too. Resolves #953
1 parent f82b950 commit dbbb054

File tree

1 file changed

+42
-48
lines changed

1 file changed

+42
-48
lines changed

Tests/DistributedActorsTests/DistributedReceptionistTests.swift

Lines changed: 42 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -138,73 +138,67 @@ final class DistributedReceptionistTests: ClusterSystemXCTestCase {
138138
}
139139
}
140140

141-
// FIXME: don't use runAsyncAndBlock [#953](https://github.com/apple/swift-distributed-actors/issues/953)
142-
func test_receptionist_listing_shouldRespondWithRegisteredRefsForKey() throws {
143-
try runAsyncAndBlock {
144-
let receptionist = system.receptionist
145-
let probe: ActorTestProbe<String> = self.testKit.makeTestProbe()
141+
func test_receptionist_listing_shouldRespondWithRegisteredRefsForKey() async throws {
142+
let receptionist = system.receptionist
143+
let probe: ActorTestProbe<String> = self.testKit.makeTestProbe()
146144

147-
let forwarderA = Forwarder(probe: probe, name: "A", actorSystem: system)
148-
let forwarderB = Forwarder(probe: probe, name: "B", actorSystem: system)
145+
let forwarderA = Forwarder(probe: probe, name: "A", actorSystem: system)
146+
let forwarderB = Forwarder(probe: probe, name: "B", actorSystem: system)
149147

150-
await receptionist.checkIn(forwarderA, with: .forwarders)
151-
await receptionist.checkIn(forwarderB, with: .forwarders)
148+
await receptionist.checkIn(forwarderA, with: .forwarders)
149+
await receptionist.checkIn(forwarderB, with: .forwarders)
152150

153-
var i = 0
154-
for await forwarder in await receptionist.listing(of: .forwarders) {
155-
i += 1
156-
try await forwarder.forward(message: "test")
151+
var i = 0
152+
for await forwarder in await receptionist.listing(of: .forwarders) {
153+
i += 1
154+
try await forwarder.forward(message: "test")
157155

158-
if i == 2 {
159-
break
160-
}
156+
if i == 2 {
157+
break
161158
}
162-
163-
try probe.expectMessagesInAnyOrder([
164-
"\(forwarderA.id) A forwarded: test",
165-
"\(forwarderB.id) B forwarded: test",
166-
])
167159
}
160+
161+
try probe.expectMessagesInAnyOrder([
162+
"\(forwarderA.id) A forwarded: test",
163+
"\(forwarderB.id) B forwarded: test",
164+
])
168165
}
169166

170-
// FIXME: don't use runAsyncAndBlock [#953](https://github.com/apple/swift-distributed-actors/issues/953)
171-
func test_receptionist_listing_shouldEndAfterTaskIsCancelled() throws {
172-
try runAsyncAndBlock {
173-
let receptionist = self.system.receptionist
174-
let probeA: ActorTestProbe<String> = self.testKit.makeTestProbe()
175-
let probeB: ActorTestProbe<String> = self.testKit.makeTestProbe()
167+
func test_receptionist_listing_shouldEndAfterTaskIsCancelled() async throws {
168+
let receptionist = self.system.receptionist
169+
let probeA: ActorTestProbe<String> = self.testKit.makeTestProbe()
170+
let probeB: ActorTestProbe<String> = self.testKit.makeTestProbe()
176171

177-
let bossA = Boss(probe: probeA, name: "A", actorSystem: self.system)
178-
let bossB = Boss(probe: probeB, name: "B", actorSystem: self.system)
172+
let bossA = Boss(probe: probeA, name: "A", actorSystem: self.system)
173+
let bossB = Boss(probe: probeB, name: "B", actorSystem: self.system)
179174

180-
let workerA = Worker(name: "A", actorSystem: self.system)
181-
let workerB = Worker(name: "B", actorSystem: self.system)
182-
let workerC = Worker(name: "C", actorSystem: self.system)
175+
let workerA = Worker(name: "A", actorSystem: self.system)
176+
let workerB = Worker(name: "B", actorSystem: self.system)
177+
let workerC = Worker(name: "C", actorSystem: self.system)
183178

184-
try await bossA.findWorkers()
185-
try await bossB.findWorkers()
179+
try await bossA.findWorkers()
180+
try await bossB.findWorkers()
186181

187-
await receptionist.checkIn(workerA, with: .workers)
182+
await receptionist.checkIn(workerA, with: .workers)
188183

189-
try probeA.expectMessage("\(bossA.id) A found \(workerA.id)")
190-
try probeB.expectMessage("\(bossB.id) B found \(workerA.id)")
184+
try probeA.expectMessage("\(bossA.id) A found \(workerA.id)")
185+
try probeB.expectMessage("\(bossB.id) B found \(workerA.id)")
191186

192-
try await bossB.done()
193-
try probeB.expectMessage("B done")
187+
try await bossB.done()
188+
try probeB.expectMessage("B done")
194189

195-
await receptionist.checkIn(workerB, with: .workers)
190+
await receptionist.checkIn(workerB, with: .workers)
196191

197-
try probeA.expectMessage("\(bossA.id) A found \(workerB.id)")
198-
try probeB.expectNoMessage(for: .milliseconds(500))
192+
try probeA.expectMessage("\(bossA.id) A found \(workerB.id)")
193+
try probeB.expectNoMessage(for: .milliseconds(500))
199194

200-
try await bossA.done()
201-
try probeA.expectMessage("A done")
195+
try await bossA.done()
196+
try probeA.expectMessage("A done")
202197

203-
await receptionist.checkIn(workerC, with: .workers)
198+
await receptionist.checkIn(workerC, with: .workers)
204199

205-
try probeA.expectNoMessage(for: .milliseconds(500))
206-
try probeB.expectNoMessage(for: .milliseconds(500))
207-
}
200+
try probeA.expectNoMessage(for: .milliseconds(500))
201+
try probeB.expectNoMessage(for: .milliseconds(500))
208202
}
209203

210204
func test_receptionist_shouldRespondWithEmptyRefForUnknownKey() throws {

0 commit comments

Comments
 (0)