packages feed

process-conduit 0.5.0.2 → 0.5.0.3

raw patch · 3 files changed

+38/−45 lines, 3 filesdep −HUnitdep −resourcetdep ~hspec

Dependencies removed: HUnit, resourcet

Dependency ranges changed: hspec

Files

Data/Conduit/Process.hs view
@@ -21,7 +21,6 @@ import Control.Monad
 import Control.Monad.Trans
 import Control.Monad.Trans.Loop
-import Control.Monad.Trans.Resource
 import qualified Data.ByteString as S
 import Data.Conduit
 import qualified Data.Conduit.List as CL
@@ -38,9 +37,7 @@   :: MonadResource m
      => CreateProcess
      -> GConduit S.ByteString m S.ByteString
-conduitProcess cp = do
-  (_, (Just cin, Just cout, _, ph)) <- lift $ allocate createp closep
-
+conduitProcess cp = bracketP createp closep $ \(Just cin, Just cout, _, ph) -> do
   end <- repeatLoopT $ do
     -- if process's outputs are available, then yields them.
     repeatLoopT $ do
process-conduit.cabal view
@@ -1,5 +1,5 @@ name:                process-conduit-version:             0.5.0.2+version:             0.5.0.3 synopsis:            Conduits for processes  description:@@ -34,7 +34,6 @@                      , text             >= 0.11                      , process          >= 1.0                      , conduit          == 0.5.*-                     , resourcet                      , shakespeare-text >= 1.0    ghc-options:         -Wall@@ -45,7 +44,6 @@   main-is:             ../test.hs   build-depends:       base            == 4.*                      , bytestring-                     , hspec           >= 1.2-                     , HUnit           >= 1.2+                     , hspec           >= 1.3                      , conduit                      , process-conduit
test.hs view
@@ -1,37 +1,35 @@-{-# LANGUAGE OverloadedStrings, QuasiQuotes #-}
-
-import Data.Conduit.Process
-import System.Process.QQ
-
-import qualified Data.ByteString.Lazy.Char8 as L
-import Data.Conduit
-import qualified Data.Conduit.Binary as CB
-import Test.Hspec.Monadic
-import Test.Hspec.HUnit
-import Test.HUnit
-
-main :: IO ()
-main = hspec $ do
-  describe "process conduit" $ do
-    it "get process's output" $ do
-      r <- runResourceT $ sourceCmd "echo abc def" $$ CB.take (10^9)
-      L.words r @?= ["abc", "def"]
-
-    it "act as conduit" $ do
-      r <- runResourceT $
-        sourceProcess (proc "echo" ["zxc\nasd\nqwe"])
-        $$ conduitCmd "sort"
-        =$ CB.take (10^9)
-      L.words r @?= ["asd", "qwe", "zxc"]
-
-  describe "quasiquoter" $ do
-    it "get process's output" $ do
-      r <- [cmd|echo abc def|]
-      L.words r @?= ["abc", "def"]
-
-    it "act as conduit" $ do
-      r <- runResourceT $
-        sourceProcess (proc "echo" ["zxc\nasd\nqwe"])
-        $$ [ccmd|sort|]
-        =$ CB.take (10^9)
-      L.words r @?= ["asd", "qwe", "zxc"]
+{-# LANGUAGE OverloadedStrings, QuasiQuotes #-}++import Data.Conduit.Process+import System.Process.QQ++import qualified Data.ByteString.Lazy.Char8 as L+import Data.Conduit+import qualified Data.Conduit.Binary as CB+import Test.Hspec++main :: IO ()+main = hspec $ do+  describe "process conduit" $ do+    it "get process's output" $ do+      r <- runResourceT $ sourceCmd "echo abc def" $$ CB.take (10^9)+      L.words r `shouldBe` ["abc", "def"]++    it "act as conduit" $ do+      r <- runResourceT $+        sourceProcess (proc "echo" ["zxc\nasd\nqwe"])+        $$ conduitCmd "sort"+        =$ CB.take (10^9)+      L.words r `shouldBe` ["asd", "qwe", "zxc"]++  describe "quasiquoter" $ do+    it "get process's output" $ do+      r <- [cmd|echo abc def|]+      L.words r `shouldBe` ["abc", "def"]++    it "act as conduit" $ do+      r <- runResourceT $+        sourceProcess (proc "echo" ["zxc\nasd\nqwe"])+        $$ [ccmd|sort|]+        =$ CB.take (10^9)+      L.words r `shouldBe` ["asd", "qwe", "zxc"]