diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index 074be6be4e392fd35bfb8dcbfe483b9330d9bf8b..308ba3fe9b88662cc5c57e21f4964989466ba1a4 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -161,6 +161,8 @@ test-suite package-tests PackageTests.BenchmarkStanza.Check, PackageTests.TemplateHaskell.Check, PackageTests.PackageTester + PackageTests.PathsModule.Executable.Check + PackageTests.PathsModule.Library.Check hs-source-dirs: tests build-depends: base, diff --git a/Cabal/tests/PackageTests.hs b/Cabal/tests/PackageTests.hs index bd8ef6b5d48f590b1e227fee58b52454bc695dd4..4b1b1f5ea398f6ba630ae32b9d06575a831b1697 100644 --- a/Cabal/tests/PackageTests.hs +++ b/Cabal/tests/PackageTests.hs @@ -25,6 +25,8 @@ import PackageTests.BuildDeps.InternalLibrary1.Check import PackageTests.BuildDeps.InternalLibrary2.Check import PackageTests.BuildDeps.InternalLibrary3.Check import PackageTests.BuildDeps.InternalLibrary4.Check +import PackageTests.PathsModule.Executable.Check +import PackageTests.PathsModule.Library.Check import PackageTests.TestOptions.Check import PackageTests.TestStanza.Check import PackageTests.TestSuiteExeV10.Check @@ -60,7 +62,11 @@ tests cabalVersion = [ (PackageTests.BenchmarkExeV10.Check.checkBenchmark cabalVersion), hunit "PackageTests/BenchmarkOptions" PackageTests.BenchmarkOptions.Check.suite, hunit "PackageTests/TemplateHaskell/profiling" PackageTests.TemplateHaskell.Check.profiling, - hunit "PackageTests/TemplateHaskell/dynamic" PackageTests.TemplateHaskell.Check.dynamic + hunit "PackageTests/TemplateHaskell/dynamic" PackageTests.TemplateHaskell.Check.dynamic, + hunit "PackageTests/PathsModule/Executable" + PackageTests.PathsModule.Executable.Check.suite, + hunit "PackageTests/PathsModule/Library" + PackageTests.PathsModule.Library.Check.suite ] ++ -- These tests are only required to pass on cabal version >= 1.7 (if cabalVersion >= Version [1, 7] [] diff --git a/Cabal/tests/PackageTests/PathsModule/Executable/Check.hs b/Cabal/tests/PackageTests/PathsModule/Executable/Check.hs new file mode 100644 index 0000000000000000000000000000000000000000..a33ceb1cd7c90c487a3649f5ade4d93f3ef5f55a --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Executable/Check.hs @@ -0,0 +1,14 @@ +module PackageTests.PathsModule.Executable.Check (suite) where + +import Distribution.Version +import PackageTests.PackageTester (PackageSpec(..), assertBuildSucceeded, + cabal_build) +import System.FilePath +import Test.HUnit + +suite :: Test +suite = TestCase $ do + let spec = PackageSpec ("PackageTests" </> "PathsModule" </> "Executable") + [] + result <- cabal_build spec + assertBuildSucceeded result diff --git a/Cabal/tests/PackageTests/PathsModule/Executable/Main.hs b/Cabal/tests/PackageTests/PathsModule/Executable/Main.hs new file mode 100644 index 0000000000000000000000000000000000000000..5bd5d645c38fb85406d1b8238f939e2cf55027f5 --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Executable/Main.hs @@ -0,0 +1,8 @@ +module Main where + +import Paths_PathsModule (getBinDir) + +main :: IO () +main = do + _ <- getBinDir + return () diff --git a/Cabal/tests/PackageTests/PathsModule/Executable/Setup.hs b/Cabal/tests/PackageTests/PathsModule/Executable/Setup.hs new file mode 100644 index 0000000000000000000000000000000000000000..200a2e51d0b46fa8a38d91b749f59f20eb97a46d --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Executable/Setup.hs @@ -0,0 +1,3 @@ +import Distribution.Simple +main = defaultMain + diff --git a/Cabal/tests/PackageTests/PathsModule/Executable/my.cabal b/Cabal/tests/PackageTests/PathsModule/Executable/my.cabal new file mode 100644 index 0000000000000000000000000000000000000000..29a319ad43f1d1e459bf345b7cf46d9bdc449ed5 --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Executable/my.cabal @@ -0,0 +1,16 @@ +name: PathsModule +version: 0.1 +license: BSD3 +author: Johan Tibell +stability: stable +category: PackageTests +build-type: Simple +Cabal-version: >= 1.2 + +description: + Check that the generated paths module compiles. + +Executable TestPathsModule + main-is: Main.hs + other-modules: Paths_PathsModule + build-depends: base diff --git a/Cabal/tests/PackageTests/PathsModule/Library/Check.hs b/Cabal/tests/PackageTests/PathsModule/Library/Check.hs new file mode 100644 index 0000000000000000000000000000000000000000..3302ba2a6e36a7dd6da3cdbddb89777ac57355fb --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Library/Check.hs @@ -0,0 +1,13 @@ +module PackageTests.PathsModule.Library.Check (suite) where + +import Distribution.Version +import PackageTests.PackageTester (PackageSpec(..), assertBuildSucceeded, + cabal_build) +import System.FilePath +import Test.HUnit + +suite :: Test +suite = TestCase $ do + let spec = PackageSpec ("PackageTests" </> "PathsModule" </> "Library") [] + result <- cabal_build spec + assertBuildSucceeded result diff --git a/Cabal/tests/PackageTests/PathsModule/Library/Setup.hs b/Cabal/tests/PackageTests/PathsModule/Library/Setup.hs new file mode 100644 index 0000000000000000000000000000000000000000..200a2e51d0b46fa8a38d91b749f59f20eb97a46d --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Library/Setup.hs @@ -0,0 +1,3 @@ +import Distribution.Simple +main = defaultMain + diff --git a/Cabal/tests/PackageTests/PathsModule/Library/dist/build/autogen/Paths_PathsModule.hs b/Cabal/tests/PackageTests/PathsModule/Library/dist/build/autogen/Paths_PathsModule.hs new file mode 100644 index 0000000000000000000000000000000000000000..eeef2bdfffaa5ff6a2591e7f1f78b0011a654910 --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Library/dist/build/autogen/Paths_PathsModule.hs @@ -0,0 +1,34 @@ +module Paths_PathsModule ( + version, + getBinDir, getLibDir, getDataDir, getLibexecDir, + getDataFileName + ) where + +import qualified Control.Exception as Exception +import Data.Version (Version(Version, versionBranch, versionTags)) +import System.Environment (getEnv) +import Prelude ((++), FilePath, IO, return) + +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +catchIO = Exception.catch + + +version :: Version +version = Version {versionBranch = [0,1], versionTags = []} +bindir, libdir, datadir, libexecdir :: FilePath + +bindir = "/Users/tibbe/.cabal/bin" +libdir = "/Users/tibbe/.cabal/lib/PathsModule-0.1/ghc-7.4.1" +datadir = "/Users/tibbe/.cabal/share/PathsModule-0.1" +libexecdir = "/Users/tibbe/.cabal/libexec" + +getBinDir, getLibDir, getDataDir, getLibexecDir :: IO FilePath +getBinDir = catchIO (getEnv "PathsModule_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "PathsModule_libdir") (\_ -> return libdir) +getDataDir = catchIO (getEnv "PathsModule_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "PathsModule_libexecdir") (\_ -> return libexecdir) + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir ++ "/" ++ name) diff --git a/Cabal/tests/PackageTests/PathsModule/Library/my.cabal b/Cabal/tests/PackageTests/PathsModule/Library/my.cabal new file mode 100644 index 0000000000000000000000000000000000000000..99fc57c4e94699eda1759afb3c9e2ba1a5a39835 --- /dev/null +++ b/Cabal/tests/PackageTests/PathsModule/Library/my.cabal @@ -0,0 +1,15 @@ +name: PathsModule +version: 0.1 +license: BSD3 +author: Johan Tibell +stability: stable +category: PackageTests +build-type: Simple +Cabal-version: >= 1.2 + +description: + Check that the generated paths module compiles. + +Library + exposed-modules: Paths_PathsModule + build-depends: base