summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-01-24 12:21:30 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-01-24 12:21:30 -0400
commit852f1f6cea85a7c781c8286f459023bdacebe021 (patch)
treedbeb0ad578c887343843fd9aa5853226863edf85
parentf2cdb5242d9a7f72f96656608cf3ee664748c68b (diff)
tasty-rerun! make rerest runs much much faster than running whole test suite
-rw-r--r--Makefile5
-rw-r--r--Test.hs5
-rw-r--r--debian/changelog1
-rw-r--r--debian/control1
-rw-r--r--git-annex.cabal2
5 files changed, 10 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index facacfe2e..08a3fa920 100644
--- a/Makefile
+++ b/Makefile
@@ -54,6 +54,9 @@ install: build install-docs Build/InstallDesktopFile
test: git-annex
./git-annex test
+retest: git-annex
+ ./git-annex test --rerun-update --rerun-filter failures
+
# hothasktags chokes on some template haskell etc, so ignore errors
tags:
find . | grep -v /.git/ | grep -v /tmp/ | grep -v /dist/ | grep -v /doc/ | egrep '\.hs$$' | xargs hothasktags > tags 2>/dev/null
@@ -80,7 +83,7 @@ clean:
doc/.ikiwiki html dist tags Build/SysConfig.hs build-stamp \
Setup Build/InstallDesktopFile Build/EvilSplicer \
Build/Standalone Build/OSXMkLibs Build/LinuxMkLibs Build/DistributionUpdate \
- git-union-merge
+ git-union-merge .tasty-rerun-log
find . -name \*.o -exec rm {} \;
find . -name \*.hi -exec rm {} \;
diff --git a/Test.hs b/Test.hs
index d38efea04..a6cec1aca 100644
--- a/Test.hs
+++ b/Test.hs
@@ -13,6 +13,7 @@ import Test.Tasty
import Test.Tasty.Runners
import Test.Tasty.HUnit
import Test.Tasty.QuickCheck
+import Test.Tasty.Ingredients.Rerun
import Data.Monoid
import Options.Applicative hiding (command)
@@ -106,7 +107,7 @@ main ps = do
ingredients :: [Ingredient]
ingredients =
- [ consoleTestReporter
+ [ rerunningTests [consoleTestReporter]
, listingTests
]
@@ -1269,7 +1270,7 @@ withTestEnv forcedirect = withResource prepare release
where
prepare = do
env <- prepareTestEnv forcedirect
- case tryIngredients ingredients mempty (initTests env) of
+ case tryIngredients [consoleTestReporter] mempty (initTests env) of
Nothing -> error "No tests found!?"
Just act -> unlessM act $
error "init tests failed! cannot continue"
diff --git a/debian/changelog b/debian/changelog
index 420ae603b..02624414f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -29,6 +29,7 @@ git-annex (5.20140118) UNRELEASED; urgency=medium
contents when a lot of them seem to be piling up in the repository.
* repair: Check git version at run time.
* assistant: Run the periodic git gc in batch mode.
+ * test suite: Use tasty-rerun, and expose tasty command-line options.
-- Joey Hess <joeyh@debian.org> Sat, 18 Jan 2014 11:54:17 -0400
diff --git a/debian/control b/debian/control
index 060fde22f..966d1e0ba 100644
--- a/debian/control
+++ b/debian/control
@@ -54,6 +54,7 @@ Build-Depends:
libghc-tasty-dev (>= 0.7) [!mipsel !sparc],
libghc-tasty-hunit-dev [!mipsel !sparc],
libghc-tasty-quickcheck-dev [!mipsel !sparc],
+ libghc-tasty-rerun-dev [!mipsel !sparc],
libghc-optparse-applicative-dev,
lsof [!kfreebsd-i386 !kfreebsd-amd64],
ikiwiki,
diff --git a/git-annex.cabal b/git-annex.cabal
index 2e95e0df6..151ac692e 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -114,7 +114,7 @@ Executable git-annex
CPP-Options: -DWITH_CLIBS
if flag(TestSuite)
- Build-Depends: tasty (>= 0.7), tasty-hunit, tasty-quickcheck,
+ Build-Depends: tasty (>= 0.7), tasty-hunit, tasty-quickcheck, tasty-rerun,
optparse-applicative
CPP-Options: -DWITH_TESTSUITE