hackport-0.8.0.0: cabal/cabal-testsuite/PackageTests/Manpage/cabal.test.hs
import System.Process
import Distribution.System (OS(Windows,Linux,OSX), buildOS)
import Test.Cabal.Prelude
main = cabalTest $ do
r <- cabal' "man" ["--raw"]
assertOutputContains ".B cabal install" r
assertOutputDoesNotContain ".B cabal manpage" r
-- The following test of `cabal man` needs `nroff` which is not available under Windows.
unless (buildOS == Windows) $ do
-- Check that output of `cabal man --raw` can be passed through `nroff -man`
-- without producing any warnings (which are printed to stderr).
--
-- NB: runM is not suitable as it mixes stdout and stderr
-- r2 <- runM "nroff" ["-man", "/dev/stdin"] $ Just $ resultOutput r
(ec, _output, errors) <- liftIO $
readProcessWithExitCode "nroff" ["-man", "/dev/stdin"] $ resultOutput r
unless (null errors) $
assertFailure $ unlines
[ "Error: unexpected warnings produced by `nroff -man`:"
, errors
]