angel-0.6.2: Setup.hs
#!/usr/bin/env runhaskell
import Control.Monad
import Distribution.Simple
import Distribution.Simple.Setup
import Distribution.Simple.Program.Run
import Distribution.Simple.UserHooks
import Distribution.PackageDescription
import Distribution.Verbosity
-- import System.Process
main :: IO ()
main = defaultMainWithHooks simpleUserHooks
{
preTest = myTestHook
}
-------------------------------------------------------------------------------
myTestHook
:: Args
-> TestFlags
-> IO HookedBuildInfo
myTestHook _ _ = do
buildTestFixtures
return emptyHookedBuildInfo
-------------------------------------------------------------------------------
buildTestFixtures :: IO ()
buildTestFixtures = do
runScript "ghc" ["--make", "test/test_jobs/StubbornJob.hs", "-o", "test/test_jobs/StubbornJob"]
runScript "ghc" ["--make", "test/test_jobs/CompliantJob.hs", "-o", "test/test_jobs/CompliantJob"]
-------------------------------------------------------------------------------
runScript :: String -> [String] -> IO ()
runScript cmd args = do
putStrLn $ unwords [cmd, unwords args]
runProgramInvocation normal $ simpleProgramInvocation cmd args