hoogle-5.0.18.2: src/Action/Test.hs
{-# LANGUAGE TupleSections, RecordWildCards, ScopedTypeVariables #-}
module Action.Test(actionTest) where
import Query
import Action.CmdLine
import Action.Search
import Action.Server
import Action.Generate
import General.Util
import General.Web
import Input.Item
import Input.Haddock
import System.IO.Extra
import Control.Monad
import Output.Items
import Control.DeepSeq
import Control.Exception
actionTest :: CmdLine -> IO ()
actionTest Test{..} = withBuffering stdout NoBuffering $ withTempFile $ \sample -> do
putStrLn "Code tests"
general_util_test
general_web_test
input_haddock_test
query_test
action_server_test_
item_test
putStrLn ""
putStrLn "Sample database tests"
actionGenerate defaultGenerate{database=sample, local_=["misc/sample-data"]}
action_search_test True sample
unless disable_network_tests $ action_server_test True sample
putStrLn ""
unless disable_network_tests $ do
putStrLn "Haskell.org database tests"
action_search_test False database
action_server_test False database
when deep $ withSearch database $ \store -> do
putStrLn "Deep tests"
let xs = map targetItem $ listItems store
evaluate $ rnf xs
putStrLn $ "Loaded " ++ show (length xs) ++ " items"