aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-07-18 00:32:42 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-07-18 00:32:42 +0000
commit84e60427259bed6357a6d4559eabeaae11e29a9f (patch)
tree2c20847a8556b4b89ed0c9d8282b15880f4e639e
parent2256d299bba635cc48b94c85fbcf512029fa1314 (diff)
downloadpostgresql-84e60427259bed6357a6d4559eabeaae11e29a9f.tar.gz
postgresql-84e60427259bed6357a6d4559eabeaae11e29a9f.zip
Make pg_regress a tad simpler and more general-purpose by removing its
code to forcibly drop regressuser[1-4] and regressgroup[1-2]. Instead, let the privileges.sql test do that for itself (this is made easy by the recent addition of DROP ROLE IF EXISTS). Per a recent patch proposed by Joachim Wieland --- the rest of his patch is superseded by the rewrite into C, but this is a good idea we should adopt.
-rw-r--r--src/test/regress/expected/privileges.out11
-rw-r--r--src/test/regress/pg_regress.sh14
-rw-r--r--src/test/regress/sql/privileges.sql17
3 files changed, 29 insertions, 13 deletions
diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out
index a18116a289c..201e8a11d31 100644
--- a/src/test/regress/expected/privileges.out
+++ b/src/test/regress/expected/privileges.out
@@ -1,6 +1,17 @@
--
-- Test access privileges
--
+-- Clean up in case a prior regression run failed
+-- Suppress NOTICE messages when users/groups don't exist
+SET client_min_messages TO 'error';
+DROP ROLE IF EXISTS regressgroup1;
+DROP ROLE IF EXISTS regressgroup2;
+DROP ROLE IF EXISTS regressuser1;
+DROP ROLE IF EXISTS regressuser2;
+DROP ROLE IF EXISTS regressuser3;
+DROP ROLE IF EXISTS regressuser4;
+RESET client_min_messages;
+-- test proper begins here
CREATE USER regressuser1;
CREATE USER regressuser2;
CREATE USER regressuser3;
diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh
index 90dbdfd333d..f56b737d0bc 100644
--- a/src/test/regress/pg_regress.sh
+++ b/src/test/regress/pg_regress.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.64 2006/01/05 03:01:38 momjian Exp $
+# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.65 2006/07/18 00:32:41 tgl Exp $
me=`basename $0`
: ${TMPDIR=/tmp}
@@ -556,18 +556,6 @@ fi
# ----------
-# Remove regressuser* and regressgroup* user accounts.
-# ----------
-
-message "dropping regression test user accounts"
-"$bindir/psql" -q -X $psql_options -c 'DROP GROUP regressgroup1; DROP GROUP regressgroup2; DROP USER regressuser1, regressuser2, regressuser3, regressuser4;' $dbname 2>/dev/null
-if [ $? -eq 2 ]; then
- echo "$me: could not drop user accounts"
- (exit 2); exit
-fi
-
-
-# ----------
# Install any requested PL languages
# ----------
diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql
index ad08b7968e7..3b96abe87ea 100644
--- a/src/test/regress/sql/privileges.sql
+++ b/src/test/regress/sql/privileges.sql
@@ -2,6 +2,23 @@
-- Test access privileges
--
+-- Clean up in case a prior regression run failed
+
+-- Suppress NOTICE messages when users/groups don't exist
+SET client_min_messages TO 'error';
+
+DROP ROLE IF EXISTS regressgroup1;
+DROP ROLE IF EXISTS regressgroup2;
+
+DROP ROLE IF EXISTS regressuser1;
+DROP ROLE IF EXISTS regressuser2;
+DROP ROLE IF EXISTS regressuser3;
+DROP ROLE IF EXISTS regressuser4;
+
+RESET client_min_messages;
+
+-- test proper begins here
+
CREATE USER regressuser1;
CREATE USER regressuser2;
CREATE USER regressuser3;