Cabal-1.18.0: tests/PackageTests/BuildDeps/InternalLibrary2/Check.hs
module PackageTests.BuildDeps.InternalLibrary2.Check where
import qualified Data.ByteString.Char8 as C
import PackageTests.PackageTester
import System.FilePath
import Test.HUnit
suite :: FilePath -> FilePath -> Test
suite ghcPath ghcPkgPath = TestCase $ do
let spec = PackageSpec ("PackageTests" </> "BuildDeps" </> "InternalLibrary2") []
let specTI = PackageSpec (directory spec </> "to-install") []
unregister "InternalLibrary2" ghcPkgPath
iResult <- cabal_install specTI ghcPath
assertInstallSucceeded iResult
bResult <- cabal_build spec ghcPath
assertBuildSucceeded bResult
unregister "InternalLibrary2" ghcPkgPath
(_, _, output) <- run (Just $ directory spec) (directory spec </> "dist" </> "build" </> "lemon" </> "lemon") []
C.appendFile (directory spec </> "test-log.txt") (C.pack $ "\ndist/build/lemon/lemon\n"++output)
assertEqual "executable should have linked with the internal library" "myLibFunc internal" (concat $ lines output)