distributed-process-extras 0.3.6 → 0.3.7
raw patch · 6 files changed
+22/−34 lines, 6 filesdep −rematchdep ~distributed-process-systestPVP ok
version bump matches the API change (PVP)
Dependencies removed: rematch
Dependency ranges changed: distributed-process-systest
API changes (from Hackage documentation)
Files
- ChangeLog +4/−0
- distributed-process-extras.cabal +6/−10
- tests/TestLog.hs +1/−3
- tests/TestPrimitives.hs +5/−6
- tests/TestQueues.hs +6/−14
- tests/TestTimer.hs +0/−1
ChangeLog view
@@ -1,3 +1,7 @@+2024-10-30 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.3.7++* Removed dependency on `rematch` (#459)+ 2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.3.6 * Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1
distributed-process-extras.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: distributed-process-extras-version: 0.3.6+version: 0.3.7 build-type: Simple license: BSD-3-Clause license-file: LICENCE@@ -37,7 +37,7 @@ build-depends: base >= 4.14 && < 5, distributed-process >= 0.6.0 && < 0.8, binary >= 0.8 && < 0.9,- deepseq >= 1.4 && < 1.6,+ deepseq >= 1.4 && < 1.7, mtl >= 2.0 && < 2.4, containers >= 0.6 && < 0.8, exceptions >= 0.10,@@ -75,13 +75,12 @@ ansi-terminal >= 0.5 && < 0.9, distributed-process >= 0.6.0 && < 0.8, distributed-process-extras,- distributed-process-systest >= 0.1.0 && < 0.4,+ distributed-process-systest ^>= 0.4, HUnit >= 1.2 && < 2, test-framework >= 0.6 && < 0.9, test-framework-hunit, QuickCheck >= 2.4, test-framework-quickcheck2,- rematch >= 0.2.0.0, ghc-prim hs-source-dirs: tests ghc-options: -rtsopts@@ -98,7 +97,7 @@ ansi-terminal >= 0.5 && < 0.9, distributed-process >= 0.6.0 && < 0.8, distributed-process-extras,- distributed-process-systest >= 0.1.0 && < 0.4,+ distributed-process-systest ^>= 0.4, network-transport >= 0.4 && < 0.6, mtl, containers,@@ -110,7 +109,6 @@ stm, test-framework >= 0.6 && < 0.9, test-framework-hunit,- rematch >= 0.2.0.0, transformers hs-source-dirs: tests ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind@@ -127,7 +125,7 @@ deepseq, distributed-process >= 0.6.0 && < 0.8, distributed-process-extras,- distributed-process-systest >= 0.1.0 && < 0.4,+ distributed-process-systest ^>= 0.4, network-transport >= 0.4 && < 0.6, network-transport-tcp >= 0.4 && < 0.9, HUnit >= 1.2 && < 2,@@ -135,7 +133,6 @@ test-framework-hunit, QuickCheck >= 2.4, test-framework-quickcheck2,- rematch >= 0.2.0.0, ghc-prim hs-source-dirs: tests ghc-options: -rtsopts@@ -155,7 +152,7 @@ unordered-containers >= 0.2.3.0 && < 0.3, distributed-process >= 0.6.0 && < 0.8, distributed-process-extras,- distributed-process-systest >= 0.1.0 && < 0.4,+ distributed-process-systest ^>= 0.4, distributed-static, bytestring, data-accessor,@@ -172,7 +169,6 @@ test-framework >= 0.6 && < 0.9, test-framework-hunit, transformers,- rematch >= 0.2.0.0, ghc-prim hs-source-dirs: tests ghc-options: -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind
tests/TestLog.hs view
@@ -4,7 +4,6 @@ module Main where --- import Control.Exception (SomeException) import Control.Concurrent.MVar (MVar, newMVar, takeMVar, putMVar, newEmptyMVar) import Control.Concurrent.STM (atomically) import Control.Concurrent.STM.TChan@@ -12,7 +11,7 @@ import Control.Distributed.Process.Closure (remotable, mkStaticClosure) import Control.Distributed.Process.Node import Control.Distributed.Process.Extras hiding (__remoteTable)-import qualified Control.Distributed.Process.Extras.SystemLog as Log (Logger, error)+import qualified Control.Distributed.Process.Extras.SystemLog as Log (Logger) import Control.Distributed.Process.Extras.SystemLog hiding (Logger, error) import Control.Distributed.Process.SysTest.Utils import Control.Distributed.Process.Extras.Time@@ -31,7 +30,6 @@ import Text.ParserCombinators.ReadP as P import Text.ParserCombinators.ReadPrec -import qualified Network.Transport as NT logLevelFormatter :: Message -> Process (Maybe String) logLevelFormatter m = handleMessage m showLevel
tests/TestPrimitives.hs view
@@ -16,11 +16,9 @@ import Control.Distributed.Process.Extras.Monitoring import Control.Distributed.Process.Extras.Time import Control.Monad (void)-import Control.Rematch hiding (match)-import qualified Network.Transport as NT (Transport) import Network.Transport.TCP() -import Test.HUnit (Assertion)+import Test.HUnit (Assertion, assertEqual, assertBool) import Test.Framework (Test, testGroup, defaultMain) import Test.Framework.Providers.HUnit (testCase) import Network.Transport.TCP@@ -113,8 +111,9 @@ mn1 <- liftIO $ takeMVar nid2 mn2 <- liftIO $ takeMVar nid3 - [mn1, mn2] `shouldContain` n1- [mn1, mn2] `shouldContain` n2+ liftIO $ do+ assertBool mempty $ n1 `elem` [mn1, mn2]+ assertBool mempty $ n2 `elem` [mn1, mn2] nid4 <- liftIO $ newEmptyMVar node4 <- liftIO $ newLocalNode transport initRemoteTable@@ -125,7 +124,7 @@ mn3 <- liftIO $ takeMVar nid4 NodeUp n3 <- expect- mn3 `shouldBe` (equalTo n3)+ liftIO $ assertEqual mempty n3 mn3 liftIO $ closeLocalNode node4 stash result ()
tests/TestQueues.hs view
@@ -1,26 +1,20 @@ {-# LANGUAGE PatternGuards #-}+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} module Main where import qualified Control.Distributed.Process.Extras.Internal.Queue.SeqQ as FIFO import Control.Distributed.Process.Extras.Internal.Queue.SeqQ ( SeqQ ) import qualified Control.Distributed.Process.Extras.Internal.Queue.PriorityQ as PQ -import Control.Rematch hiding (on)-import Control.Rematch.Run import Data.Function (on)-import Data.List+import Data.List ( sortBy ) import Test.Framework as TF (defaultMain, testGroup, Test) import Test.Framework.Providers.HUnit import Test.Framework.Providers.QuickCheck2 (testProperty)-import Test.HUnit (Assertion, assertFailure)+import Test.HUnit (assertBool, assertEqual) import Prelude -expectThat :: a -> Matcher a -> Assertion-expectThat a matcher = case res of- MatchSuccess -> return ()- (MatchFailure msg) -> assertFailure msg- where res = runMatch matcher a -- NB: these tests/properties are not meant to be complete, but rather -- they exercise the small number of behaviours that we actually use!@@ -72,13 +66,11 @@ ], testGroup "FIFO Queue Tests" [ testCase "New Queue Should Be Empty"- (expectThat (FIFO.isEmpty $ FIFO.empty) $ equalTo True),+ (assertBool mempty (FIFO.isEmpty $ FIFO.empty)), testCase "Singleton Queue Should Contain One Element"- (expectThat (FIFO.dequeue $ FIFO.singleton "hello") $- equalTo $ Just ("hello", FIFO.empty)),+ (assertEqual mempty (FIFO.dequeue $ FIFO.singleton "hello") $ Just ("hello", FIFO.empty)), testCase "Dequeue Empty Queue Should Be Nothing"- (expectThat (FIFO.dequeue $ (FIFO.empty :: SeqQ ())) $- is (Nothing :: Maybe ((), SeqQ ()))),+ (assertEqual mempty (FIFO.dequeue $ (FIFO.empty :: SeqQ ())) $ (Nothing :: Maybe ((), SeqQ ()))), testProperty "Enqueue/Dequeue should respect FIFO order" prop_fifo_enqueue, testProperty "Enqueue/Dequeue should respect isEmpty"
tests/TestTimer.hs view
@@ -9,7 +9,6 @@ , takeMVar , withMVar )-import qualified Network.Transport as NT (Transport) import Network.Transport.TCP() import Control.DeepSeq (NFData) import Control.Distributed.Process