Hadrian fails to set MAKE when running testsuite
For a long time I have noticed, but worked around, the pecularity that I was unable to reproduce failures of some tests (e.g. often
haddockHtmlTest) under Hadrian.
I finally investigated this today and have identified the culprit:
make implicitly sets the
MAKE environment variable in all child processes. It turns out that
runtest.py came to rely on this fact. By contrast, under Hadrian
MAKE is generally unset, meaning that a command line like
$MAKE --no-print-directory htmlTest will fail. In the case of
haddockHtmlTest we don't print
stderr, hence the resulting error message is hidden.