testlib; all public macros should be in do-while and END should return

If END returns there will be no need of return statement in main. Also
I would be able to return EXIT_SUCCESS or EXIT_FAILURE depending on
the results from the tests.

All public macros should be in do-while loops so they are counted as a
single statement(if you use a simple block it is a compound statement).