New features should have unit tests

Lately it's become more and more clear to me that we cannot release (or work) on cabal effectively without often breaking previously working features. Cabal is a big project by now and has a large surface area, both in terms of features and in terms of systems (e.g. compilers, OSes, etc) it interacts with. On top of that, Cabal, being a glorified system for doing command line I/O, gets less support from the type system than your average Haskell program. I strongly suggest that future feature additions come with unit tests, preferable of the fast kind in Cabal/tests/UnitTests.hs but at the very least of the kind in Cabal/tests/PackageTests (and similarly for cabal-install). We also need to spend some time adding tests for existing features. A good start would be to look at the regressions we saw in 1.22 and writing test cases for those. -- Johan, release manager
participants (1)
-
Johan Tibell