From 29586db1a09d08e22515cd4e55267a03db31342e Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Wed, 22 Feb 2023 15:05:56 +0100 Subject: [PATCH v3] pg_regress: Consider a failed test process as a failed test 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 Discussion: https://postgr.es/m/82C46B5E-1821-4039-82C2-56BCA5992989@yesql.se Discussion: https://postgr.es/m/20221122235636.4frx7hjterq6bmls@awork3.anarazel.de --- src/test/regress/pg_regress.c | 37 +++++++++++++++++++++++------------ 1 file 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)); -- 2.32.1 (Apple Git-133)