Skip to content

Commit f38ff1d

Browse files
committed
Enable line buffering on logs to avoid mangling from multiple threads
1 parent 6fb20b9 commit f38ff1d

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

tests/BiosTests.hs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,19 @@ import qualified Test.Tasty.Options as Tasty
1515
import qualified Test.Tasty.Ingredients as Tasty
1616
import HIE.Bios
1717
import HIE.Bios.Cradle
18-
import Control.Monad ( forM_ )
18+
import Control.Monad (forM_)
19+
import Control.Monad.Extra (unlessM)
20+
import Control.Monad.IO.Class
21+
import Data.Foldable (for_)
1922
import Data.List ( sort, isPrefixOf )
2023
import Data.Typeable
2124
import System.Exit (ExitCode(ExitSuccess, ExitFailure))
2225
import System.Directory
2326
import System.FilePath ((</>), makeRelative)
2427
import System.Info.Extra (isWindows)
25-
import Control.Monad.Extra (unlessM)
28+
import System.IO (BufferMode (LineBuffering), hSetBuffering, stderr, stdout)
2629
import qualified HIE.Bios.Ghc.Gap as Gap
27-
import Control.Monad.IO.Class
30+
2831

2932
argDynamic :: [String]
3033
argDynamic = ["-dynamic" | Gap.hostIsDynamic]
@@ -55,6 +58,7 @@ extraGhc = "ghc-" ++ extraGhcVersion
5558
-- to avoid recompilation.
5659
main :: IO ()
5760
main = do
61+
for_ [stderr, stdout] (`hSetBuffering` LineBuffering)
5862
writeStackYamlFiles
5963
stackDep <- checkToolIsAvailable "stack"
6064
cabalDep <- checkToolIsAvailable "cabal"
@@ -560,4 +564,3 @@ ignoreOnUnsupportedGhc :: TestTree -> TestTree
560564
ignoreOnUnsupportedGhc tt =
561565
-- Currently, all GHC versions are supported! Yay!
562566
tt
563-

0 commit comments

Comments
 (0)