]> granicus.if.org Git - postgresql/commitdiff
pgtest: run clean, build, and check stages separately
authorBruce Momjian <bruce@momjian.us>
Sat, 28 Jul 2018 19:34:06 +0000 (15:34 -0400)
committerBruce Momjian <bruce@momjian.us>
Sat, 28 Jul 2018 19:34:06 +0000 (15:34 -0400)
This allows for cleaner error reporting.

Backpatch-through: 9.5

src/tools/pgtest

index b16a798470b1b109df6e956b61902dff43e92dcb..70f6a62ad02e404427771a485ed89ce931c2cf8d 100755 (executable)
@@ -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