From 852f1f6cea85a7c781c8286f459023bdacebe021 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 24 Jan 2014 12:21:30 -0400 Subject: tasty-rerun! make rerest runs much much faster than running whole test suite --- Makefile | 5 ++++- Test.hs | 5 +++-- debian/changelog | 1 + debian/control | 1 + git-annex.cabal | 2 +- 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 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 -- cgit v1.2.3