sbv-8.0: SBVTestSuite/SBVHLint.hs
-----------------------------------------------------------------------------
-- |
-- Module : SBVHLint
-- Author : Levent Erkok
-- License : BSD3
-- Maintainer: erkokl@gmail.com
-- Stability : experimental
--
-- HLint interface for SBV testsuite
-----------------------------------------------------------------------------
module Main (main) where
import Utils.SBVTestFramework (getTestEnvironment, TestEnvironment(..))
import Language.Haskell.HLint (hlint)
import System.Exit (exitFailure, exitSuccess)
arguments :: [String]
arguments =
[ "Data"
, "SBVTestSuite"
, "-i", "Use otherwise"
]
main :: IO ()
main = do
(testEnv, testPercentage) <- getTestEnvironment
putStrLn $ "SBVHLint: Test platform: " ++ show testEnv
case testEnv of
TestEnvLocal -> runHLint
TestEnvCI{} -> if testPercentage < 50
then do putStrLn $ "Test percentage below tresheold, skipping hlint: " ++ show testPercentage
exitSuccess
else runHLint
TestEnvUnknown -> do putStrLn "Unknown test environment, skipping hlint run"
exitSuccess
where runHLint = do hints <- hlint arguments
if null hints
then exitSuccess
else exitFailure