diff --git a/.gitignore b/.gitignore index 5d82bc960df488a8abc977ec4e0163d25d862583..5410ef42d9f602398c0c2faeb1c657db9195935e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ TAGS .cabal-sandbox cabal.sandbox.config + +.stack-work/ diff --git a/haddock-test/haddock-test.cabal b/haddock-test/haddock-test.cabal index ef928e782578e829661b497b019f5f09d06a138c..56dd184557ec9d105779b8336b6276e1cb1b4f83 100644 --- a/haddock-test/haddock-test.cabal +++ b/haddock-test/haddock-test.cabal @@ -21,8 +21,8 @@ library exposed-modules: Test.Haddock Test.Haddock.Config + Test.Haddock.Utils Test.Haddock.Xhtml other-modules: Test.Haddock.Process - Test.Haddock.Utils diff --git a/haddock-test/src/Test/Haddock/Config.hs b/haddock-test/src/Test/Haddock/Config.hs index 50616c7f292f963c21a461af603b6b55a390c8da..988636e419bcf14487aa3003b0b4fcce0da96087 100644 --- a/haddock-test/src/Test/Haddock/Config.hs +++ b/haddock-test/src/Test/Haddock/Config.hs @@ -193,7 +193,7 @@ loadConfig ccfg dcfg flags files = do , baseDependencies ghcPath ] - let cfgHaddockStdOut = fromMaybe "/dev/null" (flagsHaddockStdOut flags) + let cfgHaddockStdOut = fromMaybe defaultStdOut (flagsHaddockStdOut flags) cfgDiffTool <- if FlagNoDiff `elem` flags then pure Nothing @@ -256,6 +256,14 @@ defaultDiffTool = isAvailable = liftM isJust . findProgramLocation silent +defaultStdOut :: FilePath +#ifdef mingw32_HOST_OS +defaultStdOut = "nul" +#else +defaultStdOut = "/dev/null" +#endif + + processFileArgs :: DirConfig -> [String] -> IO [TestPackage] processFileArgs dcfg [] = processFileArgs' dcfg . filter isValidEntry =<< getDirectoryContents srcDir diff --git a/haddock-test/src/Test/Haddock/Utils.hs b/haddock-test/src/Test/Haddock/Utils.hs index a947fea101cb0308514199f816ba26ab10506c35..58408aaf16545acdf2666953f49d0bd9315fab64 100644 --- a/haddock-test/src/Test/Haddock/Utils.hs +++ b/haddock-test/src/Test/Haddock/Utils.hs @@ -48,3 +48,10 @@ copyFile' :: FilePath -> FilePath -> IO () copyFile' old new = do createDirectoryIfMissing True $ takeDirectory new copyFile old new + + +crlfToLf :: String -> String +crlfToLf "" = "" +crlfToLf ('\r' : '\n' : rest) = '\n' : crlfToLf rest +crlfToLf ('\r' : rest) = '\n' : crlfToLf rest +crlfToLf (other : rest) = other : crlfToLf rest diff --git a/hoogle-test/Main.hs b/hoogle-test/Main.hs index 59a98fd0edb426148a96617567d7ff63e79542fc..d19ae585daed7dd7c8c1579d970919527e0afc0f 100644 --- a/hoogle-test/Main.hs +++ b/hoogle-test/Main.hs @@ -1,10 +1,12 @@ {-# LANGUAGE CPP #-} +import Data.Function import System.Environment import System.FilePath import Test.Haddock +import Test.Haddock.Utils checkConfig :: CheckConfig String @@ -12,7 +14,7 @@ checkConfig = CheckConfig { ccfgRead = Just , ccfgClean = \_ -> id , ccfgDump = id - , ccfgEqual = (==) + , ccfgEqual = (==) `on` crlfToLf } diff --git a/latex-test/Main.hs b/latex-test/Main.hs index 5989410ba6ee4cfc22af9e6d157cb83b73716c8d..8d2a4922e532bf88798fa31654a72160206626bb 100755 --- a/latex-test/Main.hs +++ b/latex-test/Main.hs @@ -1,10 +1,12 @@ {-# LANGUAGE CPP #-} +import Data.Function import System.Environment import System.FilePath import Test.Haddock +import Test.Haddock.Utils checkConfig :: CheckConfig String @@ -12,7 +14,7 @@ checkConfig = CheckConfig { ccfgRead = Just , ccfgClean = \_ -> id , ccfgDump = id - , ccfgEqual = (==) + , ccfgEqual = (==) `on` crlfToLf }