regress.sh 2.7 KB
Newer Older
1
#!/bin/sh
2
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.25 1999/04/25 21:56:19 tgl Exp $
3
#
4
if [ $# -eq 0 ]
5
then
6
	echo "Syntax: $0 <portname>"
7 8 9
	exit 1
fi

10
if [ $1 = "win" ]
11 12 13 14 15 16
then
	HOST="-h localhost"
else
	HOST=""
fi

17 18 19 20 21 22 23 24 25
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

26 27 28 29
if [ -d ./obj ]; then
	cd ./obj
fi

30 31
PGTZ="PST8PDT"; export PGTZ
PGDATESTYLE="Postgres,US"; export PGDATESTYLE
B
Bruce Momjian 已提交
32

33
#FRONTEND=monitor
34
FRONTEND="psql $HOST -n -e -q"
35

M
 
Marc G. Fournier 已提交
36
SYSTEM=`../../config.guess awk -F\- '{ split($3,a,/[0-9]/); printf"%s-%s", $1, a[1] }'`
37

38 39
echo "=============== Notes...                              ================="
echo "postmaster must already be running for the regression tests to succeed."
40 41
echo "The time zone is now set to PST8PDT explicitly by this regression test"
echo " client frontend. Please report any apparent problems to"
42 43
echo "   ports@postgresql.org"
echo "See regress/README for more information."
44
echo ""
45

46
echo "=============== destroying old regression database... ================="
47
destroydb $HOST regression
48

49
echo "=============== creating new regression database...   ================="
50
createdb $HOST regression
51 52 53 54 55
if [ $? -ne 0 ]; then
     echo createdb failed
     exit 1
fi

56
echo "=============== running regression queries...         ================="
57
echo "" > regression.diffs
M
 
Marc G. Fournier 已提交
58
if [ -n "$MULTIBYTE" ];then
59 60 61
	mbtests=`echo $MULTIBYTE | tr "[A-Z]" "[a-z]"`
	PGCLIENTENCODING="$MULTIBYTE"
	export PGCLIENTENCODING
M
Marc G. Fournier 已提交
62 63
else
	mbtests=""
64
	unset PGCLIENTENCODING
M
Marc G. Fournier 已提交
65 66
fi
for i in `cat sql/tests` $mbtests
67
do
68
	$ECHO_N "${i} .. " $ECHO_C
69
	$FRONTEND regression < sql/${i}.sql > results/${i}.out 2>&1
70 71
	if [ -f expected/${i}-${SYSTEM}.out ]
	then
72 73 74 75 76
		EXPECTED="expected/${i}-${SYSTEM}.out"
	else
		EXPECTED="expected/${i}.out"
	fi
  
77
	if [ `diff -w ${EXPECTED} results/${i}.out | wc -l` -ne 0 ]
78
	then
M
Marc G. Fournier 已提交
79
		( diff -wC3 ${EXPECTED} results/${i}.out; \
80 81 82
		echo "";  \
		echo "----------------------"; \
		echo "" ) >> regression.diffs
83 84 85 86 87 88
		echo failed
	else
		echo ok
	fi
done
exit
89

90
echo "=============== running error queries ...             ================="
91
$FRONTEND regression < errors.sql
92
# this will generate error result code
93 94 95 96 97 98 99 100

#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
101
echo "=============== clearing regression database...       ================="
102 103 104 105 106 107 108
$FRONTEND regression < destroy.sql
if [ $? -ne 0 ]; then
     echo the destroy script has an error
     exit 1
fi

exit 0
109
echo "=============== destroying regression database...     ================="
110 111 112 113 114 115 116 117
destroydb regression
if [ $? -ne 0 ]; then
     echo destroydb failed
     exit 1
fi

exit 0
fi