git.iko.soy/distributed-process
on master help sign in
Give us a chance to better understand CI failures
c04f637Tim Watson
distributed-process-tests/src/Control/Distributed/Process/Tests/CH.hs+7−3
@@ -1560,7 +1560,9 @@ testRegistryMonitoring TestTransport{..} = do
1560
1560
1561 let nid = localNodeId node2
1561 let nid = localNodeId node2
1562 pid <- forkProcess node1 $ do
1562 pid <- forkProcess node1 $ do
1563+ self <- getSelfPid
1563− getSelfPid >>= runUntilRegistered nid
1564+ runUntilRegistered nid self
1565+ say $ regName ++ " registered to " ++ show self
1564 liftIO $ takeMVar waitH
1566 liftIO $ takeMVar waitH
1565
1567
1566 runProcess node2 $ do
1568 runProcess node2 $ do
@@ -1594,7 +1596,9 @@ testRegistryMonitoring TestTransport{..} = do
1594 regHere <- newEmptyMVar
1596 regHere <- newEmptyMVar
1595 runProcess node2 $ whereis regName >>= liftIO . putMVar regHere
1597 runProcess node2 $ whereis regName >>= liftIO . putMVar regHere
1596 res <- takeMVar regHere
1598 res <- takeMVar regHere
1599+ case res of
1600+ Nothing -> return ()
1597− assertBool "expected Nothing, but process still registered" (res == Nothing)
1601+ Just pid -> assertBool ("expected Nothing, but got " ++ show pid) False
1598
1602
1599 where
1603 where
1600 runUntilRegistered nid us = do
1604 runUntilRegistered nid us = do
@@ -1607,7 +1611,7 @@ testRegistryMonitoring TestTransport{..} = do
1607 delayUntilMaybeUnregistered nid p = do
1611 delayUntilMaybeUnregistered nid p = do
1608 whereisRemoteAsync nid regName
1612 whereisRemoteAsync nid regName
1609 receiveTimeout 20000000 {- 20 sec delay -} [
1613 receiveTimeout 20000000 {- 20 sec delay -} [
1610− matchIf (\(WhereIsReply n p) -> n == regName && p == Nothing)
1614+ matchIf (\(WhereIsReply n p) -> n == regName && isNothing p)
1611 (const $ return ())
1615 (const $ return ())
1612 ]
1616 ]
1613 return ()
1617 return ()