Make changes so that when the diff is done between 'expected' and 'results',

if an operating specific expected file exists, use that for the comparison.
This allows for "legit" differences between results, like the "Result too
large" message vs "Math result not representable" ...

Also, have the failed diffs get output to regression.diffs so that its easy to
view those tests that failed
REL6_4
Marc G. Fournier 28 years ago
parent 9fd18a6785
commit ca5eefb645
  1. 206
      src/test/regress/expected/int2-FreeBSD.out
  2. 302
      src/test/regress/expected/int4-FreeBSD.out
  3. 66
      src/test/regress/expected/oidint2-FreeBSD.out
  4. 66
      src/test/regress/expected/oidint4-FreeBSD.out
  5. 18
      src/test/regress/regress.sh
  6. 0
      src/test/regress/regression.FreeBSD
  7. 2696
      src/test/regress/regression.freebsd
  8. 2794
      src/test/regress/regression.i386_solaris
  9. 3211
      src/test/regress/regression.sparc_solaris

@ -0,0 +1,206 @@
QUERY: CREATE TABLE INT2_TBL(f1 int2);
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('0');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('1234');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('-1234');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('34.5');
ERROR: pg_atoi: error in "34.5": can't parse ".5"
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('32767');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('-32767');
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('100000');
ERROR: pg_atoi: error reading "100000": Result too large
QUERY: INSERT INTO INT2_TBL(f1) VALUES ('asdf');
ERROR: pg_atoi: error in "asdf": can't parse "asdf"
QUERY: SELECT '' AS five, INT2_TBL.*;
five| f1
----+------
| 0
| 1234
| -1234
| 32767
|-32767
(5 rows)
QUERY: SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int2;
four| f1
----+------
| 1234
| -1234
| 32767
|-32767
(4 rows)
QUERY: SELECT '' AS four, i.* FROM INT2_TBL i WHERE i.f1 <> '0'::int4;
four| f1
----+------
| 1234
| -1234
| 32767
|-32767
(4 rows)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int2;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE i.f1 = '0'::int4;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int2;
two| f1
---+------
| -1234
|-32767
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 < '0'::int4;
two| f1
---+------
| -1234
|-32767
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int2;
three| f1
-----+------
| 0
| -1234
|-32767
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 <= '0'::int4;
three| f1
-----+------
| 0
| -1234
|-32767
(3 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int2;
two| f1
---+-----
| 1234
|32767
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT2_TBL i WHERE i.f1 > '0'::int4;
two| f1
---+-----
| 1234
|32767
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int2;
three| f1
-----+-----
| 0
| 1234
|32767
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE i.f1 >= '0'::int4;
three| f1
-----+-----
| 0
| 1234
|32767
(3 rows)
QUERY: SELECT '' AS one, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
one| f1
---+-----
|32767
(1 row)
QUERY: SELECT '' AS three, i.* FROM INT2_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
three| f1
-----+-----
| 0
| 1234
|-1234
(3 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+-----
| 0| 0
| 1234| 2468
| -1234|-2468
| 32767| -2
|-32767| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 2468
| -1234| -2468
| 32767| 65534
|-32767|-65534
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 2
| 1234| 1236
| -1234| -1232
| 32767|-32767
|-32767|-32765
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 2
| 1234| 1236
| -1234| -1232
| 32767| 32769
|-32767|-32765
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+-----
| 0| -2
| 1234| 1232
| -1234|-1236
| 32767|32765
|-32767|32767
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| -2
| 1234| 1232
| -1234| -1236
| 32767| 32765
|-32767|-32769
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 617
| -1234| -617
| 32767| 16383
|-32767|-16383
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT2_TBL i;
five| f1| x
----+------+------
| 0| 0
| 1234| 617
| -1234| -617
| 32767| 16383
|-32767|-16383
(5 rows)

@ -0,0 +1,302 @@
QUERY: CREATE TABLE INT4_TBL(f1 int4);
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('0');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('123456');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('-123456');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('34.5');
ERROR: pg_atoi: error in "34.5": can't parse ".5"
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('2147483647');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('-2147483647');
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('1000000000000');
ERROR: pg_atoi: error reading "1000000000000": Result too large
QUERY: INSERT INTO INT4_TBL(f1) VALUES ('asdf');
ERROR: pg_atoi: error in "asdf": can't parse "asdf"
QUERY: SELECT '' AS five, INT4_TBL.*;
five| f1
----+-----------
| 0
| 123456
| -123456
| 2147483647
|-2147483647
(5 rows)
QUERY: SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int2;
four| f1
----+-----------
| 123456
| -123456
| 2147483647
|-2147483647
(4 rows)
QUERY: SELECT '' AS four, i.* FROM INT4_TBL i WHERE i.f1 <> '0'::int4;
four| f1
----+-----------
| 123456
| -123456
| 2147483647
|-2147483647
(4 rows)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int2;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE i.f1 = '0'::int4;
one|f1
---+--
| 0
(1 row)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int2;
two| f1
---+-----------
| -123456
|-2147483647
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 < '0'::int4;
two| f1
---+-----------
| -123456
|-2147483647
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int2;
three| f1
-----+-----------
| 0
| -123456
|-2147483647
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 <= '0'::int4;
three| f1
-----+-----------
| 0
| -123456
|-2147483647
(3 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int2;
two| f1
---+----------
| 123456
|2147483647
(2 rows)
QUERY: SELECT '' AS two, i.* FROM INT4_TBL i WHERE i.f1 > '0'::int4;
two| f1
---+----------
| 123456
|2147483647
(2 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int2;
three| f1
-----+----------
| 0
| 123456
|2147483647
(3 rows)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE i.f1 >= '0'::int4;
three| f1
-----+----------
| 0
| 123456
|2147483647
(3 rows)
QUERY: SELECT '' AS one, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int2) = '1'::int2;
one| f1
---+----------
|2147483647
(1 row)
QUERY: SELECT '' AS three, i.* FROM INT4_TBL i WHERE (i.f1 % '2'::int4) = '0'::int2;
three| f1
-----+-------
| 0
| 123456
|-123456
(3 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-------
| 0| 0
| 123456| 246912
| -123456|-246912
| 2147483647| -2
|-2147483647| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 * '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-------
| 0| 0
| 123456| 246912
| -123456|-246912
| 2147483647| -2
|-2147483647| 2
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 2
| 123456| 123458
| -123456| -123454
| 2147483647|-2147483647
|-2147483647|-2147483645
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 + '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 2
| 123456| 123458
| -123456| -123454
| 2147483647|-2147483647
|-2147483647|-2147483645
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+----------
| 0| -2
| 123456| 123454
| -123456| -123458
| 2147483647|2147483645
|-2147483647|2147483647
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 - '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+----------
| 0| -2
| 123456| 123454
| -123456| -123458
| 2147483647|2147483645
|-2147483647|2147483647
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int2 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 0
| 123456| 61728
| -123456| -61728
| 2147483647| 1073741823
|-2147483647|-1073741823
(5 rows)
QUERY: SELECT '' AS five, i.f1, i.f1 / '2'::int4 AS x FROM INT4_TBL i;
five| f1| x
----+-----------+-----------
| 0| 0
| 123456| 61728
| -123456| -61728
| 2147483647| 1073741823
|-2147483647|-1073741823
(5 rows)
QUERY: SELECT -2+3 AS one;
one
---
1
(1 row)
QUERY: SELECT 4-2 AS two;
two
---
2
(1 row)
QUERY: SELECT 2- -1 AS three;
three
-----
3
(1 row)
QUERY: SELECT 2 - -2 AS four;
four
----
4
(1 row)
QUERY: SELECT '2'::int2 * '2'::int2 = '16'::int2 / '4'::int2 AS true;
true
----
t
(1 row)
QUERY: SELECT '2'::int4 * '2'::int2 = '16'::int2 / '4'::int4 AS true;
true
----
t
(1 row)
QUERY: SELECT '2'::int2 * '2'::int4 = '16'::int4 / '4'::int2 AS true;
true
----
t
(1 row)
QUERY: SELECT '1000'::int4 < '999'::int4 AS false;
false
-----
f
(1 row)
QUERY: SELECT 4! AS twenty_four;
twenty_four
-----------
24
(1 row)
QUERY: SELECT !!3 AS six;
six
---
6
(1 row)
QUERY: SELECT 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 AS ten;
ten
---
10
(1 row)
QUERY: SELECT 2 + 2 / 2 AS three;
three
-----
3
(1 row)
QUERY: SELECT (2 + 2) / 2 AS two;
two
---
2
(1 row)
QUERY: SELECT dsqrt('64'::float8) AS eight;
eight
-----
8
(1 row)
QUERY: SELECT |/'64'::float8 AS eight;
eight
-----
8
(1 row)
QUERY: SELECT ||/'27'::float8 AS three;
three
-----
3
(1 row)

@ -0,0 +1,66 @@
QUERY: CREATE TABLE OIDINT2_TBL(f1 oidint2);
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('1234/9873');
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('1235/9873');
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('987/-1234');
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('123456');
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('123456/123456');
ERROR: pg_atoi: error reading "123456": Result too large
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('');
QUERY: INSERT INTO OIDINT2_TBL(f1) VALUES ('asdfasd');
ERROR: pg_atoi: error in "asdfasd": can't parse "asdfasd"
QUERY: SELECT '' AS five, OIDINT2_TBL.*;
five|f1
----+---------
|1234/9873
|1235/9873
|987/-1234
|123456/0
|0/0
(5 rows)
QUERY: SELECT '' AS one, o.* FROM OIDINT2_TBL o WHERE o.f1 = '1235/9873';
one|f1
---+---------
|1235/9873
(1 row)
QUERY: SELECT '' AS four, o.* FROM OIDINT2_TBL o WHERE o.f1 <> '1235/9873';
four|f1
----+---------
|1234/9873
|987/-1234
|123456/0
|0/0
(4 rows)
QUERY: SELECT '' AS four, o.* FROM OIDINT2_TBL o WHERE o.f1 <= '1235/9873';
four|f1
----+---------
|1234/9873
|1235/9873
|987/-1234
|0/0
(4 rows)
QUERY: SELECT '' AS three, o.* FROM OIDINT2_TBL o WHERE o.f1 < '1235/9873';
three|f1
-----+---------
|1234/9873
|987/-1234
|0/0
(3 rows)
QUERY: SELECT '' AS two, o.* FROM OIDINT2_TBL o WHERE o.f1 >= '1235/9873';
two|f1
---+---------
|1235/9873
|123456/0
(2 rows)
QUERY: SELECT '' AS one, o.* FROM OIDINT2_TBL o WHERE o.f1 > '1235/9873';
one|f1
---+--------
|123456/0
(1 row)
QUERY: DROP TABLE OIDINT2_TBL;

@ -0,0 +1,66 @@
QUERY: CREATE TABLE OIDINT4_TBL(f1 oidint4);
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('1234/9873');
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('1235/9873');
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('987/-1234');
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('123456');
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('123456/1234568901234567890');
ERROR: pg_atoi: error reading "1234568901234567890": Result too large
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('');
QUERY: INSERT INTO OIDINT4_TBL(f1) VALUES ('asdfasd');
ERROR: pg_atoi: error in "asdfasd": can't parse "asdfasd"
QUERY: SELECT '' AS five, OIDINT4_TBL.*;
five|f1
----+---------
|1234/9873
|1235/9873
|987/-1234
|123456/0
|0/0
(5 rows)
QUERY: SELECT '' AS one, o.* FROM OIDINT4_TBL o WHERE o.f1 = '1235/9873';
one|f1
---+---------
|1235/9873
(1 row)
QUERY: SELECT '' AS four, o.* FROM OIDINT4_TBL o WHERE o.f1 <> '1235/9873';
four|f1
----+---------
|1234/9873
|987/-1234
|123456/0
|0/0
(4 rows)
QUERY: SELECT '' AS four, o.* FROM OIDINT4_TBL o WHERE o.f1 <= '1235/9873';
four|f1
----+---------
|1234/9873
|1235/9873
|987/-1234
|0/0
(4 rows)
QUERY: SELECT '' AS three, o.* FROM OIDINT4_TBL o WHERE o.f1 < '1235/9873';
three|f1
-----+---------
|1234/9873
|987/-1234
|0/0
(3 rows)
QUERY: SELECT '' AS two, o.* FROM OIDINT4_TBL o WHERE o.f1 >= '1235/9873';
two|f1
---+---------
|1235/9873
|123456/0
(2 rows)
QUERY: SELECT '' AS one, o.* FROM OIDINT4_TBL o WHERE o.f1 > '1235/9873';
one|f1
---+--------
|123456/0
(1 row)
QUERY: DROP TABLE OIDINT4_TBL;

@ -1,5 +1,5 @@
#!/bin/sh
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.13 1997/12/16 16:01:05 thomas Exp $
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.14 1998/02/01 11:42:47 scrappy Exp $
#
if echo '\c' | grep -s c >/dev/null 2>&1
then
@ -20,6 +20,8 @@ PGDATESTYLE="Postgres,US"; export PGDATESTYLE
#FRONTEND=monitor
FRONTEND="psql -n -e -q"
SYSTEM=`uname -s`
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"
@ -39,12 +41,24 @@ if [ $? -ne 0 ]; then
fi
echo "=============== running regression queries... ================="
echo "" > regression.${SYSTEM}
for i in `cat sql/tests`
do
$ECHO_N "${i} .. " $ECHO_C
$FRONTEND regression < sql/${i}.sql > results/${i}.out 2>&1
if [ `diff expected/${i}.out results/${i}.out | wc -l` -ne 0 ]
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 -c ${EXPECTED} results/${i}.out; \
echo ""; \
echo "----------------------"; \
echo "" ) >> regression.${SYSTEM}
echo failed
else
echo ok

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save