blob: c313565fb4b73371f5ff97750b5d431799ead3b3 (
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
|
#! /bin/sh
# src/test/mb/mbregress.sh
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 results ];then
mkdir results
fi
dropdb --if-exists utf8
createdb -T template0 -l C -E UTF8 utf8 || exit 1
PSQL="psql -X -n -e -q"
# in the test list, client-only encodings must follow the server encoding
# they're to be tested with; see hard-coded cases below
tests="euc_jp sjis euc_kr euc_cn euc_tw big5 utf8 gb18030 mule_internal"
EXITCODE=0
unset PGCLIENTENCODING
for i in $tests
do
$ECHO_N "${i} .. " $ECHO_C
if [ $i = sjis ];then
PGCLIENTENCODING=SJIS
export PGCLIENTENCODING
$PSQL euc_jp < sql/sjis.sql > results/sjis.out 2>&1
unset PGCLIENTENCODING
elif [ $i = big5 ];then
PGCLIENTENCODING=BIG5
export PGCLIENTENCODING
$PSQL euc_tw < sql/big5.sql > results/big5.out 2>&1
unset PGCLIENTENCODING
elif [ $i = gb18030 ];then
PGCLIENTENCODING=GB18030
export PGCLIENTENCODING
$PSQL utf8 < sql/gb18030.sql > results/gb18030.out 2>&1
unset PGCLIENTENCODING
else
dropdb $i >/dev/null 2>&1
createdb -T template0 -l C -E `echo $i | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` $i >/dev/null
$PSQL $i < sql/${i}.sql > results/${i}.out 2>&1
fi
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 ]
then
( diff -C3 ${EXPECTED} results/${i}.out; \
echo ""; \
echo "----------------------"; \
echo "" ) >> regression.diffs
echo failed
EXITCODE=1
else
echo ok
fi
done
exit $EXITCODE
|