There's been talk here and there of an umbrella SRFI that covers SRFI 64, SRFI 78, foof-test (Chicken/Chibi), and perhaps others.  The advantage of such a library is that it can be used wherever tests are written for one of the others.  The disadvantage is that it's incoherent.

There's also been discussion of standardizing just the syntax for test cases, not the parts used to control the test runner.  I agree with that.

So here's my idea:  Write a small SRFI, the test-case parts of foof-test.  Then write a sample implementation which implements not only names used by the SRFI but (through other library interfaces) the names used by SRFI 64 and SRFI 78.  Then all purposes are served simultaneously.

First cut at a minimal macro interface:

test (for equality)

test-assert

test-not (in Chibi but not Chicken)

test-error (extended to allow an error predicate to be passed?)

test-group

test-exit (exits with 0 if all tests pass, with 1 if some fail)

In addition:

The parameter object current-test-equality (called current-test-comparator in foof-test) which specifies the meaning of "equality".  Its default value is test-equal?.

Test-equal?, which does what equal? does unless the expected value is inexact, in which case it checks to be sure the percentage difference (or absolute difference if one value is zero) between the result and expected value fall within test-epsilon of each other.

Test-epsilon, a parameter object used by test-equal?.