I would like to "interact" with Cabal during the test phase (like exitcode-stdio-1.0) using the relative API (https://www.haskell.org/cabal/release/cabal-latest/doc/API/Cabal/Distribution-Simple-Test-ExeV10.html) to customise for example the final output. How can I do that? I cannot find the right documentation.
A
exitcode-stdio-1.0
test suite is only an executable, which needs to implementmain :: IO()
. Cabal test just runs the executable and captures the output in a log file. So if you use a test framework like tasty, you'll get the output the tasty way. Of course, you can just write your own executable, and output what you want. You just need to return the proper error code to tell Cabal if the tests were successful or not.