Run hlint in test suite.
Allows you to write small hlint test runner; so you will not forget to run hlint before pushing to master.
hlint-test
This package aims to make easy to automatically run hlint as part of unit tests. That means hlint will be run when you execute cabal test
or stack test
.
How to make it work
Hlint-test package contains GHC preprocessor which will generate the code containing hlint runner. To invoke the preprocessor, create new test and put following line into it:
{-# OPTIONS_GHC -F -pgmF hlint-test #-}
Don't forget to add the test into cabal file (or package.yaml respectively) as separated test runner ;).
Now you can run the test simply by stack test
or cabal test
.
Hlint options
If you need to you can use the preprocessor macro to pass some additional arguments to the hlint. As it's shown on following line:
{-# OPTIONS_GHC -F -pgmF hlint-test -optF src -optF -r #-}
This will tell hlint to look for source codes only in src
directory and to generate html report if some suggestions are found.
Also you can use hlint configuration file too ;).
Example
Simple example of the use can be seen in this package.