blob: 321f3660bdc8c301f40069ba743558bac921d7e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#!/bin/sh
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.31 1999/07/09 17:57:46 momjian Exp $
#
if [ $# -eq 0 ]
then
echo "Syntax: $0 <portname> [extra-tests]"
exit 1
fi
portname=$1
shift
extratests="$*"
if [ x$portname = "xwin" ]
then
HOST="-h localhost"
else
HOST=""
fi
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
if [ -d ./obj ]; then
cd ./obj
fi
PGTZ="PST8PDT"; export PGTZ
PGDATESTYLE="Postgres,US"; export PGDATESTYLE
#FRONTEND=monitor
FRONTEND="psql $HOST -n -e -q"
SYSTEM=`../../config.guess | awk -F\- '{ split($3,a,/[0-9]/); printf"%s-%s", $1, a[1] }'`
echo "=============== Notes... ================="
echo "postmaster must already be running for the regression tests to succeed."
echo "The time zone is now set to PST8PDT explicitly by this regression test"
echo " client frontend. Please report any apparent problems to"
echo " ports@postgresql.org"
echo "See regress/README for more information."
echo ""
echo "=============== destroying old regression database... ================="
destroydb $HOST regression
echo "=============== creating new regression database... ================="
if [ -n "$MULTIBYTE" ];then
mbtests=`echo $MULTIBYTE | tr "[A-Z]" "[a-z]"`
PGCLIENTENCODING="$MULTIBYTE"
export PGCLIENTENCODING
ENCODINGOPT="-E $MULTIBYTE"
else
mbtests=""
unset PGCLIENTENCODING
ENCODINGOPT=""
fi
createdb $ENCODINGOPT $HOST regression
if [ $? -ne 0 ]; then
echo createdb failed
exit 1
fi
echo "=============== installing PL/pgSQL... ================="
createlang $HOST plpgsql regression
if [ $? -ne 0 -a $? -ne 2 ]; then
echo createlang failed
exit 1
fi
echo "=============== running regression queries... ================="
echo "" > regression.diffs
for i in `cat sql/tests` $mbtests $extratests
do
$ECHO_N "${i} .. " $ECHO_C
$FRONTEND regression < sql/${i}.sql > results/${i}.out 2>&1
if [ -f expected/${i}-${SYSTEM}.out ]
then
EXPECTED="expected/${i}-${SYSTEM}.out"
else
EXPECTED="expected/${i}.out"
fi
if [ `diff -w ${EXPECTED} results/${i}.out | wc -l` -ne 0 ]
then
( diff -wC3 ${EXPECTED} results/${i}.out; \
echo ""; \
echo "----------------------"; \
echo "" ) >> regression.diffs
echo failed
else
echo ok
fi
done
exit 0
echo "=============== running error queries ... ================="
$FRONTEND regression < errors.sql
# this will generate error result code
#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
echo "=============== clearing regression database... ================="
$FRONTEND regression < destroy.sql
if [ $? -ne 0 ]; then
echo the destroy script has an error
exit 1
fi
exit 0
echo "=============== destroying regression database... ================="
destroydb regression
if [ $? -ne 0 ]; then
echo destroydb failed
exit 1
fi
exit 0
fi
|