git.iko.soy/distributed-process
on master help sign in
Collect events in the right order (doh)
98b996eEdsko de Vries
network-transport-tcp/tests/TestQC.hs+15−2
@@ -241,7 +241,7 @@ verify (transport, transportInternals) script = do
241 mEv <- tryPopR allEvents
241 mEv <- tryPopR allEvents
242 case mEv of
242 case mEv of
243 Just ev -> go (ev : acc)
243 Just ev -> go (ev : acc)
244− Nothing -> return acc
244+ Nothing -> return (reverse acc)
245
245
246 st <- execStateT (runScript script) initialRunState
246 st <- execStateT (runScript script) initialRunState
247 actualEvents <- collectEvents st
247 actualEvents <- collectEvents st
@@ -532,6 +532,18 @@ script_Bug1 = [
532 , Connect 1 0
532 , Connect 1 0
533 ]
533 ]
534
534
535+-- | Test ordering of sends
536+script_MultipleSends :: Script
537+script_MultipleSends = [
538+ NewEndPoint
539+ , Connect 0 0
540+ , Send 0 ["A"]
541+ , Send 0 ["B"]
542+ , Send 0 ["C"]
543+ , Send 0 ["D"]
544+ , Send 0 ["E"]
545+ ]
546+
535-- | Simulate broken network connection during send
547-- | Simulate broken network connection during send
536script_BreakSend :: Script
548script_BreakSend :: Script
537script_BreakSend = [
549script_BreakSend = [
@@ -592,7 +604,8 @@ tests transport = [
592 testOne "Bug1" transport script_Bug1
604 testOne "Bug1" transport script_Bug1
593 ]
605 ]
594 , testGroup "Specific scripts" [
606 , testGroup "Specific scripts" [
607+ testOne "BreakMultipleSends" transport script_MultipleSends
595− testOne "BreakSend" transport script_BreakSend
608+ , testOne "BreakSend" transport script_BreakSend
596 , testOne "BreakConnect1" transport script_BreakConnect1
609 , testOne "BreakConnect1" transport script_BreakConnect1
597 , testOne "BreakConnect2" transport script_BreakConnect2
610 , testOne "BreakConnect2" transport script_BreakConnect2
598 , testOne "BreakSendReconnect" transport script_BreakSendReconnect
611 , testOne "BreakSendReconnect" transport script_BreakSendReconnect