Skip to content

Commit 337903a

Browse files
Consider a failed process as a failed test in pg_regress
Commit 55de145 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 <andres@anarazel.de> Discussion: https://postgr.es/m/82C46B5E-1821-4039-82C2-56BCA5992989@yesql.se Discussion: https://postgr.es/m/20221122235636.4frx7hjterq6bmls@awork3.anarazel.de
1 parent 78be04e commit 337903a

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

src/test/regress/pg_regress.c

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1697,19 +1697,26 @@ run_schedule(const char *schedule, test_start_function startfunc,
16971697
differ |= newdiff;
16981698
}
16991699

1700-
if (differ)
1700+
if (statuses[i] != 0)
17011701
{
17021702
status(_("FAILED"));
1703+
log_child_failure(statuses[i]);
17031704
fail_count++;
17041705
}
17051706
else
17061707
{
1707-
status(_("ok ")); /* align with FAILED */
1708-
success_count++;
1709-
}
17101708

1711-
if (statuses[i] != 0)
1712-
log_child_failure(statuses[i]);
1709+
if (differ)
1710+
{
1711+
status(_("FAILED"));
1712+
fail_count++;
1713+
}
1714+
else
1715+
{
1716+
status(_("ok ")); /* align with FAILED */
1717+
success_count++;
1718+
}
1719+
}
17131720

17141721
INSTR_TIME_SUBTRACT(stoptimes[i], starttimes[i]);
17151722
status(_(" %8.0f ms"), INSTR_TIME_GET_MILLISEC(stoptimes[i]));
@@ -1778,20 +1785,26 @@ run_single_test(const char *test, test_start_function startfunc,
17781785
differ |= newdiff;
17791786
}
17801787

1781-
if (differ)
1788+
if (exit_status != 0)
17821789
{
17831790
status(_("FAILED"));
17841791
fail_count++;
1792+
log_child_failure(exit_status);
17851793
}
17861794
else
17871795
{
1788-
status(_("ok ")); /* align with FAILED */
1789-
success_count++;
1796+
if (differ)
1797+
{
1798+
status(_("FAILED"));
1799+
fail_count++;
1800+
}
1801+
else
1802+
{
1803+
status(_("ok ")); /* align with FAILED */
1804+
success_count++;
1805+
}
17901806
}
17911807

1792-
if (exit_status != 0)
1793-
log_child_failure(exit_status);
1794-
17951808
INSTR_TIME_SUBTRACT(stoptime, starttime);
17961809
status(_(" %8.0f ms"), INSTR_TIME_GET_MILLISEC(stoptime));
17971810

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy