pgtest: run clean, build, and check stages separately

This allows for cleaner error reporting.

Backpatch-through: 9.5
This commit is contained in:
Bruce Momjian 2018-07-28 15:34:06 -04:00
parent 244142d32a
commit e2c0df7828
1 changed files with 13 additions and 3 deletions

View File

@ -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