hackport-0.5.5: cabal/cabal-testsuite/PackageTests/NewBuild/CmdRun/MultiplePackages/cabal.test.hs
import Test.Cabal.Prelude
main = cabalTest $ do
-- some ways of specifying an exe without ambiguities
cabal' "new-run" ["bar-exe"] >>= assertOutputContains "Hello bar:bar-exe"
cabal' "new-run" ["bar:bar-exe"] >>= assertOutputContains "Hello bar:bar-exe"
cabal' "new-run" ["foo:foo-exe"] >>= assertOutputContains "Hello foo:foo-exe"
cabal' "new-run" ["bar:foo-exe"] >>= assertOutputContains "Hello bar:foo-exe"
-- there are multiple exes ...
fails (cabal' "new-run" []) >>= assertOutputDoesNotContain "Hello" -- in the same project
fails (cabal' "new-run" ["bar"]) >>= assertOutputDoesNotContain "Hello" -- in the same package
fails (cabal' "new-run" ["foo-exe"]) >>= assertOutputDoesNotContain "Hello" -- with the same name
-- invalid exes
fails (cabal' "new-run" ["foo:bar-exe"]) >>= assertOutputDoesNotContain "Hello" -- does not exist