aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2025-01-23 16:03:48 +0900
committerMichael Paquier <michael@paquier.xyz>2025-01-23 16:03:48 +0900
commiteef4a33f62f7300765b5ffa8c966fa2fba50d176 (patch)
tree6bfc2785fe4b88873ff8414ac7174cf5be0cf44b
parent858b4db378f2ba1dacd078b3b052027c3518fd13 (diff)
downloadpostgresql-eef4a33f62f7300765b5ffa8c966fa2fba50d176.tar.gz
postgresql-eef4a33f62f7300765b5ffa8c966fa2fba50d176.zip
Add error pattern checks for some TAP tests for non-existing objects
Some tests are updated to use command_fails_like(), gaining a check for the error output generated. The test changed in pg_amcheck has come up after noticing that an incorrect option name still made the test to pass, while the command failed. The three other tests changed in src/bin/scripts/ have been noticed by me, in passing. Author: Dagfinn Ilmari Mannsåker, Michael Paquier Discussion: https://postgr.es/m/87bjvy50cs.fsf@wibble.ilmari.org
-rw-r--r--src/bin/pg_amcheck/t/002_nonesuch.pl5
-rw-r--r--src/bin/scripts/t/010_clusterdb.pl4
-rw-r--r--src/bin/scripts/t/050_dropdb.pl4
-rw-r--r--src/bin/scripts/t/070_dropuser.pl4
4 files changed, 13 insertions, 4 deletions
diff --git a/src/bin/pg_amcheck/t/002_nonesuch.pl b/src/bin/pg_amcheck/t/002_nonesuch.pl
index f6011d000b7..2697f1c1b1a 100644
--- a/src/bin/pg_amcheck/t/002_nonesuch.pl
+++ b/src/bin/pg_amcheck/t/002_nonesuch.pl
@@ -85,7 +85,10 @@ $node->command_checks_all(
# Failing to connect to the initial database due to bad username is an error.
$node->command_checks_all(
[ 'pg_amcheck', '--username' => 'no_such_user', 'postgres' ],
- 1, [qr/^$/], [], 'checking with a non-existent user');
+ 1,
+ [qr/^$/],
+ [qr/role "no_such_user" does not exist/],
+ 'checking with a non-existent user');
#########################################
# Test checking databases without amcheck installed
diff --git a/src/bin/scripts/t/010_clusterdb.pl b/src/bin/scripts/t/010_clusterdb.pl
index a4e4d468578..65a32b6c4c5 100644
--- a/src/bin/scripts/t/010_clusterdb.pl
+++ b/src/bin/scripts/t/010_clusterdb.pl
@@ -21,7 +21,9 @@ $node->issues_sql_like(
qr/statement: CLUSTER;/,
'SQL CLUSTER run');
-$node->command_fails([ 'clusterdb', '--table' => 'nonexistent' ],
+$node->command_fails_like(
+ [ 'clusterdb', '--table' => 'nonexistent' ],
+ qr/relation "nonexistent" does not exist/,
'fails with nonexistent table');
$node->safe_psql('postgres',
diff --git a/src/bin/scripts/t/050_dropdb.pl b/src/bin/scripts/t/050_dropdb.pl
index 9db0345119f..d0bf4924ce4 100644
--- a/src/bin/scripts/t/050_dropdb.pl
+++ b/src/bin/scripts/t/050_dropdb.pl
@@ -28,7 +28,9 @@ $node->issues_sql_like(
qr/statement: DROP DATABASE foobar2 WITH \(FORCE\);/,
'SQL DROP DATABASE (FORCE) run');
-$node->command_fails([ 'dropdb', 'nonexistent' ],
+$node->command_fails_like(
+ [ 'dropdb', 'nonexistent' ],
+ qr/database "nonexistent" does not exist/,
'fails with nonexistent database');
# check that invalid database can be dropped with dropdb
diff --git a/src/bin/scripts/t/070_dropuser.pl b/src/bin/scripts/t/070_dropuser.pl
index 2c432fbdb63..5f100978446 100644
--- a/src/bin/scripts/t/070_dropuser.pl
+++ b/src/bin/scripts/t/070_dropuser.pl
@@ -22,7 +22,9 @@ $node->issues_sql_like(
qr/statement: DROP ROLE regress_foobar1/,
'SQL DROP ROLE run');
-$node->command_fails([ 'dropuser', 'regress_nonexistent' ],
+$node->command_fails_like(
+ [ 'dropuser', 'regress_nonexistent' ],
+ qr/role "regress_nonexistent" does not exist/,
'fails with nonexistent user');
done_testing();