summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Builders/RunTest.hs
diff options
context:
space:
mode:
Diffstat (limited to 'hadrian/src/Settings/Builders/RunTest.hs')
-rw-r--r--hadrian/src/Settings/Builders/RunTest.hs16
1 files changed, 15 insertions, 1 deletions
diff --git a/hadrian/src/Settings/Builders/RunTest.hs b/hadrian/src/Settings/Builders/RunTest.hs
index 932b497b0f..21796478a7 100644
--- a/hadrian/src/Settings/Builders/RunTest.hs
+++ b/hadrian/src/Settings/Builders/RunTest.hs
@@ -147,6 +147,7 @@ getTestArgs = do
bindir <- expr $ getBinaryDirectory (testCompiler args)
compiler <- expr $ getCompilerPath (testCompiler args)
globalVerbosity <- shakeVerbosity <$> expr getShakeOptions
+ haveDocs <- areDocsPresent
let configFileArg= ["--config-file=" ++ (testConfigFile args)]
testOnlyArg = map ("--only=" ++) (testOnly args ++ testEnvTargets)
onlyPerfArg = if testOnlyPerf args
@@ -169,7 +170,9 @@ getTestArgs = do
wayArgs = map ("--way=" ++) (testWays args)
compilerArg = ["--config", "compiler=" ++ show (compiler)]
ghcPkgArg = ["--config", "ghc_pkg=" ++ show (bindir -/- "ghc-pkg")]
- haddockArg = ["--config", "haddock=" ++ show (bindir -/- "haddock")]
+ haddockArg = if haveDocs
+ then [ "--config", "haddock=" ++ show (bindir -/- "haddock") ]
+ else [ "--config", "haddock=" ]
hp2psArg = ["--config", "hp2ps=" ++ show (bindir -/- "hp2ps")]
hpcArg = ["--config", "hpc=" ++ show (bindir -/- "hpc")]
inTreeArg = [ "-e", "config.in_tree_compiler=" ++
@@ -181,6 +184,17 @@ getTestArgs = do
++ configArgs ++ wayArgs ++ compilerArg ++ ghcPkgArg
++ haddockArg ++ hp2psArg ++ hpcArg ++ inTreeArg
+ where areDocsPresent = expr $ do
+ root <- buildRoot
+ and <$> traverse doesFileExist (docFiles root)
+
+ docFiles root =
+ [ root -/- "docs" -/- "html" -/- "libraries" -/- p -/- (p ++ ".haddock")
+ -- list of packages from
+ -- utils/haddock/haddock-test/src/Test/Haddock/Config.hs
+ | p <- [ "array", "base", "ghc-prim", "process", "template-haskell" ]
+ ]
+
-- | Set speed for test
setTestSpeed :: TestSpeed -> String
setTestSpeed TestSlow = "0"