Add exit status code to check-dates

This commit is contained in:
Amitai Burstein 2019-11-23 23:34:14 +02:00 committed by Simon Michael
parent 3f0892556d
commit e15adddeb8

View File

@ -9,6 +9,7 @@ module Hledger.Cli.Commands.Checkdates (
import Hledger import Hledger
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
import System.Exit
import Text.Printf import Text.Printf
checkdatesmode :: Mode RawOpts checkdatesmode :: Mode RawOpts
@ -33,10 +34,10 @@ checkdates CliOpts{rawopts_=rawopts,reportopts_=ropts} j = do
then date a < date b then date a < date b
else date a <= date b else date a <= date b
case checkTransactions compare ts of case checkTransactions compare ts of
FoldAcc{fa_previous=Nothing} -> putStrLn "ok (empty journal)" FoldAcc{fa_previous=Nothing} -> putStrLn "ok (empty journal)" >> exitSuccess
FoldAcc{fa_error=Nothing} -> putStrLn "ok" FoldAcc{fa_error=Nothing} -> putStrLn "ok" >> exitSuccess
FoldAcc{fa_error=Just error, fa_previous=Just previous} -> FoldAcc{fa_error=Just error, fa_previous=Just previous} ->
putStrLn $ printf ("ERROR: transaction out of%s date order" (putStrLn $ printf ("ERROR: transaction out of%s date order"
++ "\nPrevious date: %s" ++ "\nPrevious date: %s"
++ "\nDate: %s" ++ "\nDate: %s"
++ "\nLocation: %s" ++ "\nLocation: %s"
@ -45,7 +46,7 @@ checkdates CliOpts{rawopts_=rawopts,reportopts_=ropts} j = do
(show $ date previous) (show $ date previous)
(show $ date error) (show $ date error)
(show $ tsourcepos error) (show $ tsourcepos error)
(showTransaction error) (showTransaction error)) >> exitFailure
data FoldAcc a b = FoldAcc data FoldAcc a b = FoldAcc
{ fa_error :: Maybe a { fa_error :: Maybe a