Distribution.Simple.Test

Cabal-1.18.1.3: A framework for packaging Haskell software

Copyright | Thomas Tuegel 2010
Maintainer | cabal-devel@haskell.org
Portability | portable
Safe Haskell | None
Language | Haskell98

Distribution.Simple.Test

Description

This is the entry point into testing a built package. It performs the "`./setup test`" action. It runs test suites designated in the package description and reports on the results.

Synopsis

- test :: PackageDescription -> LocalBuildInfo -> TestFlags -> IO ()
- stubMain :: IO [Test] -> IO ()
- writeSimpleTestStub :: TestSuite -> FilePath -> IO ()
- stubFilePath :: TestSuite -> FilePath
- stubName :: TestSuite -> FilePath
- data PackageLog = PackageLog {
  - package :: PackageId
  - compiler :: CompilerId
  - platform :: Platform
  - testSuites :: [TestSuiteLog]
  }
- data TestSuiteLog = TestSuiteLog {
  - testSuiteName :: String
  - testLogs :: TestLogs
  - logFile :: FilePath
  }
- data TestLogs
  - = TestLog {
    - testName :: String
    - testOptionsReturned :: Options
    - testResult :: Result
    }
  - | GroupLogs String [TestLogs]
- suitePassed :: TestSuiteLog -> Bool
- suiteFailed :: TestSuiteLog -> Bool
- suiteError :: TestSuiteLog -> Bool

# Documentation

test Source

Arguments

:: PackageDescription | information from the .cabal file
-> LocalBuildInfo | information from the configure step
-> TestFlags | flags sent to test
-> IO () |

Perform the "`./setup test`" action.

stubMain :: IO [Test] -> IO () Source

Main function for test stubs. Once, it was written directly into the stub, but minimizing the amount of code actually in the stub maximizes the number of detectable errors when Cabal is compiled.

writeSimpleTestStub Source

Arguments

:: TestSuite | library `TestSuite` for which a stub is being created
-> FilePath | path to directory where stub source should be located
-> IO () |

Write the source file for a library `TestSuite` stub executable.

stubFilePath :: TestSuite -> FilePath Source

The filename of the source file for the stub executable associated with a library `TestSuite`.

stubName :: TestSuite -> FilePath Source

The name of the stub executable associated with a library `TestSuite`.

data PackageLog Source

Logs all test results for a package, broken down first by test suite and then by test case.

Constructors

PackageLog |
Fields package :: PackageId compiler :: CompilerId platform :: Platform testSuites :: [TestSuiteLog]

Instances

Eq PackageLog |
Read PackageLog |
Show PackageLog |

data TestSuiteLog Source

Logs test suite results, itemized by test case.

Constructors

TestSuiteLog |
Fields testSuiteName :: String testLogs :: TestLogs logFile :: FilePath

Instances

Eq TestSuiteLog |
Read TestSuiteLog |
Show TestSuiteLog |

data TestLogs Source

Constructors

TestLog |
Fields testName :: String testOptionsReturned :: Options testResult :: Result
GroupLogs String [TestLogs] |

Instances

Eq TestLogs |
Read TestLogs |
Show TestLogs |

suitePassed :: TestSuiteLog -> Bool Source

From a `TestSuiteLog`, determine if the test suite passed.

suiteFailed :: TestSuiteLog -> Bool Source

From a `TestSuiteLog`, determine if the test suite failed.

suiteError :: TestSuiteLog -> Bool Source

From a `TestSuiteLog`, determine if the test suite encountered errors.