From bac660f5e681d0c0bcefc5754a598cc85cd360d1 Mon Sep 17 00:00:00 2001 From: Johan Tibell <johan.tibell@gmail.com> Date: Thu, 25 Oct 2012 21:52:11 -0700 Subject: [PATCH] Add tests for PathsModule --- Cabal/Cabal.cabal | 2 ++ Cabal/tests/PackageTests.hs | 8 ++++- .../PathsModule/Executable/Check.hs | 14 ++++++++ .../PathsModule/Executable/Main.hs | 8 +++++ .../PathsModule/Executable/Setup.hs | 3 ++ .../PathsModule/Executable/my.cabal | 16 +++++++++ .../PackageTests/PathsModule/Library/Check.hs | 13 +++++++ .../PackageTests/PathsModule/Library/Setup.hs | 3 ++ .../dist/build/autogen/Paths_PathsModule.hs | 34 +++++++++++++++++++ .../PackageTests/PathsModule/Library/my.cabal | 15 ++++++++ 10 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 Cabal/tests/PackageTests/PathsModule/Executable/Check.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Executable/Main.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Executable/Setup.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Executable/my.cabal create mode 100644 Cabal/tests/PackageTests/PathsModule/Library/Check.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Library/Setup.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Library/dist/build/autogen/Paths_PathsModule.hs create mode 100644 Cabal/tests/PackageTests/PathsModule/Library/my.cabal diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index 074be6be4e..308ba3fe9b 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 bd8ef6b5d4..4b1b1f5ea3 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 0000000000..a33ceb1cd7 --- /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 0000000000..5bd5d645c3 --- /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 0000000000..200a2e51d0 --- /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 0000000000..29a319ad43 --- /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 0000000000..3302ba2a6e --- /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 0000000000..200a2e51d0 --- /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 0000000000..eeef2bdfff --- /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 0000000000..99fc57c4e9 --- /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 -- GitLab