properly report exit code from tests to stop arbitrarily passing things in CI