tasty-rerun: Rerun only tests which failed in a previous test run
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
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 import Test.Tasty.Ingredients.Rerun main :: IO () main = defaultMainWithIngredients [ rerunningTests [ listingTests, consoleTestReporter ] ] tests tests :: TestTree tests = undefined
This ingredient adds three command line parameters:
- 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-testsis used) then the log file will not be updated. This option is not enabled by default. This option does not require a value.
- The path to the log file to read previous test
information from, and where to write new information to (if
--rerun-updateis specified). This option defaults to
- Which filters to apply to the
Tasty.TestTreebased 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.
|Versions [faq]||1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.1.11, 1.1.12, 1.1.13, 1.1.14, 1.1.15, 1.1.16, 1.1.17 (info)|
|Dependencies||base (>=4.6 && <4.14), containers (>=0.5.0.0), mtl (>=2.1.2), optparse-applicative (>=0.6), split (>=0.1 && <0.3), stm (>=2.4.2), tagged (>=0.7 && <0.9), tasty (==1.2.*), transformers (>=0.3.0.0) [details]|
|Copyright||Oliver Charles (c) 2014, Andrew Lelechenko (c) 2019|
|Uploaded||by Bodigrim at Thu Dec 12 23:03:01 UTC 2019|
|Distributions||Arch:1.1.17, Debian:1.1.12, Fedora:1.1.17, NixOS:1.1.17|
|Downloads||18605 total (800 in the last 30 days)|
|Rating||(no votes yet) [estimated by Bayesian average]|
Docs available [build log]
Last success reported on 2019-12-13 [all 1 reports]
For package maintainers and hackage trustees