mirror of
https://github.com/postgres/postgres.git
synced 2025-06-03 00:02:26 -04:00
The original `trap` lines in these scripts are incomplete: in case of any signal, they delete the working directory but let the script run to completion, which is useless because it will only proceed to complain about the working directory being removed. Add `exit` there, with the original exit value (not rm's). Since this is mostly just cosmetic, no backpatch. Discussion: https://postgr.es/m/20220913181002.hzsosy7qkemb7ky7@alvherre.pgsql
58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# src/tools/pgtest [-n] [...]
|
|
|
|
# This runs a build/initdb/regression test suite
|
|
#
|
|
# This will start a temporary postmaster, so you have to
|
|
# have enough kernel resources to run two postmasters or
|
|
# stop your main postmaster before running this script.
|
|
#
|
|
# Use -n to prevent 'make clean'
|
|
|
|
MAKE="make"
|
|
|
|
[ ! -d src ] && echo "This must be run from the top of the PostgreSQL source tree" 1>&2 && exit 1
|
|
|
|
trap "ret=$?; rm -rf /tmp/$$; exit $ret" 0 1 2 3 15
|
|
mkdir /tmp/$$
|
|
TMP="/tmp/$$"
|
|
|
|
if [ "X$1" != "X-n" ]
|
|
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.
|
|
(
|
|
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
|
|
|
|
# If success, display warnings
|
|
if [ $(cat $TMP/ret) -eq 0 ]
|
|
then cat $TMP/0 |
|
|
# The following grep's have to be adjusted for your setup because
|
|
# certain warnings are acceptable.
|
|
grep -i warning |
|
|
grep -v setproctitle |
|
|
grep -v find_rule |
|
|
grep -v yy_flex_realloc
|
|
fi
|
|
|
|
# return original make error code
|
|
exit `cat $TMP/ret`
|