diff --git a/src/bin/pg_validatebackup/t/003_corruption.pl b/src/bin/pg_validatebackup/t/003_corruption.pl index 416bc9194f0..7a09d02e6c7 100644 --- a/src/bin/pg_validatebackup/t/003_corruption.pl +++ b/src/bin/pg_validatebackup/t/003_corruption.pl @@ -80,6 +80,7 @@ my @scenario = ( { 'name' => 'open_directory_fails', 'mutilate' => \&mutilate_open_directory_fails, + 'cleanup' => \&cleanup_open_directory_fails, 'fails_like' => qr/could not open directory/, 'skip_on_windows' => 1 }, @@ -245,6 +246,15 @@ sub mutilate_open_directory_fails return; } +# restore permissions on the unreadable directory we created. +sub cleanup_open_directory_fails +{ + my ($backup_path) = @_; + my $pathname = "$backup_path/pg_subtrans"; + chmod(0700, $pathname) || die "chmod $pathname: $!"; + return; +} + # Create a directory that can't be searched. (This is skipped on Windows.) sub mutilate_search_directory_fails {