import Test.Hspec import SimpleCmd main :: IO () main = hspec spec spec :: Spec spec = do describe "cmds" $ do it "cmd" $ do out <- cmd "echo" ["hello"] out `shouldBe` "hello" it "cmdBool true" $ do ok <- cmdBool "true" [] ok `shouldBe` True it "cmdBool false" $ do ok <- cmdBool "false" [] ok `shouldBe` False it "cmdLines" $ do out <- cmdLines "echo" ["1\n2"] out `shouldBe` ["1","2"] it "cmdN" $ cmdN "ls" ["*"] describe "pipes" $ do it "pipe" $ do out <- pipe ("echo", ["hello"]) ("grep",["hello"]) out `shouldBe` "hello" describe "timeIO" $ do it "sleep" $ timeIO $ cmd_ "sleep" ["1"]