fixing tests for logging

This commit is contained in:
Nicolas Rolland
2015-11-25 16:06:24 +01:00
parent 1a8020774e
commit e1d2de96c8
4 changed files with 14 additions and 9 deletions

View File

@@ -4,6 +4,7 @@ module Language.Haskell.GhcMod.Cradle
(
findCradle
, findCradle'
, findCradleNoLog
, findSpecCradle
, cleanupCradle
)
@@ -25,6 +26,8 @@ import Data.Maybe
import System.Directory
import System.FilePath
import Prelude
import Control.Monad.Trans.Journal (runJournalT)
----------------------------------------------------------------
@@ -35,6 +38,9 @@ import Prelude
findCradle :: (GmLog m, IOish m, GmOut m) => m Cradle
findCradle = findCradle' =<< liftIO getCurrentDirectory
findCradleNoLog :: forall m. (IOish m, GmOut m) => m Cradle
findCradleNoLog = fst <$> (runJournalT findCradle :: m (Cradle, GhcModLog))
findCradle' :: (GmLog m, IOish m, GmOut m) => FilePath -> m Cradle
findCradle' dir = run $
msum [ stackCradle dir

View File

@@ -86,7 +86,7 @@ gmLog level loc' doc = do
-- | Appends a collection of logs to the logging environment, with effects
-- | if their log level specifies it should
gmLog' :: (MonadIO m, GmLog m, GmOut m) => GhcModLog -> m ()
gmLog' newLog@ GhcModLog { gmLogMessages } = do
gmLog' GhcModLog { gmLogMessages } = do
GhcModLog { gmLogLevel = Just level' } <- gmlHistory
mapM_ (\(level, _, msgDoc) -> when (level <= level') $ gmErrStrLn (docToString msgDoc)) gmLogMessages
-- instance Monoid GhcModLog takes the second debug level for some reason, so we need to force this to nothing