hackport-0.5.1: cabal/cabal-testsuite/PackageTests/AutogenModules/Package/Check.hs
module PackageTests.AutogenModules.Package.Check where
import PackageTests.PackageTester
suite :: TestM ()
suite = do
configureResult <- shouldFail $ cabal' "configure" []
sdistResult <- shouldFail $ cabal' "sdist" []
-- Package check messages.
let libAutogenMsg =
"An 'autogen-module' is neither on 'exposed-modules' or "
++ "'other-modules'"
let exeAutogenMsg =
"On executable 'Exe' an 'autogen-module' is not on "
++ "'other-modules'"
let testAutogenMsg =
"On test suite 'Test' an 'autogen-module' is not on "
++ "'other-modules'"
let benchAutogenMsg =
"On benchmark 'Bench' an 'autogen-module' is not on "
++ "'other-modules'"
let pathsAutogenMsg =
"Packages using 'cabal-version: >= 1.25' and the autogenerated"
-- Asserts for the desired check messages after configure.
assertOutputContains libAutogenMsg configureResult
assertOutputContains exeAutogenMsg configureResult
assertOutputContains testAutogenMsg configureResult
assertOutputContains benchAutogenMsg configureResult
-- Asserts for the desired check messages after sdist.
assertOutputContains "Distribution quality errors:" sdistResult
assertOutputContains libAutogenMsg sdistResult
assertOutputContains exeAutogenMsg sdistResult
assertOutputContains testAutogenMsg sdistResult
assertOutputContains benchAutogenMsg sdistResult
assertOutputContains pathsAutogenMsg sdistResult
-- Asserts for the undesired check messages after sdist.
assertOutputDoesNotContain "Distribution quality warnings:" sdistResult
-- Asserts for the error messages of the modules not found.
assertOutputContains
"Error: Could not find module: MyLibHelperModule with any suffix"
sdistResult
assertOutputContains
"module is autogenerated it should be added to 'autogen-modules'"
sdistResult
return ()