Make pg_regress a tad simpler and more general-purpose by removing its
authorTom Lane
Tue, 18 Jul 2006 00:32:42 +0000 (00:32 +0000)
committerTom Lane
Tue, 18 Jul 2006 00:32:42 +0000 (00:32 +0000)
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.

src/test/regress/expected/privileges.out
src/test/regress/pg_regress.sh
src/test/regress/sql/privileges.sql

index a18116a289c9caee71efc7b63c7b15c9b871eb5b..201e8a11d313e3bb465b2a13f2be2bd551c19cf6 100644 (file)
@@ -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;
index 90dbdfd333dd45f5f7f9597011f6f909ff1f9398..f56b737d0bcb5dd74f787e6ad413a0d82c745007 100644 (file)
@@ -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}
@@ -555,18 +555,6 @@ if [ $? -ne 0 ]; then
 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
 # ----------
index ad08b7968e76d4bdc7f8e31b17f0bd06bca67dfe..3b96abe87ea739f10b917c50c97ea59aaf4c4e7c 100644 (file)
@@ -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;