Hadrian: add a --test-accept/-a flag, to mimic 'make accept'
authorAlp Mestanogullari <alpmestan@gmail.com>
Wed, 10 Apr 2019 13:35:40 +0000 (15:35 +0200)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Fri, 12 Apr 2019 18:46:54 +0000 (14:46 -0400)
commit3c759ced1c894da2358d12fa91e20f12adf0e5bd
treea615ab03f98320b69dd10011aa4a735e91ccee8e
parent885d2e04854f038fbb899ab545df2b57d9b8bba4
Hadrian: add a --test-accept/-a flag, to mimic 'make accept'

When -a or --test-accept is passed, and if one runs the 'test' target, then
any test failing because of mismatching output and which is not expected to
fail will have its expected output adjusted by the test driver, effectively
considering the new output correct from now on.

When this flag is passed, hadrian's 'test' target becomes sensitive to the
PLATFORM and OS environment variable, just like the Make build system:
- when the PLATFORM env var is set to "YES", when accepting a result, accept it
  for the current platform;
- when the OS env var is set to "YES", when accepting a result, accept it
  for all wordsizes of the current operating system.

This can all be combined with `--only="..."` and `TEST="..." to only accept
the new output of a subset of tests.
hadrian/src/CommandLine.hs
hadrian/src/Settings/Builders/RunTest.hs