mirror of
https://github.com/IHaskell/IHaskell.git
synced 2025-04-19 12:56:08 +00:00
Making test suite pass for flag fixing
This commit is contained in:
parent
0ae48fd0f3
commit
c901dead3a
2
Hspec.hs
2
Hspec.hs
@ -296,7 +296,7 @@ evalTests = do
|
||||
|] `becomes` ["21"]
|
||||
|
||||
it "evaluates flags" $ do
|
||||
":set -package hello" `becomes` []
|
||||
":set -package hello" `becomes` ["Warning: -package not supported yet"]
|
||||
":set -XNoImplicitPrelude" `becomes` []
|
||||
|
||||
it "evaluates multiline expressions" $ do
|
||||
|
@ -420,7 +420,7 @@ evalCommand _ (Module contents) state = wrapExecution state $ do
|
||||
|
||||
-- | Directives set via `:set`.
|
||||
evalCommand output (Directive SetDynFlag flagsStr) state = safely state $ do
|
||||
write state $ "DynFlags: " ++ flagsStr
|
||||
write state $ "All Flags: " ++ flagsStr
|
||||
|
||||
-- Find which flags are IHaskell flags, and which are GHC flags
|
||||
let flags = words flagsStr
|
||||
@ -431,6 +431,9 @@ evalCommand output (Directive SetDynFlag flagsStr) state = safely state $ do
|
||||
|
||||
(ihaskellFlags, ghcFlags) = partition (isJust . ihaskellFlagUpdater) flags
|
||||
|
||||
write state $ "IHaskell Flags: " ++ unwords ihaskellFlags
|
||||
write state $ "GHC Flags: " ++ unwords ghcFlags
|
||||
|
||||
if null flags
|
||||
then do
|
||||
flags <- getSessionDynFlags
|
||||
@ -443,8 +446,8 @@ evalCommand output (Directive SetDynFlag flagsStr) state = safely state $ do
|
||||
}
|
||||
else do
|
||||
-- Apply all IHaskell flag updaters to the state to get the new state
|
||||
let state' = (foldl1 (.) (map (fromJust . ihaskellFlagUpdater) ihaskellFlags)) state
|
||||
errs <- setFlags flags
|
||||
let state' = (foldl' (.) id (map (fromJust . ihaskellFlagUpdater) ihaskellFlags)) state
|
||||
errs <- setFlags ghcFlags
|
||||
let display = case errs of
|
||||
[] -> mempty
|
||||
_ -> displayError $ intercalate "\n" errs
|
||||
|
Loading…
x
Reference in New Issue
Block a user