module OtherCommandTest where import Test.Tasty import Test.Tasty.HUnit import GHCup.OptParse import Utils import Control.Monad.IO.Class otherCommandTests :: TestTree otherCommandTests = testGroup "other command" [ testCase "debug-info" $ do res <- parseWith ["debug-info"] liftIO $ assertBool "debug-info parse failed" (isDInfo res) , testCase "tool-requirements" $ do ToolRequirements opt <- parseWith ["tool-requirements"] liftIO $ tlrRaw opt @?= False , testCase "tool-requirements -r" $ do ToolRequirements opt <- parseWith ["tool-requirements", "--raw-format"] liftIO $ tlrRaw opt @?= True , testCase "nuke" $ do res <- parseWith ["nuke"] liftIO $ assertBool "nuke parse failed" (isNuke res) , testCase "test ghc" $ do res <- parseWith ["test", "ghc"] liftIO $ assertBool "test parse failed" (isTest res) ] isDInfo :: Command -> Bool isDInfo DInfo = True isDInfo _ = False isNuke :: Command -> Bool isNuke Nuke = True isNuke _ = False isTest :: Command -> Bool isTest (Test _) = True isTest _ = False