Testing containers outside of ghc source tree

Hi all, Recent developments in containers made me to give it a spin, too. I'd like to compile and test containers package. I got the sources, compiled. So far so good. Then the testsuite inside source code seems to require GHC testing framework. This seems a bit heavy. Anyway I got recent GHC sources, placed containers under libraries/containers-ex. Running 'make TEST_HC=ghc' in tests directory fails with: *** unexpected failure for sequence001(threaded1) =====> sequence001(threaded2) 4 of 4 [0, 30, 0] cd . && '/usr/bin/ghc' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history -o sequence001 sequence001.hs -O -threaded -eventlog -package containers >sequence001.comp.stderr 2>&1 Compile failed (status 256) errors were: ghc: unrecognised flags: -fno-ghci-history Usage: For basic information, try the `--help' option. What I aim for is to have a fast/short way of doing some experimental changes and running only the containers testsuite with my own changes included. How do I get to doing this? -- Gracjan

Hi, Am Freitag, den 23.09.2011, 12:15 +0000 schrieb Gracjan Polak:
Anyway I got recent GHC sources, placed containers under libraries/containers-ex. Running 'make TEST_HC=ghc' in tests directory fails with:
*** unexpected failure for sequence001(threaded1) =====> sequence001(threaded2) 4 of 4 [0, 30, 0] cd . && '/usr/bin/ghc' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts -fno-ghci-history -o sequence001 sequence001.hs -O -threaded -eventlog -package containers >sequence001.comp.stderr 2>&1 Compile failed (status 256) errors were: ghc: unrecognised flags: -fno-ghci-history Usage: For basic information, try the `--help' option.
What I aim for is to have a fast/short way of doing some experimental changes and running only the containers testsuite with my own changes included. How do I get to doing this?
I don’t think the Makefile works outside the ghc tree. Here is how I compile the test programs individually: ghc --make -DTESTING -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -Iinclude -optP-include -optPdist/build/autogen/cabal_macros.h -hidir dist/build -stubdir dist/build -O -fregs-graph -O2 -XHaskell98 -XDeriveDataTypeable -XStandaloneDeriving -XMagicHash -XRank2Types -XCPP tests/map-properties.hs I think I got this line from "cabal build -v". Greetings, Joachim -- Joachim "nomeata" Breitner mail@joachim-breitner.de | nomeata@debian.org | GPG: 0x4743206C xmpp: nomeata@joachim-breitner.de | http://www.joachim-breitner.de/

On Fri, Sep 23, 2011 at 03:41:56PM +0200, Joachim Breitner wrote:
ghc: unrecognised flags: -fno-ghci-history
What I aim for is to have a fast/short way of doing some experimental changes and running only the containers testsuite with my own changes included. How do I get to doing this?
I don’t think the Makefile works outside the ghc tree.
The testsuite works outside of a GHC tree, although for the tests that are in libraries/*/tests you need to arrange things so that the driver can be found. However, the HEAD testsuite driver is designed to be used with the HEAD, so may need tweaking to work with older compilers. In this case, the -fno-ghci-history flag isn't supported by any released version yet. Thanks Ian

Ian Lynagh
However, the HEAD testsuite driver is designed to be used with the HEAD, so may need tweaking to work with older compilers. In this case, the -fno-ghci-history flag isn't supported by any released version yet.
Thanks for help. I managed to run tests properly. Meanwhile I've found: http://hackage.haskell.org/package/containers-benchmark Is there an idea how these two should relate? -- Gracjan

Hi,
However, the HEAD testsuite driver is designed to be used with the HEAD, so may need tweaking to work with older compilers. In this case, the -fno-ghci-history flag isn't supported by any released version yet.
Thanks for help. I managed to run tests properly.
Meanwhile I've found:
http://hackage.haskell.org/package/containers-benchmark
Is there an idea how these two should relate?
Containers-benchmark is a package for benchmarking only, it contains no tests. I use from time to time to measure impact of code changes. So the package is orthogonal to the testsuite. Cheers, Milan

On 24/09/2011 14:41, Ian Lynagh wrote:
On Fri, Sep 23, 2011 at 03:41:56PM +0200, Joachim Breitner wrote:
ghc: unrecognised flags: -fno-ghci-history
What I aim for is to have a fast/short way of doing some experimental changes and running only the containers testsuite with my own changes included. How do I get to doing this?
I don’t think the Makefile works outside the ghc tree.
The testsuite works outside of a GHC tree, although for the tests that are in libraries/*/tests you need to arrange things so that the driver can be found.
However, the HEAD testsuite driver is designed to be used with the HEAD, so may need tweaking to work with older compilers. In this case, the -fno-ghci-history flag isn't supported by any released version yet.
I fixed that in the testsuite a few days ago, so the latest testsuite should work with older GHCs again. It's often useful to be able to say make TEST_HC=ghc-7.0.4 TEST=... to make sure that your new regression test case does indeed fail as it should with the older compiler. Cheers, Simon
participants (5)
-
Gracjan Polak
-
Ian Lynagh
-
Joachim Breitner
-
Milan Straka
-
Simon Marlow