{-# LANGUAGE TemplateHaskell #-}
import Data.List
import Distribution.Client.Dynamic
import Test.HUnit
import Test.Tasty.HUnit
import Test.Tasty.TH
case_targets :: Assertion
case_targets = do
tgs <- runQuery (on localPkgDesc targets) "dist/setup-config"
assertEqual "target names" (sort [Library, TestSuite "dynamic-cabal-tests", TestSuite "doctests"]) (sort $ map name tgs)
assertEqual "source directories" (sort $ map sourceDirs tgs) $ sort $ map return ["src", "tests", "tests"]
assertBool "ghc options" $ all (elem "-Wall" . ghcOptions) tgs
assertBool "no extensions" $ all (null . extensions) tgs
assertBool "everything buildable" $ all buildable tgs
case_packageDBs :: Assertion
case_packageDBs = do
dbs <- runQuery packageDBs "dist/setup-config"
length dbs `seq` return ()
main :: IO ()
main = $(defaultMainGenerator)