[racket-dev] Racktest was: OMG the thread that will never die about testing

From: Kathryn Gray (kathryn.gray at cl.cam.ac.uk)
Date: Mon Feb 21 07:57:35 EST 2011

Climbing into this conversation late (Goodness, what a time for me to go out of sight of the internet...) so I haven't delved into all of the proposals and arguments that have been flowing around. 

I first want to point out (if it hasn't been discussed already) that the test-engine library was actually developed to support multiple different testing front ends (originally Java's and Scheme's, but it was meant to be flexible). While it doesn't do this as robustly well as I'd like, some of the structures and support I've noticed being discussed are possibly lurking within the implementation. 
I'd certainly be happy to assist in efforts to make the test-engine more robust for supporting other testing packages integrated with DrRacket and/or the textual variant.

I'm partially making the library more flexible myself at the moment because I've been trying to implement some of my more recent research on testing into Racket (System Tests from Unit Tests, UCam techreport and soon to be ICFP submission), that I'd like to make available once it's ready and have integrated with the test engine (and therefore DrRacket).


On 20 Feb 2011, at 5:37:48, Noel Welsh wrote:

> Here's a proposal that attempts to synthesise prior discussion. It
> support the features I want without imposing overhead on Eli.
> ;; Base Types
> (define-type (Dict Key Value)
>  (U (HashTable Key Value) (Listof (Pair Key Value))))
> (define-type Name (Listof Symbol))
> (define-type Info (Dict Symbol Any))
> ;; Test Results
> (struct: Test-Info ([name : Name] [info : Info] [result: Test-Result]))
> (define-type Test-Result (U success failure))
> (struct: Success ())
> ;; Skipped and Pending are a subtype of Success -- report it if you support it
> (struct: Skipped Success ())
> (struct: Pending Success ())
> (struct: Failure ([exn : (U exn #f)]))
> ;; An error is a failure that occurred outside a testing construct --
> report it if you support it
> (struct: Error Failure ())
> N.
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20110221/eb86ec3f/attachment.html>

Posted on the dev mailing list.