diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/recovery/t/020_archive_status.pl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/recovery/t/020_archive_status.pl b/src/test/recovery/t/020_archive_status.pl index 2108d50073a..fe9ac06b32d 100644 --- a/src/test/recovery/t/020_archive_status.pl +++ b/src/test/recovery/t/020_archive_status.pl @@ -248,4 +248,18 @@ my $logfile = slurp_file($standby2->logfile, $log_location); ok( $logfile =~ qr/archiver process shutting down/, 'check shutdown callback of shell archive module'); +# Test that we can enter and leave backup mode without crashes +my ($stderr, $cmdret); +$cmdret = $primary->psql( + 'postgres', + "SELECT pg_backup_start('onebackup'); " + . "SELECT pg_backup_stop();" + . "SELECT pg_backup_start(repeat('x', 1026))", + stderr => \$stderr); +is($cmdret, 3, "psql fails correctly"); +like($stderr, qr/backup label too long/, "pg_backup_start fails gracefully"); +$primary->safe_psql('postgres', + "SELECT pg_backup_start('onebackup'); SELECT pg_backup_stop();"); +$primary->safe_psql('postgres', "SELECT pg_backup_start('twobackup')"); + done_testing(); |
