packages feed

haskell-stack-trace-plugin-0.1.1.1: test/StackTrace/PluginSpec.hs

{-# 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