import qualified Spec.String as Str import qualified Spec.Text.Lazy as L.Txt import qualified Spec.Text.Strict as S.Txt import qualified Spec.ByteString.Lazy as L.Byt import qualified Spec.ByteString.Strict as S.Byt import System.Environment (getArgs, withArgs) import Test.Hspec (Spec, describe) import Test.Hspec.Formatters (failed_examples) import Test.Hspec.Runner ( Config(configFormatter), defaultConfig, readConfig, runSpec , evaluateSummary ) main :: IO () main = getArgs >>= readConfig defaultConfig{configFormatter = Just failed_examples} >>= (withArgs [] . runSpec specAll) >>= evaluateSummary specAll :: Spec specAll = do describe "string" Str.spec describe "text" $ do describe "lazy" L.Txt.spec describe "strict" S.Txt.spec describe "bytestring" $ do describe "lazy" L.Byt.spec describe "strict" S.Byt.spec