From d524a11a72d65c96d16e6108387f2a8288ba15a6 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 28 Jul 2018 15:34:06 -0400
Subject: [PATCH] pgtest:  run clean, build, and check stages separately

This allows for cleaner error reporting.

Backpatch-through: 9.5
---
 src/tools/pgtest | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/tools/pgtest b/src/tools/pgtest
index b16a798470b..70f6a62ad02 100755
--- a/src/tools/pgtest
+++ b/src/tools/pgtest
@@ -19,15 +19,25 @@ mkdir /tmp/$$
 TMP="/tmp/$$"
 
 if [ "X$1" != "X-n" ]
-then	PGCLEAN=clean
-else	shift
+then	CLEAN="Y"
+else	CLEAN=""
+	shift
 fi
 
 rm -f tmp_install/log/install.log
 
 # Run "make check" and store return code in $TMP/ret.
 # Display output but also capture it in $TMP/0.
-($MAKE "$@" $PGCLEAN check 2>&1; echo "$?" > $TMP/ret) | tee  $TMP/0
+(
+	if [ "$CLEAN" ]
+	then	$MAKE "$@" clean 2>&1
+		echo "$?" > $TMP/ret
+	fi
+	if [ $(cat $TMP/ret) -eq 0 ]
+	then	$MAKE "$@" 2>&1 && $MAKE "$@" check 2>&1
+		echo "$?" > $TMP/ret
+	fi
+) | tee  $TMP/0
 
 # Grab possible warnings from install.log
 [ -e tmp_install/log/install.log ] && cat tmp_install/log/install.log >> $TMP/0
-- 
GitLab