@@ -3,13 +3,15 @@
33import Distribution.Simple
44import Distribution.Simple.PreProcess
55import Distribution.Simple.Setup
6− (copyDest, copyVerbosity, fromFlag, installVerbosity, BuildFlags(..))
6+ (copyDest, copyVerbosity, fromFlag, installVerbosity, BuildFlags(..),
7+ TestFlags(..))
78import Distribution.PackageDescription (PackageDescription(..), Executable(..))
89import Distribution.Simple.LocalBuildInfo
910 (LocalBuildInfo(..), absoluteInstallDirs)
1011import Distribution.Verbosity ( Verbosity, silent )
11−import Distribution.Simple.InstallDirs (mandir, CopyDest (NoCopyDest))
12+import Distribution.Simple.InstallDirs (mandir, CopyDest (NoCopyDest), toPathTemplate)
1213import Distribution.Simple.Utils (installOrdinaryFiles, info)
14+import Distribution.Simple.Test (test)
1315import Prelude hiding (catch)
1416import System.Process ( rawSystem )
1517import System.FilePath ( (</>) )
@@ -20,6 +22,10 @@ main :: IO ()
2022main = do
2123 defaultMainWithHooks $ simpleUserHooks {
2224 postBuild = makeManPages
25+ , testHook = \pkg lbi _ flags ->
26+ -- pass build directory as first argument to test program
27+ test pkg lbi flags{ testOptions =
28+ toPathTemplate (buildDir lbi) : testOptions flags }
2329 , postCopy = \ _ flags pkg lbi ->
2430 installManpages pkg lbi (fromFlag $ copyVerbosity flags)
2531 (fromFlag $ copyDest flags)