This page is part of the web mail archives of SRFI 64 from before July 7th, 2015. The new archives for SRFI 64 contain all messages, not just those from before July 7th, 2015.
Alex Shinn wrote:
It seems like the only forms which need to be macros are test-assert test-equal test-eqv test-eq test-error because they need to delay/skip evalutation of the test form and setup appropriate error handlers.
test-group and test-group-with-cleanup also need to be macros, because they can also be skipped. test-with-runner also needs to be a macro, but it's a convenience form, not primitive.
What if we define and expose test-thunk: --procedure: test-thunk [name] thunk which does the same as test-assert but takes a thunk which it evaluates when it is run. Then the above macros could just be convenience wrappers around this.
I think that works and seems to make sense.
Even if we don't expose a procedural interface the SRFI should specify that the test-name is evaluated at runtime, for use with data driven tests (I agree the name should be a string).
I.e. the specification should clarify that the test-name is an expression that evaluates to string, not necessarily a string literal? -- --Per Bothner per@xxxxxxxxxxx http://per.bothner.com/