regress.sh 2.3 KB
Newer Older
1
#!/bin/sh
2
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.14 1998/02/01 11:42:47 scrappy Exp $
3
#
4 5 6 7 8 9 10 11 12
if echo '\c' | grep -s c >/dev/null 2>&1
then
	ECHO_N="echo -n"
	ECHO_C=""
else
	ECHO_N="echo"
	ECHO_C='\c'
fi

13 14 15 16
if [ -d ./obj ]; then
	cd ./obj
fi

17 18
PGTZ="PST8PDT"; export PGTZ
PGDATESTYLE="Postgres,US"; export PGDATESTYLE
B
Bruce Momjian 已提交
19

20 21 22
#FRONTEND=monitor
FRONTEND="psql -n -e -q"

23 24
SYSTEM=`uname -s`

25 26
echo "=============== Notes...                              ================="
echo "postmaster must already be running for the regression tests to succeed."
27 28
echo "The time zone is now set to PST8PDT explicitly by this regression test"
echo " client frontend. Please report any apparent problems to"
29 30
echo "   ports@postgresql.org"
echo "See regress/README for more information."
31
echo ""
32

33
echo "=============== destroying old regression database... ================="
34 35
destroydb regression

36
echo "=============== creating new regression database...   ================="
37 38 39 40 41 42
createdb regression
if [ $? -ne 0 ]; then
     echo createdb failed
     exit 1
fi

43
echo "=============== running regression queries...         ================="
44
echo "" > regression.${SYSTEM}
45 46
for i in `cat sql/tests`
do
47
	$ECHO_N "${i} .. " $ECHO_C
48
	$FRONTEND regression < sql/${i}.sql > results/${i}.out 2>&1
49 50 51 52 53 54 55 56
  if [ -f expected/${i}-${SYSTEM}.out ]
  then
		EXPECTED="expected/${i}-${SYSTEM}.out"
	else
		EXPECTED="expected/${i}.out"
	fi
  
	if [ `diff ${EXPECTED} results/${i}.out | wc -l` -ne 0 ]
57
	then
58 59 60 61
		( diff -c ${EXPECTED} results/${i}.out; \
			echo "";  \
			echo "----------------------"; \
			echo "" ) >> regression.${SYSTEM}
62 63 64 65 66 67
		echo failed
	else
		echo ok
	fi
done
exit
68

69
echo "=============== running error queries ...             ================="
70
$FRONTEND regression < errors.sql
71
# this will generate error result code
72 73 74 75 76 77 78 79

#set this to 1 to avoid clearing the database
debug=0

if test "$debug" -eq 1
then
echo Skipping clearing and deletion of the regression database
else
80
echo "=============== clearing regression database...       ================="
81 82 83 84 85 86 87
$FRONTEND regression < destroy.sql
if [ $? -ne 0 ]; then
     echo the destroy script has an error
     exit 1
fi

exit 0
88
echo "=============== destroying regression database...     ================="
89 90 91 92 93 94 95 96
destroydb regression
if [ $? -ne 0 ]; then
     echo destroydb failed
     exit 1
fi

exit 0
fi