Any remaining test patches?

Max Bolingbroke batterseapower at hotmail.com
Mon May 23 22:24:44 CEST 2011


On 21 May 2011 15:20, Duncan Coutts <duncan.coutts at googlemail.com> wrote:
> data Test = forall i r t. Testlike i r t => Test TestName t
>          | TestGroup TestName [Test]
>          | PlusTestOptions TestOptions Test

FYI, I recently added another alternative:

 | BuildTest (IO Test)

The main purpose is to support a combinator mutuallyExclusive :: Test
-> Test that only allows one of the child tests in a Test to run at
once (see https://github.com/batterseapower/test-framework/blob/master/core/Test/Framework/Core.hs).
This is just a convenience that means that the user doesn't have to
explicitly sequence in this IO action themselves.

> The way it's done in test-framework is to have a pure i :~> r lazy
> list and a separate IO () action that does the real work. The IO
> action performs the test and pokes the results into a Concurrent.Chan.
> The i :~> r lazy list is extracted from the Chan using
> getChanContents.
>
> Honestly, I don't know why Max did it this way

I would not copy this part of the design -- it is the component I am
least happy with. As you say, it is a rather strange interface, and
your proposal seems much clearer.

Cheers,
Max



More information about the cabal-devel mailing list