Hadrian: use the testsuite driver's config.haddock arg more correctly
authorAlp Mestanogullari <alpmestan@gmail.com>
Wed, 17 Apr 2019 15:14:08 +0000 (17:14 +0200)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Mon, 22 Apr 2019 18:44:11 +0000 (14:44 -0400)
commit51655fd8a4422fd840abd449444eb1505022f5d5
treedaeac7e640d2be5823c46323a2e20d998785f6a0
parent1a7a329b983fa03f4115b769ede5c2e148abaad0
Hadrian: use the testsuite driver's config.haddock arg more correctly

4 haddock tests assume that .haddock files have been produced, by using the
'req_haddock' modifier. The testsuite driver assumes that this condition is
satisfied if 'config.haddock' is non-empty, but before this patch Hadrian was
always passing the path to where the haddock executable should be, regardless
of whether it is actually there or not.

Instead, we now pass an empty config.haddock when we can't find all of
<build root>/docs/html/libraries/<pkg>/<pkg>.haddock>, where <pkg> ranges over
array, base, ghc-prim, process and template-haskell, and pass the path
to haddock when all those file exists. This has the (desired) effect of skipping
the 4 tests (marked as 'missing library') when the docs haven't been built,
and running the haddock tests when they have.
.gitlab-ci.yml
hadrian/src/Settings/Builders/RunTest.hs