This commit is contained in:
Lei Zhu 2023-07-28 23:39:21 +08:00
parent f1f4d5e836
commit 78df858ba1
2 changed files with 32 additions and 1 deletions

View File

@ -13,6 +13,7 @@ import qualified UpgradeTest
import qualified CompileTest import qualified CompileTest
import qualified WhereisTest import qualified WhereisTest
import qualified GCTest import qualified GCTest
import qualified RunTest
main :: IO () main :: IO ()
main = defaultMain $ testGroup "ghcup" main = defaultMain $ testGroup "ghcup"
@ -28,4 +29,5 @@ main = defaultMain $ testGroup "ghcup"
, CompileTest.compileTests , CompileTest.compileTests
, WhereisTest.whereisTests , WhereisTest.whereisTests
, GCTest.gcTests , GCTest.gcTests
, RunTest.runTests
] ]

View File

@ -1,8 +1,11 @@
{-# LANGUAGE OverloadedStrings #-}
module RunTest where module RunTest where
import Test.Tasty import Test.Tasty
import GHCup.OptParse import GHCup.OptParse
import Utils import Utils
import GHCup.Types
runTests :: TestTree runTests :: TestTree
@ -23,7 +26,33 @@ defaultOptions =
[] []
runCheckList :: [(String, RunOptions)] runCheckList :: [(String, RunOptions)]
runCheckList = [] runCheckList =
[ ("run", defaultOptions)
, ("run -a", defaultOptions{runAppendPATH = True})
, ("run --append", defaultOptions{runAppendPATH = True})
, ("run -i", defaultOptions{runInstTool' = True})
, ("run --install", defaultOptions{runInstTool' = True})
, ("run -m", defaultOptions{runMinGWPath = True})
, ("run --mingw-path", defaultOptions{runMinGWPath = True})
, ("run --ghc 9.2.8", defaultOptions{runGHCVer = Just $ GHCVersion $ mkTVer $ mkVersion' "9.2.8"})
, ("run --ghc latest", defaultOptions{runGHCVer = Just $ ToolTag Latest})
, ("run --cabal 3.10", defaultOptions{runCabalVer = Just $ ToolVersion $ mkVersion' "3.10"})
, ("run --hls 2.0", defaultOptions{runHLSVer = Just $ ToolVersion $ mkVersion' "2.0"})
, ("run --stack 2.9", defaultOptions{runStackVer = Just $ ToolVersion $ mkVersion' "2.9"})
, ("run -b /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
, ("run --bindir /tmp/dir", defaultOptions{runBinDir = Just "/tmp/dir"})
, ("run -q", defaultOptions{runQuick = True})
, ("run --quick", defaultOptions{runQuick = True})
, ("run --ghc latest --cabal 3.10 --stack 2.9 --hls 2.0 --install",
defaultOptions
{ runGHCVer = Just $ ToolTag Latest
, runCabalVer = Just $ ToolVersion $ mkVersion' "3.10"
, runHLSVer = Just $ ToolVersion $ mkVersion' "2.0"
, runStackVer = Just $ ToolVersion $ mkVersion' "2.9"
, runInstTool' = True
}
)
]
runParseWith :: [String] -> IO RunOptions runParseWith :: [String] -> IO RunOptions
runParseWith args = do runParseWith args = do