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