/Setup.hs
Haskell | 40 lines | 28 code | 8 blank | 4 comment | 0 complexity | cf7de6440e440aaf327e531daf1e9e18 MD5 | raw file
Possible License(s): BSD-3-Clause
- #!/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