Ticket #212 (new task)

Opened 1 year ago

Last modified 11 months ago

Overhaul Cabal's testsuite

Reported by: duncan Assigned to:
Priority: normal Milestone: Cabal-1.8
Component: Cabal library Version: 1.2.3.0
Severity: normal Keywords:
Cc: Difficulty: very hard (<1 week)
GHC Version: 6.8.2 Platform:

Description

The current testsuite based on HUnit is almost completely bitrotted.

Anyone who wants to take this on has essentially a completely clean slate to work from.

The current system is split into two parts. There are hunit tests in many of the modules guarded by #ifdef DEBUG. Then there are external tests in the tests/ subdirectory. The #ifdef DEBUG style is annoying since it involves using more CPP than seem really necessary.

A couple notes from the old TODO file:

** add a make target or command for tests we know will fail?
** setup test suite to run on --push?
** redirect non-hunit outputs to a file?

One possibility that is available to us now that was not before is using the hackage collection as part of a regression test. For example it should always be possible to parse all the .cabal files in the index.

Change History

01/24/08 06:26:32 changed by duncan

A couple more item from the old TODO:

** error cases for parsing command-line args
** reading & writing configuration-dropping
** test / port code for Hugs

In theory it works with hugs, in practice it does not get tested much.

** use-cases based on SimonPJ's doc

This probably refers to the original Cabal proposal which presented some use cases. The idea would be to turn these into some test cases and make sure they go smoothly.

04/24/08 03:23:44 changed by duncan

  • milestone set to Cabal-1.6.

08/15/08 07:10:50 changed by duncan

  • milestone changed from Cabal-1.6 to Cabal-1.8.