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
pull/198/head
Michael Paquier 5 months ago
parent 858b4db378
commit eef4a33f62
  1. 5
      src/bin/pg_amcheck/t/002_nonesuch.pl
  2. 4
      src/bin/scripts/t/010_clusterdb.pl
  3. 4
      src/bin/scripts/t/050_dropdb.pl
  4. 4
      src/bin/scripts/t/070_dropuser.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

@ -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',

@ -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

@ -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();

Loading…
Cancel
Save