-- 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 <a>tasty</a> 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.19


-- | This ingredient for <a>tasty</a> 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:
--   
--   <ul>
--   <li><tt>--rerun</tt> <tt> </tt>Rerun only tests, which failed during
--   the last run. If the last run was successful, execute a full test
--   suite afresh. A shortcut for <tt>--rerun-update</tt>
--   <tt>--rerun-filter failures,exceptions</tt>
--   <tt>--rerun-all-on-success</tt>.</li>
--   <li><tt>--rerun-update</tt> <tt> </tt>Update the log file to reflect
--   latest test outcomes.</li>
--   <li><tt>--rerun-filter</tt> <tt>CATEGORIES</tt>Read the log file and
--   rerun only tests from a given comma-separated list of categories:
--   <tt>failures</tt>, <tt>exceptions</tt>, <tt>new</tt>,
--   <tt>successful</tt>. If this option is omitted or the log file is
--   missing, rerun everything.</li>
--   <li><tt>--rerun-all-on-success</tt> <tt> </tt>If according to the log
--   file and <tt>--rerun-filter</tt> there is nothing left to rerun, run
--   all tests. This comes especially handy in <tt>stack test
--   --file-watch</tt> or <tt>ghcid</tt> scenarios.</li>
--   <li><tt>--rerun-log-file</tt> <tt>FILE</tt>Location of the log file
--   (default: <tt>.tasty-rerun-log</tt>).</li>
--   </ul>
--   
--   To add it to your test suite just replace <a>defaultMain</a> with
--   <a>defaultMainWithRerun</a> or wrap arguments of
--   <a>defaultMainWithIngredients</a> into <a>rerunningTests</a>.
module Test.Tasty.Ingredients.Rerun

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

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