make sure all setup/teardown macros don't mask return values