From cdd0a645fc8ab977d9019f08447523969aff9289 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Thu, 23 Oct 2014 05:54:29 +0300 Subject: [PATCH] Build docs before tests #315 --- Stackage/Test.hs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Stackage/Test.hs b/Stackage/Test.hs index 8ed58c6c..794bf453 100644 --- a/Stackage/Test.hs +++ b/Stackage/Test.hs @@ -134,14 +134,8 @@ runTestSuite cabalVersion settings testdir docdir bp (packageName, SelectedPacka createDirectoryIfMissing True cfd copyFile src dst getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir - when spiHasTests $ do - getHandle AppendMode $ run "cabal" ["build"] dir - getHandle AppendMode $ run "cabal" (concat - [ ["test"] - , if cabalVersion >= CabalVersion 1 20 - then ["--show-details=streaming"] -- FIXME temporary workaround for https://github.com/haskell/cabal/issues/1810 - else [] - ]) dir + + -- Try building docs first in case tests have an expected failure. when (buildDocs settings) $ do getHandle AppendMode $ run "cabal" [ "haddock" @@ -154,6 +148,15 @@ runTestSuite cabalVersion settings testdir docdir bp (packageName, SelectedPacka handle (\(_ :: IOException) -> return ()) $ renameDirectory (dir "dist" "doc" "html" packageName') (docdir package) + + when spiHasTests $ do + getHandle AppendMode $ run "cabal" ["build"] dir + getHandle AppendMode $ run "cabal" (concat + [ ["test"] + , if cabalVersion >= CabalVersion 1 20 + then ["--show-details=streaming"] -- FIXME temporary workaround for https://github.com/haskell/cabal/issues/1810 + else [] + ]) dir return True let expectedFailure = packageName `Set.member` bpExpectedFailures bp if passed