polysemy-process 0.6.1.0 → 0.7.0.0
raw patch · 2 files changed
+10/−6 lines, 2 filesdep +polysemy-timedep ~incipit-core
Dependencies added: polysemy-time
Dependency ranges changed: incipit-core
Files
polysemy-process.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: polysemy-process-version: 0.6.1.0+version: 0.7.0.0 synopsis: Polysemy Effects for System Processes description: See <https://hackage.haskell.org/package/polysemy-process/docs/Polysemy-Process.html> category: Concurrency@@ -108,7 +108,7 @@ ghc-options: -Wall -Wredundant-constraints -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Widentities build-depends: base ==4.*- , incipit-core >=0.1.0.1+ , incipit-core >=0.2 , path >=0.7 , path-io >=1.6.2 , polysemy >=1.6@@ -200,6 +200,7 @@ , polysemy-process , polysemy-resume , polysemy-test+ , polysemy-time , tasty , typed-process mixins:
test/Polysemy/Process/Test/ProcessTest.hs view
@@ -2,9 +2,12 @@ module Polysemy.Process.Test.ProcessTest where +import Polysemy.Conc.Effect.Scoped (Scoped) import Polysemy.Conc.Interpreter.Race (interpretRace)+import qualified Polysemy.Conc.Race as Race import Polysemy.Resume (resumeHoistError) import Polysemy.Test (UnitTest, runTestAuto, (===))+import Polysemy.Time (Seconds (Seconds)) import qualified System.Process.Typed as Process import System.Process.Typed (ProcessConfig) @@ -28,17 +31,17 @@ test_process :: UnitTest test_process = runTestAuto $ interpretRace $ asyncToIOFinal $ interpretProcessByteStringNative True 10 config do- response <- resumeHoistError @ProcessError show do+ response <- resumeHoistError @ProcessError @(Scoped _ _) show do withProcess do Process.send message- Process.recv+ Race.timeout_ (throw "timed out") (Seconds 5) Process.recv message === response test_processLines :: UnitTest test_processLines = runTestAuto $ interpretRace $ asyncToIOFinal $ interpretProcessTextLinesNative True 10 config do- response <- resumeHoistError @ProcessError show do+ response <- resumeHoistError @ProcessError @(Scoped _ _) show do withProcess do Process.send message- replicateM 4 Process.recv+ Race.timeout_ (throw "timed out") (Seconds 5) (replicateM 4 Process.recv) messageLines === response