43 lines
1.1 KiB
Haskell
43 lines
1.1 KiB
Haskell
|
module GCTest where
|
||
|
|
||
|
import Test.Tasty
|
||
|
import GHCup.OptParse
|
||
|
import Utils
|
||
|
|
||
|
|
||
|
gcTests :: TestTree
|
||
|
gcTests = buildTestTree gcParseWith ("gc", gcCheckList)
|
||
|
|
||
|
defaultOptions :: GCOptions
|
||
|
defaultOptions =
|
||
|
GCOptions
|
||
|
False
|
||
|
False
|
||
|
False
|
||
|
False
|
||
|
False
|
||
|
False
|
||
|
|
||
|
gcCheckList :: [(String, GCOptions)]
|
||
|
gcCheckList =
|
||
|
[ ("gc", defaultOptions)
|
||
|
, ("gc -o", defaultOptions{gcOldGHC = True})
|
||
|
, ("gc --ghc-old", defaultOptions{gcOldGHC = True})
|
||
|
, ("gc -p", defaultOptions{gcProfilingLibs = True})
|
||
|
, ("gc --profiling-libs", defaultOptions{gcProfilingLibs = True})
|
||
|
, ("gc -s", defaultOptions{gcShareDir = True})
|
||
|
, ("gc --share-dir", defaultOptions{gcShareDir = True})
|
||
|
, ("gc -h", defaultOptions{gcHLSNoGHC = True})
|
||
|
, ("gc --hls-no-ghc", defaultOptions{gcHLSNoGHC = True})
|
||
|
, ("gc -c", defaultOptions{gcCache = True})
|
||
|
, ("gc --cache", defaultOptions{gcCache = True})
|
||
|
, ("gc -t", defaultOptions{gcTmp = True})
|
||
|
, ("gc --tmpdirs", defaultOptions{gcTmp = True})
|
||
|
, ("gc -o -p -s -h -c -t", GCOptions True True True True True True)
|
||
|
]
|
||
|
|
||
|
gcParseWith :: [String] -> IO GCOptions
|
||
|
gcParseWith args = do
|
||
|
GC a <- parseWith args
|
||
|
pure a
|