-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Rerun only tests which failed in a previous test run
--   
--   This ingredient for the tasty testing framework allows
--   filtering a test tree depending on the outcome of the previous run.
--   This may be useful in many scenarios, especially when a test suite
--   grows large.
@package tasty-rerun
@version 1.1.20

-- | This ingredient for tasty testing framework allows to filter a
--   test tree depending on an outcome of the previous run. This may be
--   useful in many scenarios, especially when a test suite grows large.
--   
--   The behaviour is controlled by command-line options:
--   
--   
--   
- --rerun  Rerun only tests, which failed during
--   the last run. If the last run was successful, execute a full test
--   suite afresh. A shortcut for --rerun-update
--   --rerun-filter failures,exceptions
--   --rerun-all-on-success.
--   
- --rerun-update  Update the log file to reflect
--   latest test outcomes.
--   
- --rerun-filter CATEGORIESRead the log file and
--   rerun only tests from a given comma-separated list of categories:
--   failures, exceptions, new,
--   successful. If this option is omitted or the log file is
--   missing, rerun everything.
--   
- --rerun-all-on-success  If according to the log
--   file and --rerun-filter there is nothing left to rerun, run
--   all tests. This comes especially handy in stack test
--   --file-watch or ghcid scenarios.
--   
- --rerun-log-file FILELocation of the log file
--   (default: .tasty-rerun-log).
--   
--   
--   To add it to your test suite just replace defaultMain with
--   defaultMainWithRerun or wrap arguments of
--   defaultMainWithIngredients into rerunningTests.
module Test.Tasty.Ingredients.Rerun

-- | Drop-in replacement for defaultMain.
--   
--   
--   import Test.Tasty
--   import Test.Tasty.Ingredients.Rerun
--   
--   main :: IO ()
--   main = defaultMainWithRerun tests
--   
--   tests :: TestTree
--   tests = undefined
--   
defaultMainWithRerun :: TestTree -> IO ()

-- | Ingredient transformer, to use with defaultMainWithIngredients.
--   
--   
--   import Test.Tasty
--   import Test.Tasty.Runners
--   import Test.Tasty.Ingredients.Rerun
--   
--   main :: IO ()
--   main =
--     defaultMainWithIngredients
--       [ rerunningTests [ listingTests, consoleTestReporter ] ]
--       tests
--   
--   tests :: TestTree
--   tests = undefined
--   
rerunningTests :: [Ingredient] -> Ingredient
instance GHC.Internal.Enum.Bounded Test.Tasty.Ingredients.Rerun.Filter
instance GHC.Internal.Enum.Enum Test.Tasty.Ingredients.Rerun.Filter
instance GHC.Classes.Eq Test.Tasty.Ingredients.Rerun.Filter
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.AllOnSuccess
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.FilterOption
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.Rerun
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.RerunLogFile
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.UpdateLog
instance GHC.Classes.Ord Test.Tasty.Ingredients.Rerun.Filter
instance GHC.Internal.Read.Read Test.Tasty.Ingredients.Rerun.TestResult
instance GHC.Internal.Show.Show Test.Tasty.Ingredients.Rerun.Filter
instance GHC.Internal.Show.Show Test.Tasty.Ingredients.Rerun.TestResult
