regress.sh 3.1 KB
Newer Older
1
#!/bin/sh
2
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.37 2000/01/06 06:40:18 thomas Exp $
3
#
4
if [ $# -eq 0 ]
5
then
6
	echo "Syntax: $0 <portname> [extra-tests]"
7 8 9
	exit 1
fi

10 11 12 13
portname=$1
shift
extratests="$*"

14
if [ x$portname = "xwin" -o x$portname = "xqnx4" ]
15 16 17 18 19 20
then
	HOST="-h localhost"
else
	HOST=""
fi

21 22 23 24 25 26 27 28 29
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

30 31 32 33
if [ -d ./obj ]; then
	cd ./obj
fi

34 35
PGTZ="PST8PDT"; export PGTZ
PGDATESTYLE="Postgres,US"; export PGDATESTYLE
B
Bruce Momjian 已提交
36

37
#FRONTEND=monitor
38
FRONTEND="psql $HOST -n -e -q"
39

40
SYSTEM=`../../config.guess | awk -F\- '{ split($3,a,/[0-9]/); printf"%s-%s", $1, a[1] }'`
41

42 43
echo "=============== Notes...                              ================="
echo "postmaster must already be running for the regression tests to succeed."
44 45
echo "The time zone is set to PST8PDT for these tests by the client frontend."
echo "Please report any apparent problems to ports@postgresql.org"
46
echo "See regress/README for more information."
47
echo ""
48

T
Thomas G. Lockhart 已提交
49
echo "=============== dropping old regression database...   ================="
50
dropdb $HOST regression
51

52
echo "=============== creating new regression database...   ================="
M
 
Marc G. Fournier 已提交
53
if [ -n "$MULTIBYTE" ];then
54 55 56
	mbtests=`echo $MULTIBYTE | tr "[A-Z]" "[a-z]"`
	PGCLIENTENCODING="$MULTIBYTE"
	export PGCLIENTENCODING
57
	ENCODINGOPT="-E $MULTIBYTE"
M
Marc G. Fournier 已提交
58 59
else
	mbtests=""
60
	unset PGCLIENTENCODING
61
	ENCODINGOPT=""
M
Marc G. Fournier 已提交
62
fi
63 64 65 66 67 68
createdb $ENCODINGOPT $HOST regression
if [ $? -ne 0 ]; then
     echo createdb failed
     exit 1
fi

69 70
if [ x$portname != "xqnx4" ]
then
71 72
echo "=============== installing PL/pgSQL...                ================="
createlang $HOST plpgsql regression
73
if [ $? -ne 0 -a $? -ne 2 ]; then
74 75 76
     echo createlang failed
     exit 1
fi
77
fi
78

79 80
echo "=============== running regression queries...         ================="
echo "" > regression.diffs
81

82 83 84 85 86 87 88
if [ x$portname = "xqnx4" ]
then
	DIFFOPT="-b"
else
	DIFFOPT="-w"
fi

89 90 91 92 93 94
stdtests=`awk '
$1=="test"	{ print $2; }
			{}
' < sql/run_check.tests`

for i in $stdtests $mbtests $extratests
95
do
96
	$ECHO_N "${i} .. " $ECHO_C
97
	$FRONTEND regression < sql/${i}.sql > results/${i}.out 2>&1
98 99
	if [ -f expected/${i}-${SYSTEM}.out ]
	then
100 101 102 103 104
		EXPECTED="expected/${i}-${SYSTEM}.out"
	else
		EXPECTED="expected/${i}.out"
	fi
  
105
	if [ `diff ${DIFFOPT} ${EXPECTED} results/${i}.out | wc -l` -ne 0 ]
106
	then
107
		( diff ${DIFFOPT} -C3 ${EXPECTED} results/${i}.out; \
108 109 110
		echo "";  \
		echo "----------------------"; \
		echo "" ) >> regression.diffs
111 112 113 114 115
		echo failed
	else
		echo ok
	fi
done
116 117

exit 0
118

119
echo "=============== running error queries ...             ================="
120
$FRONTEND regression < errors.sql
121
# this will generate error result code
122 123 124 125 126 127 128 129

#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
130
echo "=============== clearing regression database...       ================="
131
$FRONTEND regression < drop.sql
132
if [ $? -ne 0 ]; then
133
     echo the drop script has an error
134 135 136 137
     exit 1
fi

exit 0
T
Thomas G. Lockhart 已提交
138
echo "=============== dropping regression database...       ================="
139
dropdb regression
140
if [ $? -ne 0 ]; then
141
     echo dropdb failed
142 143 144 145 146
     exit 1
fi

exit 0
fi