diff options
author | Daniel Gustafsson | 2023-02-23 08:25:47 +0000 |
---|---|---|
committer | Daniel Gustafsson | 2023-02-23 08:25:47 +0000 |
commit | 337903a16fb0980950a98a17c388b28da8642446 (patch) | |
tree | b849fd893b381bf01d2aa630fc8a71fa44036f38 | |
parent | 78be04e4c672a3ffb9c92dbb172dbd16edce8941 (diff) |
Consider a failed process as a failed test in pg_regress
Commit 55de145d1cf added reporting of child process failures, but the
test suite is still allowed to pass even if the process failed. Since
regress tests are higher level tests, a false positive is more likely
in this case so report failed test processes as failed tests.
Reported-by: Andres Freund <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Discussion: https://postgr.es/m/[email protected]
-rw-r--r-- | src/test/regress/pg_regress.c | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 6cd5998b9d..7b23cc80dc 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -1697,19 +1697,26 @@ run_schedule(const char *schedule, test_start_function startfunc, differ |= newdiff; } - if (differ) + if (statuses[i] != 0) { status(_("FAILED")); + log_child_failure(statuses[i]); fail_count++; } else { - status(_("ok ")); /* align with FAILED */ - success_count++; - } - if (statuses[i] != 0) - log_child_failure(statuses[i]); + if (differ) + { + status(_("FAILED")); + fail_count++; + } + else + { + status(_("ok ")); /* align with FAILED */ + success_count++; + } + } INSTR_TIME_SUBTRACT(stoptimes[i], starttimes[i]); status(_(" %8.0f ms"), INSTR_TIME_GET_MILLISEC(stoptimes[i])); @@ -1778,20 +1785,26 @@ run_single_test(const char *test, test_start_function startfunc, differ |= newdiff; } - if (differ) + if (exit_status != 0) { status(_("FAILED")); fail_count++; + log_child_failure(exit_status); } else { - status(_("ok ")); /* align with FAILED */ - success_count++; + if (differ) + { + status(_("FAILED")); + fail_count++; + } + else + { + status(_("ok ")); /* align with FAILED */ + success_count++; + } } - if (exit_status != 0) - log_child_failure(exit_status); - INSTR_TIME_SUBTRACT(stoptime, starttime); status(_(" %8.0f ms"), INSTR_TIME_GET_MILLISEC(stoptime)); |