From 45fe3afc04438bd11aee7df0b6cc250ef017d3da Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Tue, 25 Nov 2008 11:49:35 +0000
Subject: [PATCH] If pg_ctl stop fails, print an error message and exit
 (instead of going out of our way to ignore the exit status).  If this ever
 really happens, worst case you will not see the "score" at the bottom of the
 test run.

---
 src/test/regress/pg_regress.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index fc28ab3adab..d063602c7e6 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.50 2008/11/20 15:03:39 mha Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.51 2008/11/25 11:49:35 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -280,7 +280,14 @@ stop_postmaster(void)
 		snprintf(buf, sizeof(buf),
 				 SYSTEMQUOTE "\"%s/pg_ctl\" stop -D \"%s/data\" -s -m fast" SYSTEMQUOTE,
 				 bindir, temp_install);
-		r = system(buf);			/* ignore exit status. Store in variable to silence gcc */
+		r = system(buf);
+		if (r != 0)
+		{
+			fprintf(stderr, _("\n%s: could not stop postmaster: exit code was %d\n"),
+					progname, r);
+			exit(2);   /* not exit_nicely(), that would be recursive */
+		}
+
 		postmaster_running = false;
 	}
 }
-- 
GitLab