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

-- | Run tests by filtering the test tree depending on the result of previous test
--   runs
--   
--   This ingredient adds the ability to run tests by first filtering the
--   test tree based on the result of a previous test run. For example, you
--   can use this to run only those tests that failed in the last run, or
--   to run only tests that have been added since tests were last ran.
--   
--   This ingredient is specifically an ingredient *transformer* - given a
--   list of Tasty.Ingredients, rerunningTests adds the
--   ability for all of these ingredients to run against a filtered test
--   tree. This transformer can be applied as follows:
--   
--   
--   import Test.Tasty
--   import Test.Tasty.Runners
--   
--   main :: IO ()
--   main =
--     defaultMainWithIngredients
--       [ rerunningTests [ listingTests, consoleTestReporter ] ]
--       tests
--   
--   tests :: TestTree
--   tests = undefined
--   
--   
--   This ingredient adds three command line parameters:
--   
--   
--   
- --rerun-update If specified the results of this
--   test run will be saved to the log file at --rerun-log-file.
--   If the ingredient does not execute tests (for example,
--   --list-tests is used) then the log file will not be updated.
--   This option is not enabled by default. This option does not require a
--   value.
--   
- --rerun-log-file The path to the log file to read
--   previous test information from, and where to write new information to
--   (if --rerun-update is specified). This option defaults to
--   .tasty-rerun-log.
--   
- --rerun-filter Which filters to apply to the
--   Tasty.TestTree based on previous test runs. The value of this
--   option is a comma separated list of the following options:
--   
--   
--   
--   
- failures: Only run tests that failed on the previous
--   run.
--   
- exceptions: Only run tests that threw an exception on the
--   previous run.
--   
- new: Only run tests that are new since the previous test
--   run.
--   
- successful: Only run tests that were successful in the
--   previous run.
--   
--   
--   Multiple options can be combined and will be taken under disjunction -
--   so --rerun-filter=failures,exceptions will run only tests
--   that failed *or* threw an exception on the last run.
--   
--   Defaults to all filters, which means all tests will be ran.
@package tasty-rerun
@version 1.1.8

module Test.Tasty.Ingredients.Rerun

-- | This Ingredient transformer adds various --rerun
--   options to your test program. These flags add stateful execution of
--   your test suite, allowing you to rerun only tests that are failing
--   from the previous run, or tests that that have been added since the
--   last test ran, once the TestTree has been filtered.
--   
--   The input list of Ingredients specifies the Ingredientss
--   that will actually work with the filtered TestTree. Normally,
--   you'll want at least consoleTestReporter.
rerunningTests :: [Ingredient] -> Ingredient
instance GHC.Show.Show Test.Tasty.Ingredients.Rerun.TestResult
instance GHC.Read.Read Test.Tasty.Ingredients.Rerun.TestResult
instance GHC.Classes.Ord Test.Tasty.Ingredients.Rerun.Filter
instance GHC.Classes.Eq Test.Tasty.Ingredients.Rerun.Filter
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.RerunLogFile
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.UpdateLog
instance Test.Tasty.Options.IsOption Test.Tasty.Ingredients.Rerun.FilterOption
