packages feed

language-docker-2.0.0: test/Language/Docker/ExamplesSpec.hs

module Language.Docker.ExamplesSpec where

import           Control.Monad
import           Data.Monoid
import           System.Directory
import           System.FilePath
import           System.FilePath.Glob
import           System.Process
import           Test.Hspec

stackRunGhc e = callProcess "stack" ["runghc", "--package", "language-docker", e]

spec :: Spec
spec = do
    cwd <- runIO getCurrentDirectory
    exampleSources <- runIO $ glob "./examples/*.hs"
    forM_ exampleSources $ \exampleSource -> do
        let exampleSource' = makeRelative cwd exampleSource
        describe exampleSource $ it ("stack runghc " <> exampleSource') $
            stackRunGhc exampleSource