-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Test Cabalized package against multiple dependency versions
--
-- sunlight checks your Cabalized package and ensures that it actually
-- builds and passes its tests, even against mulitple dependency versions
-- specified in your Cabal file. For example, your Cabal file might say
-- that your package builds against base-4.5.1.0 and base-4.6.0.1. With
-- sunlight you can automatically verify that this is actually the case.
--
-- For more information, please see
--
-- http://www.github.com/massysett/sunlight
@package sunlight
@version 0.6.0.0
module Test.Sunlight
-- | A description for this compiler version. This will be used in the
-- directory name in the tree that is written to disk. I simply use a
-- compiler version, such as 7.4.
type Description = String
-- | Path to GHC compiler. You can use a full path name or, if you use just
-- an executable name, the PATH will be searched.
type Compiler = String
-- | Path to ghc-pkg. If you use just an executable name, the PATH will be
-- searched.
type GhcPkg = String
-- | Path to cabal executable. Used to install package dependencies. If you
-- use just an executable name, the PATH will be searched.
type Cabal = String
data TestInputs
TestInputs :: Maybe GenericPackageDescription -> Cabal -> (Description, Compiler, GhcPkg) -> [(Description, Compiler, GhcPkg)] -> [(String, [String])] -> TestInputs
-- | If Just, use this package description. Handy if you write your own
-- package description in Haskell rather than in the cabal format.
-- Otherwise, use Nothing and sunlight will look for the default cabal
-- file and parse that.
tiDescription :: TestInputs -> Maybe GenericPackageDescription
-- | Which cabal executable to use.
tiCabal :: TestInputs -> Cabal
-- | Test the minimum dependency bounds using this compiler. A report is
-- left in the main package directory showing which package versions
-- worked with this compiler and with the minimum bounds.
tiLowest :: TestInputs -> (Description, Compiler, GhcPkg)
-- | Test the default dependencies using these compilers. Since
-- cabal-install will eagerly get the most recent dependencies it can
-- find, this will test the highest possible versions. The compiler
-- specified in tiLowest is not automatically retried here, so if
-- you want to use that compiler specify it as well.
--
-- The last compiler in this list is assumed to be the most recent
-- compiler. A report is left in the main package directory showing the
-- dependencies that worked with this compiler version.
tiDefault :: TestInputs -> [(Description, Compiler, GhcPkg)]
tiTest :: TestInputs -> [(String, [String])]
runTests :: TestInputs -> IO ()
instance Show InstallResult
instance Show PackageInstResult
instance Show InstallAndTestResult
instance Show TestInputs
instance ShowBS InstallAndTestResult
instance ShowBS PackageInstResult
instance ShowBS InstallResult
instance CheckOk InstallAndTestResult
instance CheckOk PackageInstResult
instance CheckOk InstallResult