Three minutes ago, Noel Welsh wrote:
> What I have built is the foundations more or less as you described
> them 2009.
I'll move this to the dev list. (Probably even better to take it
off-line.) These are the problems that I see in this being that
foundational thing:
* It uses TR -- but it has to be very minimal. (*Extremely* minimal,
since it's a candidate for inclusion in the `racket' language, which
is why I was thinking of not much more than agreed structs and
parameters.)
* I don't see why some results are structs and some are exceptions.
* I don't see the point of a `pending' struct -- if it's supposed to
represent a pending test, then it seems to me that the test itself
should be modified when it has been executed.
* Slightly worse: how would pending tests be used with something like
my tester or the rackunit lightweight things where there is no way
to know the tests in advance?
* The test-listener thing is good (I missed it when I looked at the
code earlier).
* I'm not sure about things around "test-name" -- it should be free
form information that the testing framework should render later on.
Perhaps with a minimal spec of source and name, where a name can be
#f. (I'm thinking of these "anonymous" tests here.) (This might be
some unification of your name and info things, which should really
always come together since you'd never modify one without the
other.)
* The `with-*' macros should go away. They're leaks of the higher
level code.
* The same goes for `pass' and `fail'. Even more importantly `lift',
which is dictating some treatment of errors etc.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!