{-# LANGUAGE OverloadedStrings #-} module StackTrace.PluginSpec (spec) where import Data.ByteString.Lazy (ByteString) import qualified Data.ByteString.Lazy as BL import Test.Hspec import System.Process.Typed spec :: Spec spec = do output <- runIO exe expected <- runIO $ BL.readFile "test/resource/ghc.output" it "integration test" $ output `shouldBe` expected exe :: IO ByteString exe = do runProcess_ $ shell "cabal install exe:example --installdir=./dist" err <- readProcessStderr_ $ shell "./dist/example || true" runProcess_ $ shell "rm -rf ./dist" return err