Support expected failing tests

This commit is contained in:
Chris Done 2015-02-23 20:30:20 +01:00
parent 8e0fafff11
commit 3c249501f4

View File

@ -384,12 +384,15 @@ packageTarget env@Env{..} name plan = do
let pkgCabal :: (MonadIO m) => Verbosity -> [String] -> m ()
pkgCabal verbosity = succeed . cabal env verbosity prefix logFile dir
pkgCabal Normal ["build","--ghc-options=" <> pbGhcOptions envPB]
when (pbEnableTests envPB)
(do result <- cabal env Normal prefix logFile dir ["test"]
case result of
ExitFailure{} ->
when (pbEnableTests envPB && pcTests (ppConstraints plan) /= Don'tBuild)
(do configure env name logFile dir plan True
result <- cabal env Normal prefix logFile dir ["test"]
case (result,pcTests (ppConstraints plan)) of
(ExitFailure{},ExpectSuccess) ->
do logLn env Normal (prefix <> "TEST SUITE FAILED")
failed env result
(ExitSuccess,ExpectFailure) ->
logLn env Normal (prefix <> "Unexpected test suite success!")
_ -> return ())
pkgCabal Verbose ["copy"]
liftIO (withMVar envRegLock