* Reorganize tests and add coverage * Improve diagnostic testing * Make assert() tests more relevant * Rename tests to macro-* or altmacro-* This is not NFC because a (previously untested) diagnostic message is changed.