module BuildBox.Quirk
(Quirk (..))
where
import System.Exit
import BuildBox.Aspect.Units
import BuildBox.Pretty
data Quirk
= QuirkSucceeded
| QuirkFailed
| QuirkExitCode ExitCode
| QuirkTimeout Seconds
deriving (Eq, Ord, Read, Show)
instance Pretty Quirk where
ppr quirk
= case quirk of
QuirkSucceeded
-> text "succeeded"
QuirkFailed
-> text "failed"
QuirkExitCode ExitSuccess
-> text "exited successfully"
QuirkExitCode (ExitFailure code)
-> text "exited with failure code " <> int code
QuirkTimeout seconds
-> text "timed out after " <> ppr seconds