Make regression tests safe for autocommit = 'off'.
This commit is contained in:
parent
5a0a79d694
commit
5c6a5fe18b
@ -993,6 +993,7 @@ ERROR: Relation "test" has no column "........pg.dropped.1........"
|
|||||||
copy test from stdin;
|
copy test from stdin;
|
||||||
ERROR: copy: line 1, Extra data after last expected column
|
ERROR: copy: line 1, Extra data after last expected column
|
||||||
lost synchronization with server, resetting connection
|
lost synchronization with server, resetting connection
|
||||||
|
SET autocommit TO 'on';
|
||||||
select * from test;
|
select * from test;
|
||||||
b | c
|
b | c
|
||||||
---+---
|
---+---
|
||||||
|
@ -46,6 +46,7 @@ lost synchronization with server, resetting connection
|
|||||||
COPY x from stdin;
|
COPY x from stdin;
|
||||||
ERROR: copy: line 1, Extra data after last expected column
|
ERROR: copy: line 1, Extra data after last expected column
|
||||||
lost synchronization with server, resetting connection
|
lost synchronization with server, resetting connection
|
||||||
|
SET autocommit TO 'on';
|
||||||
-- various COPY options: delimiters, oids, NULL string
|
-- various COPY options: delimiters, oids, NULL string
|
||||||
COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
|
COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
|
||||||
-- check results of copy in
|
-- check results of copy in
|
||||||
|
@ -41,6 +41,7 @@ INSERT INTO basictest values ('88', 'haha', 'short', '123.1212'); -- Truncate
|
|||||||
COPY basictest (testvarchar) FROM stdin; -- fail
|
COPY basictest (testvarchar) FROM stdin; -- fail
|
||||||
ERROR: copy: line 1, value too long for type character varying(5)
|
ERROR: copy: line 1, value too long for type character varying(5)
|
||||||
lost synchronization with server, resetting connection
|
lost synchronization with server, resetting connection
|
||||||
|
SET autocommit TO 'on';
|
||||||
COPY basictest (testvarchar) FROM stdin;
|
COPY basictest (testvarchar) FROM stdin;
|
||||||
select * from basictest;
|
select * from basictest;
|
||||||
testint4 | testtext | testvarchar | testnumeric
|
testint4 | testtext | testvarchar | testnumeric
|
||||||
@ -122,6 +123,7 @@ INSERT INTO nulltest values ('a', 'b', 'c', NULL); -- Good
|
|||||||
COPY nulltest FROM stdin; --fail
|
COPY nulltest FROM stdin; --fail
|
||||||
ERROR: copy: line 1, CopyFrom: Fail to add null value in not null attribute col3
|
ERROR: copy: line 1, CopyFrom: Fail to add null value in not null attribute col3
|
||||||
lost synchronization with server, resetting connection
|
lost synchronization with server, resetting connection
|
||||||
|
SET autocommit TO 'on';
|
||||||
COPY nulltest FROM stdin;
|
COPY nulltest FROM stdin;
|
||||||
select * from nulltest;
|
select * from nulltest;
|
||||||
col1 | col2 | col3 | col4
|
col1 | col2 | col3 | col4
|
||||||
|
@ -220,6 +220,7 @@ ERROR: atest2: permission denied
|
|||||||
-- privileges on functions, languages
|
-- privileges on functions, languages
|
||||||
-- switch to superuser
|
-- switch to superuser
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC;
|
REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC;
|
||||||
GRANT USAGE ON LANGUAGE sql TO regressuser1; -- ok
|
GRANT USAGE ON LANGUAGE sql TO regressuser1; -- ok
|
||||||
GRANT USAGE ON LANGUAGE c TO PUBLIC; -- fail
|
GRANT USAGE ON LANGUAGE c TO PUBLIC; -- fail
|
||||||
@ -270,6 +271,7 @@ SELECT testfunc1(5); -- ok
|
|||||||
DROP FUNCTION testfunc1(int); -- fail
|
DROP FUNCTION testfunc1(int); -- fail
|
||||||
ERROR: testfunc1: must be owner
|
ERROR: testfunc1: must be owner
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
DROP FUNCTION testfunc1(int); -- ok
|
DROP FUNCTION testfunc1(int); -- ok
|
||||||
-- restore to sanity
|
-- restore to sanity
|
||||||
GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
|
GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
|
||||||
@ -293,6 +295,7 @@ select has_table_privilege(1,'rule');
|
|||||||
ERROR: pg_class_aclcheck: relation 1 not found
|
ERROR: pg_class_aclcheck: relation 1 not found
|
||||||
-- superuser
|
-- superuser
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
select has_table_privilege(current_user,'pg_shadow','select');
|
select has_table_privilege(current_user,'pg_shadow','select');
|
||||||
has_table_privilege
|
has_table_privilege
|
||||||
---------------------
|
---------------------
|
||||||
@ -543,6 +546,7 @@ from (select oid from pg_class where relname = 'atest1') as t1;
|
|||||||
|
|
||||||
-- clean up
|
-- clean up
|
||||||
\c regression
|
\c regression
|
||||||
|
SET autocommit TO 'on';
|
||||||
DROP FUNCTION testfunc2(int);
|
DROP FUNCTION testfunc2(int);
|
||||||
DROP FUNCTION testfunc4(boolean);
|
DROP FUNCTION testfunc4(boolean);
|
||||||
DROP VIEW atestv1;
|
DROP VIEW atestv1;
|
||||||
|
@ -33,5 +33,6 @@ DROP TABLE temptest;
|
|||||||
CREATE TEMP TABLE temptest(col int);
|
CREATE TEMP TABLE temptest(col int);
|
||||||
-- test temp table deletion
|
-- test temp table deletion
|
||||||
\c regression
|
\c regression
|
||||||
|
SET autocommit TO 'on';
|
||||||
SELECT * FROM temptest;
|
SELECT * FROM temptest;
|
||||||
ERROR: Relation "temptest" does not exist
|
ERROR: Relation "temptest" does not exist
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.27 2002/09/04 18:04:57 petere Exp $
|
# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.28 2002/10/19 01:35:43 momjian Exp $
|
||||||
|
|
||||||
me=`basename $0`
|
me=`basename $0`
|
||||||
: ${TMPDIR=/tmp}
|
: ${TMPDIR=/tmp}
|
||||||
@ -420,7 +420,7 @@ fi
|
|||||||
# Set up SQL shell for the test.
|
# Set up SQL shell for the test.
|
||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
PSQL="$bindir/psql -a -q -X $psql_options"
|
PSQL="$bindir/psql -q -X $psql_options"
|
||||||
|
|
||||||
|
|
||||||
# ----------
|
# ----------
|
||||||
@ -473,7 +473,7 @@ fi
|
|||||||
# ----------
|
# ----------
|
||||||
|
|
||||||
message "dropping regression test user accounts"
|
message "dropping regression test user accounts"
|
||||||
"$bindir/psql" $psql_options -c 'drop group regressgroup1; drop group regressgroup2; drop user regressuser1, regressuser2, regressuser3, regressuser4;' $dbname 2>/dev/null
|
"$bindir/psql" $psql_options -c 'SET autocommit TO on;DROP GROUP regressgroup1; DROP GROUP regressgroup2; DROP USER regressuser1, regressuser2, regressuser3, regressuser4;' $dbname 2>/dev/null
|
||||||
if [ $? -eq 2 ]; then
|
if [ $? -eq 2 ]; then
|
||||||
echo "$me: could not drop user accounts"
|
echo "$me: could not drop user accounts"
|
||||||
(exit 2); exit
|
(exit 2); exit
|
||||||
@ -545,12 +545,17 @@ do
|
|||||||
formatted=`echo $1 | awk '{printf "%-20.20s", $1;}'`
|
formatted=`echo $1 | awk '{printf "%-20.20s", $1;}'`
|
||||||
$ECHO_N "test $formatted ... $ECHO_C"
|
$ECHO_N "test $formatted ... $ECHO_C"
|
||||||
|
|
||||||
$PSQL -d "$dbname" <"$inputdir/sql/$1.sql" >"$outputdir/results/$1.out" 2>&1
|
# use awk to properly output backslashes
|
||||||
|
(echo "SET autocommit TO 'on';"; awk 'BEGIN {printf "\\set ECHO all\n"}'; cat "$inputdir/sql/$1.sql") |
|
||||||
|
$PSQL -d "$dbname" >"$outputdir/results/$1.out" 2>&1
|
||||||
else
|
else
|
||||||
# Start a parallel group
|
# Start a parallel group
|
||||||
$ECHO_N "parallel group ($# tests): $ECHO_C"
|
$ECHO_N "parallel group ($# tests): $ECHO_C"
|
||||||
for name do
|
for name do
|
||||||
( $PSQL -d $dbname <"$inputdir/sql/$name.sql" >"$outputdir/results/$name.out" 2>&1
|
(
|
||||||
|
# use awk to properly output backslashes
|
||||||
|
(echo "SET autocommit TO 'on';"; awk 'BEGIN {printf "\\set ECHO all\n"}'; cat "$inputdir/sql/$name.sql") |
|
||||||
|
$PSQL -d $dbname >"$outputdir/results/$name.out" 2>&1
|
||||||
$ECHO_N " $name$ECHO_C"
|
$ECHO_N " $name$ECHO_C"
|
||||||
) &
|
) &
|
||||||
done
|
done
|
||||||
|
@ -718,6 +718,7 @@ copy test("........pg.dropped.1........") to stdout;
|
|||||||
copy test from stdin;
|
copy test from stdin;
|
||||||
10 11 12
|
10 11 12
|
||||||
\.
|
\.
|
||||||
|
SET autocommit TO 'on';
|
||||||
select * from test;
|
select * from test;
|
||||||
copy test from stdin;
|
copy test from stdin;
|
||||||
21 22
|
21 22
|
||||||
|
@ -71,6 +71,7 @@ COPY x from stdin;
|
|||||||
2002 232 40 50 60 70 80
|
2002 232 40 50 60 70 80
|
||||||
\.
|
\.
|
||||||
|
|
||||||
|
SET autocommit TO 'on';
|
||||||
-- various COPY options: delimiters, oids, NULL string
|
-- various COPY options: delimiters, oids, NULL string
|
||||||
COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
|
COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
|
||||||
500000,x,45,80,90
|
500000,x,45,80,90
|
||||||
|
@ -41,6 +41,8 @@ COPY basictest (testvarchar) FROM stdin; -- fail
|
|||||||
notsoshorttext
|
notsoshorttext
|
||||||
\.
|
\.
|
||||||
|
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
COPY basictest (testvarchar) FROM stdin;
|
COPY basictest (testvarchar) FROM stdin;
|
||||||
short
|
short
|
||||||
\.
|
\.
|
||||||
@ -100,6 +102,8 @@ COPY nulltest FROM stdin; --fail
|
|||||||
a b \N d
|
a b \N d
|
||||||
\.
|
\.
|
||||||
|
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
COPY nulltest FROM stdin;
|
COPY nulltest FROM stdin;
|
||||||
a b c \N
|
a b c \N
|
||||||
\.
|
\.
|
||||||
|
@ -147,6 +147,8 @@ SELECT * FROM atestv2; -- fail (even though regressuser2 can access underlying a
|
|||||||
|
|
||||||
-- switch to superuser
|
-- switch to superuser
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC;
|
REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC;
|
||||||
GRANT USAGE ON LANGUAGE sql TO regressuser1; -- ok
|
GRANT USAGE ON LANGUAGE sql TO regressuser1; -- ok
|
||||||
GRANT USAGE ON LANGUAGE c TO PUBLIC; -- fail
|
GRANT USAGE ON LANGUAGE c TO PUBLIC; -- fail
|
||||||
@ -182,6 +184,8 @@ SELECT testfunc1(5); -- ok
|
|||||||
DROP FUNCTION testfunc1(int); -- fail
|
DROP FUNCTION testfunc1(int); -- fail
|
||||||
|
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
DROP FUNCTION testfunc1(int); -- ok
|
DROP FUNCTION testfunc1(int); -- ok
|
||||||
-- restore to sanity
|
-- restore to sanity
|
||||||
GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
|
GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
|
||||||
@ -199,6 +203,8 @@ select has_table_privilege(1,'rule');
|
|||||||
|
|
||||||
-- superuser
|
-- superuser
|
||||||
\c -
|
\c -
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
select has_table_privilege(current_user,'pg_shadow','select');
|
select has_table_privilege(current_user,'pg_shadow','select');
|
||||||
select has_table_privilege(current_user,'pg_shadow','insert');
|
select has_table_privilege(current_user,'pg_shadow','insert');
|
||||||
|
|
||||||
@ -290,6 +296,8 @@ from (select oid from pg_class where relname = 'atest1') as t1;
|
|||||||
-- clean up
|
-- clean up
|
||||||
|
|
||||||
\c regression
|
\c regression
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
DROP FUNCTION testfunc2(int);
|
DROP FUNCTION testfunc2(int);
|
||||||
DROP FUNCTION testfunc4(boolean);
|
DROP FUNCTION testfunc4(boolean);
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ CREATE TEMP TABLE temptest(col int);
|
|||||||
-- test temp table deletion
|
-- test temp table deletion
|
||||||
|
|
||||||
\c regression
|
\c regression
|
||||||
|
SET autocommit TO 'on';
|
||||||
|
|
||||||
SELECT * FROM temptest;
|
SELECT * FROM temptest;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user