mirror of
https://github.com/koalaman/shellcheck
synced 2025-08-20 05:13:49 -07:00
Run tests as doctests
This commit is contained in:
parent
f0a2e688c4
commit
259b1a5dc6
12 changed files with 1691 additions and 1531 deletions
34
Setup.hs
34
Setup.hs
|
@ -1,3 +1,8 @@
|
|||
{-# LANGUAGE CPP #-}
|
||||
{-# OPTIONS_GHC -Wall #-}
|
||||
|
||||
module Main (main) where
|
||||
|
||||
import Distribution.PackageDescription (
|
||||
HookedBuildInfo,
|
||||
emptyHookedBuildInfo )
|
||||
|
@ -10,11 +15,40 @@ import Distribution.Simple.Setup ( SDistFlags )
|
|||
|
||||
import System.Process ( system )
|
||||
|
||||
#ifndef MIN_VERSION_cabal_doctest
|
||||
#define MIN_VERSION_cabal_doctest(x,y,z) 0
|
||||
#endif
|
||||
|
||||
#if MIN_VERSION_cabal_doctest(1,0,0)
|
||||
|
||||
import Distribution.Extra.Doctest ( addDoctestsUserHook )
|
||||
main :: IO ()
|
||||
main = defaultMainWithHooks $ addDoctestsUserHook "doctests" myHooks
|
||||
where
|
||||
myHooks = simpleUserHooks { preSDist = myPreSDist }
|
||||
|
||||
#else
|
||||
|
||||
#ifdef MIN_VERSION_Cabal
|
||||
-- If the macro is defined, we have new cabal-install,
|
||||
-- but for some reason we don't have cabal-doctest in package-db
|
||||
--
|
||||
-- Probably we are running cabal sdist, when otherwise using new-build
|
||||
-- workflow
|
||||
#warning You are configuring this package without cabal-doctest installed. \
|
||||
The doctests test-suite will not work as a result. \
|
||||
To fix this, install cabal-doctest before configuring.
|
||||
#endif
|
||||
|
||||
main :: IO ()
|
||||
main = defaultMainWithHooks myHooks
|
||||
where
|
||||
myHooks = simpleUserHooks { preSDist = myPreSDist }
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
-- | This hook will be executed before e.g. @cabal sdist@. It runs
|
||||
-- pandoc to create the man page from shellcheck.1.md. If the pandoc
|
||||
-- command is not found, this will fail with an error message:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue