Cabal's detailed test interface

Johan Tibell johan.tibell at gmail.com
Tue Aug 2 11:16:53 CEST 2011


On Fri, Jul 29, 2011 at 4:40 AM, Thomas Tuegel <ttuegel at gmail.com> wrote:
> On Wed, Jul 27, 2011 at 5:06 AM, Johan Tibell <johan.tibell at gmail.com> wrote:
>> * Having the top-level 'tests' binding be IO Tests, instead of IO
>> [Tests], is a bit inconvenient. It forces the users to always use at
>> least one group, which forces him/her to name that group. As we all
>> known, naming things is one of the two hard problems in computer
>> science (the other being cache coherency).
>
> If we do this, should test runners assume that the list of tests can
> safely be run concurrently, or not? My primary motivation for
> requiring the user to use a group was the explicit answer to this
> question.

I think it's fine to assume that the tests can be run concurrently.
This encourages users to make their tests concurrency safe. At work we
have this default and even with our large code base I haven't seen any
problems adopting such a policy.

In fact, I think we should have a `testGroup` utility function that
creates a concurrency safe group (by taking a single [Test] argument).

Johan



More information about the cabal-devel mailing list