@@ -117,11 +117,11 @@ testAgentPrioritisation result = do
117testAgentMailboxHandling :: TestResult (Maybe ()) -> Process ()
117testAgentMailboxHandling :: TestResult (Maybe ()) -> Process ()
118testAgentMailboxHandling result = do
118testAgentMailboxHandling result = do
119 (sp, rp) <- newChan
119 (sp, rp) <- newChan
120− agent <- mxAgent (MxAgentId "listener-agent") () [
120+ agent <- mxAgent (MxAgentId "mailbox-agent") () [
121 mxSink $ \() -> (liftMX $ sendChan sp ()) >> mxReady
121 mxSink $ \() -> (liftMX $ sendChan sp ()) >> mxReady
124− nsend "listener-agent" ()
124+ nsend "mailbox-agent" ()
126 stash result =<< receiveChanTimeout 1000000 rp
126 stash result =<< receiveChanTimeout 1000000 rp
127 kill agent "finished"
127 kill agent "finished"
@@ -184,7 +184,7 @@ testMxRegEvents = do
184 behaviour of the node controller are contained in the CH test suite. -}
184 behaviour of the node controller are contained in the CH test suite. -}
186 let label = "testMxRegEvents"
186 let label = "testMxRegEvents"
187− let agentLabel = "listener-agent"
187+ let agentLabel = "mxRegEvents-agent"
188 let delay = 1000000
188 let delay = 1000000
189 (regChan, regSink) <- newChan
189 (regChan, regSink) <- newChan
190 (unRegChan, unRegSink) <- newChan
190 (unRegChan, unRegSink) <- newChan
@@ -231,8 +231,8 @@ testMxRegMon remoteNode = do
232 let label1 = "aaaaa"
232 let label1 = "aaaaa"
233 let label2 = "bbbbb"
233 let label2 = "bbbbb"
234− let isValid l = l ==label1 || l == label2
234+ let isValid l = l == label1 || l == label2
235− let agentLabel = "listener-agent"
235+ let agentLabel = "mxRegMon-agent"
236 let delay = 1000000
236 let delay = 1000000
237 (regChan, regSink) <- newChan
237 (regChan, regSink) <- newChan
238 (unRegChan, unRegSink) <- newChan
238 (unRegChan, unRegSink) <- newChan
@@ -273,8 +273,12 @@ testMxRegMon remoteNode = do
273 unreg1 <- receiveChanTimeout delay unRegSink
273 unreg1 <- receiveChanTimeout delay unRegSink
274 unreg2 <- receiveChanTimeout delay unRegSink
274 unreg2 <- receiveChanTimeout delay unRegSink
276− sort [unreg1, unreg2]
276+ let evts = [unreg1, unreg2]
277− `shouldBe` equalTo [Just (label1, p1), Just (label2, p1)]
277+ -- we can't rely on the order of the values in the node controller's
278+ -- map (it's either racy to do so, or no such guarantee exists for Data.Map),
279+ -- so we simply verify that we received the un-registration events we expect
280+ evts `shouldContain` (Just (label1, p1))
281+ evts `shouldContain` (Just (label2, p1))
279 kill agent "test-complete"
283 kill agent "test-complete"