3 # src/tools/pgtest [-n] [...]
5 # This runs a build/initdb/regression test suite
7 # This will start a temporary postmaster, so you have to
8 # have enough kernel resources to run two postmasters or
9 # stop your main postmaster before running this script.
11 # Use -n to prevent 'make clean'
15 [ ! -d src
] && echo "This must be run from the top of the PostgreSQL source tree" 1>&2 && exit 1
17 trap "ret=$?; rm -rf /tmp/$$; exit $ret" 0 1 2 3 15
27 rm -f tmp_install
/log
/install.log
29 # Run "make check" and store return code in $TMP/ret.
30 # Display output but also capture it in $TMP/0.
33 then $MAKE "$@" clean
2>&1
34 echo "$?" > "$TMP"/ret
36 if [ "$(cat "$TMP"/ret)" -eq 0 ]
37 then $MAKE "$@" 2>&1 && $MAKE "$@" check
2>&1
38 echo "$?" > "$TMP"/ret
42 # Grab possible warnings from install.log
43 [ -e tmp_install
/log
/install.log
] && cat tmp_install
/log
/install.log
>> "$TMP"/0
45 # If success, display warnings
46 if [ "$(cat "$TMP"/ret)" -eq 0 ]
48 # The following grep's have to be adjusted for your setup because
49 # certain warnings are acceptable.
51 grep -v setproctitle |
53 grep -v yy_flex_realloc
56 # return original make error code
57 exit "$(cat "$TMP"/ret)"