summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gustafsson2023-02-23 08:25:47 +0000
committerDaniel Gustafsson2023-02-23 08:25:47 +0000
commit337903a16fb0980950a98a17c388b28da8642446 (patch)
treeb849fd893b381bf01d2aa630fc8a71fa44036f38
parent78be04e4c672a3ffb9c92dbb172dbd16edce8941 (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.c37
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));