check-ppr: Make --dump the default behavior
authorBen Gamari <ben@smart-cactus.org>
Mon, 26 Dec 2016 15:02:43 +0000 (10:02 -0500)
committerBen Gamari <ben@smart-cactus.org>
Mon, 26 Dec 2016 15:02:43 +0000 (10:02 -0500)
utils/check-ppr/Main.hs

index c9fac7d..ef39831 100644 (file)
@@ -23,25 +23,21 @@ import qualified Data.Map        as Map
 
 usage :: String
 usage = unlines
-    [ "usage: check-ppr [--dump] (libdir) (file)"
+    [ "usage: check-ppr (libdir) (file)"
     , ""
     , "where libdir is the GHC library directory (e.g. the output of"
     , "ghc --print-libdir) and file is the file to parse."
-    , "The --dump flag causes check-ppr to produce .new and .old files"
-    , "containing dumps of the new and old ASTs in the event of a match"
-    , "failure."
     ]
 
 main :: IO()
 main = do
   args <- getArgs
   case args of
-   [libdir,fileName] -> testOneFile libdir fileName False
-   ["--dump", libdir,fileName] -> testOneFile libdir fileName True
+   [libdir,fileName] -> testOneFile libdir fileName
    _ -> putStrLn usage
 
-testOneFile :: FilePath -> String -> Bool -> IO ()
-testOneFile libdir fileName dumpOldNew = do
+testOneFile :: FilePath -> String -> IO ()
+testOneFile libdir fileName = do
        p <- parseOneFile libdir fileName
        let
          origAst = showAstData 0 (pm_parsed_source p)
@@ -51,6 +47,7 @@ testOneFile libdir fileName dumpOldNew = do
 
          newFile = dropExtension fileName <.> "ppr" <.> takeExtension fileName
          astFile = fileName <.> "ast"
+         newAstFile = fileName <.> "ast.new"
 
        writeFile astFile origAst
        writeFile newFile pped
@@ -58,6 +55,7 @@ testOneFile libdir fileName dumpOldNew = do
        p' <- parseOneFile libdir newFile
 
        let newAstStr = showAstData 0 (pm_parsed_source p')
+       writeFile newAstFile newAstStr
 
        if origAst == newAstStr
          then do
@@ -69,9 +67,6 @@ testOneFile libdir fileName dumpOldNew = do
            putStrLn origAst
            putStrLn "\n===================================\nNew\n\n"
            putStrLn newAstStr
-           when dumpOldNew $ do
-               writeFile (fileName <.> "old") origAst
-               writeFile (fileName <.> "new") newAstStr
            exitFailure