shelly-extra 0.2.1 → 0.2.2
raw patch · 3 files changed
+36/−22 lines, 3 filesdep +HUnit
Dependencies added: HUnit
Files
- Shelly/Background.hs +2/−2
- shelly-extra.cabal +2/−2
- test/main.hs +32/−18
Shelly/Background.hs view
@@ -6,7 +6,7 @@ import Shelly import Control.Concurrent-import Control.Exception (finally, catch, throw, SomeException)+import Control.Exception (finally, catch, throwIO, SomeException) import Prelude hiding (catch) import qualified Control.Concurrent.MSem as Sem @@ -56,7 +56,7 @@ result <- finally ( (shelly $ (put state >> proc)) `catch`- (\(e::SomeException) -> throwTo mainTid e >> throw e)+ (\(e::SomeException) -> throwTo mainTid e >> throwIO e) ) (Sem.signal manager >> return ()) -- open a spot back up putMVar mvar result
shelly-extra.cabal view
@@ -1,6 +1,6 @@ Name: shelly-extra -Version: 0.2.1+Version: 0.2.2 Synopsis: shelly features that require extra dependencies Description: Please see the shelly package. Shelly provides a single module for convenient@@ -37,7 +37,7 @@ hs-source-dirs: ., test ghc-options: -Wall - Build-depends: base, text, shelly, SafeSemaphore+ Build-depends: base, text, shelly, SafeSemaphore, HUnit source-repository head type: git
test/main.hs view
@@ -5,29 +5,28 @@ import Shelly import Shelly.Background-import Data.Text.Lazy (Text)+import Data.Text.Lazy (Text, stripEnd)+import Test.HUnit default (Text) --- smoke tests-main :: IO ()-main =- shelly $- -- verbosely $- do- jobs 2 $ \job -> do- _<- background job $ cmd "sleep" "2"- echo "immediate"- _<- background job $ cmd "sleep" "2"- echo "immediate2"- _<- background job $ cmd "sleep" "2"- echo "blocked by background "- - echo "blocked by jobs"+shIOUnit :: ShIO ()+shIOUnit = do+ cmd "pwd"+ chdir ".." $+ cmd "pwd" +main :: IO ()+main = do+ -- stdin+ shelly $ do setStdin "in"- setStdin "override stdin"- run_ "cat" ["-"]+ let overStdin = "override stdin"+ setStdin overStdin+ over <- run "cat" ["-"]+ liftIO $ stripEnd over @?= overStdin + -- various uses of cmd+ shelly $ do recho <- cmd "echo" "cmd" _<-cmd "echo" "bar" "baz" echo recho@@ -38,4 +37,19 @@ inspect =<< (cmd "echo" "compose" :: ShIO Text) inspect =<< (cmd "pwd")++ -- this somehow forces more evaluation+ shIOUnit++ -- waiting on background jobs+ shelly $ do+ jobs 2 $ \job -> do+ _<- background job $ cmd "sleep" "2"+ echo "immediate"+ _<- background job $ cmd "sleep" "2"+ echo "immediate2"+ _<- background job $ cmd "sleep" "2"+ echo "blocked by background "+ + echo "blocked by jobs"