From 84e60427259bed6357a6d4559eabeaae11e29a9f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 18 Jul 2006 00:32:42 +0000 Subject: [PATCH] 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. --- src/test/regress/expected/privileges.out | 11 +++++++++++ src/test/regress/pg_regress.sh | 14 +------------- src/test/regress/sql/privileges.sql | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index a18116a289..201e8a11d3 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 90dbdfd333..f56b737d0b 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} @@ -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 # ---------- diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index ad08b7968e..3b96abe87e 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; -- GitLab