haskell / pretty

Haskell Pretty-printer library
Other
69 stars 30 forks source link

pretty-1.1.2.0 can't compile its test suite #17

Closed peti closed 9 years ago

peti commented 9 years ago

A complete build log is at http://hydra.cryp.to/build/471422/nixlog/1/raw. The relevant part is:

Preprocessing test suite 'test-pretty' for pretty-1.1.2.0...

tests/TestStructures.hs:15:8:
    Could not find module ‘PrettyTestVersion’
    Use -v to see a list of the files searched for.

tests/UnitT3911.hs:5:8:
    Could not find module ‘TestUtils’
    Use -v to see a list of the files searched for.
dterei commented 9 years ago

What cabal file is being used? The logs say it replaces the pretty.cabal file with a modified one.

The test-suite defiantly compiles and runs fine, you can see all the travis.ci builds here: https://travis-ci.org/haskell/pretty

peti commented 9 years ago
/tmp$ cabal get pretty
Unpacking to pretty-1.1.2.0/

/tmp$ cd pretty-1.1.2.0/

/tmp/pretty-1.1.2.0$ ghc-7.8.4 --make Setup.hs
[1 of 1] Compiling Main             ( Setup.hs, Setup.o )
Linking Setup ...

/tmp/pretty-1.1.2.0$ ./Setup configure --enable-tests -w ghc-7.8.4 && ./Setup build 
Configuring pretty-1.1.2.0...
Building pretty-1.1.2.0...
Preprocessing library pretty-1.1.2.0...
[1 of 3] Compiling Text.PrettyPrint.HughesPJ ( src/Text/PrettyPrint/HughesPJ.hs, dist/build/Text/PrettyPrint/HughesPJ.o )
[2 of 3] Compiling Text.PrettyPrint.HughesPJClass ( src/Text/PrettyPrint/HughesPJClass.hs, dist/build/Text/PrettyPrint/HughesPJClass.o )
[3 of 3] Compiling Text.PrettyPrint ( src/Text/PrettyPrint.hs, dist/build/Text/PrettyPrint.o )
In-place registering pretty-1.1.2.0...
Preprocessing test suite 'test-pretty' for pretty-1.1.2.0...

tests/TestStructures.hs:15:8:
    Could not find module ‘PrettyTestVersion’
    Use -v to see a list of the files searched for.

tests/UnitT3911.hs:5:8:
    Could not find module ‘TestUtils’
    Use -v to see a list of the files searched for.
dterei commented 9 years ago

Hmm, I can't get ./Setup to work either but using cabal works fine. I get a different error than you using Setup though, so can't reproduce still.

What happens if you follow the recommended instructions?

cabal install "QuickCheck >= 2.5 && < 3"
cabal install --only-dependencies
cabal configure --enable-tests
cabal build
cabal test
peti commented 9 years ago
$ cabal sandbox init
Writing a default package environment file to
/tmp/pretty-1.1.2.0/cabal.sandbox.config
Creating a new sandbox at /tmp/pretty-1.1.2.0/.cabal-sandbox

$ cabal install "QuickCheck >= 2.5 && < 3"
Resolving dependencies...
All the requested packages are already installed:
QuickCheck-2.7.6
Use --reinstall if you want to reinstall anyway.

$ cabal install --only-dependencies
Resolving dependencies...
cabal: internal error: could not construct a valid install plan.
The proposed (invalid) plan contained the following problems:
The following packages are involved in a dependency cycle QuickCheck-2.7.6, template-haskell-2.9.0.0, pretty-1.1.2.0
Proposed plan:
Configured QuickCheck-2.7.6 (.fake.QuickCheck-2.7.6)
Configured pretty-1.1.2.0 (.fake.pretty-1.1.2.0)
Configured template-haskell-2.9.0.0 (.fake.template-haskell-2.9.0.0)
PreExisting array-0.5.0.0 (array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b)
PreExisting base-4.7.0.2 (base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1)
PreExisting rts-1.0 (builtin_rts)
PreExisting containers-0.5.5.1 (containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653)
PreExisting deepseq-1.3.0.2 (deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02)
PreExisting ghc-prim-0.3.1.0 (ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37)
PreExisting integer-gmp-0.5.1.0 (integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46)
PreExisting old-locale-1.0.0.6 (old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34)
PreExisting primitive-0.5.4.0 (primitive-0.5.4.0-16de88d6e87d483d63f4f882cdb55b93)
PreExisting random-1.1 (random-1.1-092becd083af689459dfd417368314bf)
PreExisting tf-random-0.5 (tf-random-0.5-b3fcd560a862ba1e31436a4ce73f0726)
PreExisting time-1.4.2 (time-1.4.2-9b3076800c33f8382c38628f35717951)
PreExisting transformers-0.3.0.0 (transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c)

$ cabal configure --enable-tests
Resolving dependencies...
Configuring pretty-1.1.2.0...

$ cabal build
Building pretty-1.1.2.0...
Preprocessing library pretty-1.1.2.0...
[1 of 3] Compiling Text.PrettyPrint.HughesPJ ( src/Text/PrettyPrint/HughesPJ.hs, dist/build/Text/PrettyPrint/HughesPJ.o )
[2 of 3] Compiling Text.PrettyPrint.HughesPJClass ( src/Text/PrettyPrint/HughesPJClass.hs, dist/build/Text/PrettyPrint/HughesPJClass.o )
[3 of 3] Compiling Text.PrettyPrint ( src/Text/PrettyPrint.hs, dist/build/Text/PrettyPrint.o )
In-place registering pretty-1.1.2.0...
Preprocessing test suite 'test-pretty' for pretty-1.1.2.0...

tests/TestStructures.hs:15:8:
    Could not find module ‘PrettyTestVersion’
    Use -v to see a list of the files searched for.

tests/UnitT3911.hs:5:8:
    Could not find module ‘TestUtils’
    Use -v to see a list of the files searched for.

$ cabal --version
cabal-install version 1.22.0.0
using version 1.22.0.0 of the Cabal library 
dterei commented 9 years ago

Oh sorry, I don't know how I missed the obvious here. I simply haven't included some needed files in cabal. Updating now and I'll push out 1.1.2.1 to fix this.