MyNixOS website logo
Description

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

Build Status Hackage Hackage Dependencies Stackage LTS Stackage Nightly BSD3 License

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.

Metadata

Version

0.1.0.0

Executables (1)

  • bin/hlint-test

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows