diff options
Diffstat (limited to 'utils/check-exact/Main.hs')
| -rw-r--r-- | utils/check-exact/Main.hs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/utils/check-exact/Main.hs b/utils/check-exact/Main.hs index 80c1908ce0..d5583c6f23 100644 --- a/utils/check-exact/Main.hs +++ b/utils/check-exact/Main.hs @@ -13,6 +13,7 @@ import GHC.Hs.Dump import System.Environment( getArgs ) import System.Exit import System.FilePath +import System.IO import ExactPrint -- exactPrint = undefined -- showPprUnsafe = undefined @@ -61,7 +62,7 @@ _tt = testOneFile "/home/alanz/mysrc/git.haskell.org/worktree/exactprint/_build/ -- "../../testsuite/tests/printer/Ppr033.hs" -- "../../testsuite/tests/printer/Ppr034.hs" -- "../../testsuite/tests/printer/Ppr035.hs" - -- "../../testsuite/tests/printer/Ppr036.hs" + "../../testsuite/tests/printer/Ppr036.hs" -- "../../testsuite/tests/printer/Ppr037.hs" -- "../../testsuite/tests/printer/Ppr038.hs" -- "../../testsuite/tests/printer/Ppr039.hs" @@ -126,7 +127,7 @@ _tt = testOneFile "/home/alanz/mysrc/git.haskell.org/worktree/exactprint/_build/ -- "../../testsuite/tests/printer/PprRecordDotSyntax2.hs" -- "../../testsuite/tests/printer/PprRecordDotSyntax3.hs" -- "../../testsuite/tests/printer/PprRecordDotSyntax4.hs" - "../../testsuite/tests/printer/PprRecordDotSyntaxA.hs" + -- "../../testsuite/tests/printer/PprRecordDotSyntaxA.hs" -- "./cases/Windows.hs" -- exact = ppr @@ -148,6 +149,9 @@ main = do [libdir,fileName] -> testOneFile libdir fileName _ -> putStrLn usage +writeBinFile :: FilePath -> String -> IO() +writeBinFile fpath x = withBinaryFile fpath WriteMode (\h -> hSetEncoding h utf8 >> hPutStr h x) + testOneFile :: FilePath -> String -> IO () testOneFile libdir fileName = do p <- parseOneFile libdir fileName @@ -166,9 +170,9 @@ testOneFile libdir fileName = do newAstFile = fileName <.> "ast.new" -- putStrLn $ "\n\nabout to writeFile" - writeFile astFile origAst + writeBinFile astFile origAst -- putStrLn $ "\n\nabout to pp" - writeFile newFile pped + writeBinFile newFile pped -- putStrLn $ "anns':" ++ showPprUnsafe (apiAnnRogueComments anns') @@ -178,7 +182,7 @@ testOneFile libdir fileName = do newAstStr = showSDocUnsafe $ showAstData BlankSrcSpanFile NoBlankApiAnnotations (pm_parsed_source p') - writeFile newAstFile newAstStr + writeBinFile newAstFile newAstStr -- putStrLn $ "\n\nanns':" ++ showPprUnsafe (apiAnnRogueComments anns') |
