Fix some issues with TAP tests of pg_basebackup and pg_verify_checksums
ee9e145 has fixed the tests of pg_basebackup for checksums a first time, still one seek() call missed the shot. Also, the data written in files to emulate corruptions was not actually writing zeros as the quoting style was incorrect. Backpatch the portion for pg_basebackup to v11 where these tests have been introduced. The tests of pg_verify_checksums are new as of v12. Author: Michael Banck Discussion: https://postgr.es/m/1550153276.796.35.camel@credativ.de Backpatch-through: 11
This commit is contained in:
parent
f0cce9fcb5
commit
a916bdc496
@ -499,7 +499,7 @@ my $block_size = $node->safe_psql('postgres', 'SHOW block_size;');
|
||||
system_or_bail 'pg_ctl', '-D', $pgdata, 'stop';
|
||||
open $file, '+<', "$pgdata/$file_corrupt1";
|
||||
seek($file, $pageheader_size, 0);
|
||||
syswrite($file, '\0\0\0\0\0\0\0\0\0');
|
||||
syswrite($file, "\0\0\0\0\0\0\0\0\0");
|
||||
close $file;
|
||||
system_or_bail 'pg_ctl', '-D', $pgdata, 'start';
|
||||
|
||||
@ -518,7 +518,7 @@ for my $i (1 .. 5)
|
||||
{
|
||||
my $offset = $pageheader_size + $i * $block_size;
|
||||
seek($file, $offset, 0);
|
||||
syswrite($file, '\0\0\0\0\0\0\0\0\0');
|
||||
syswrite($file, "\0\0\0\0\0\0\0\0\0");
|
||||
}
|
||||
close $file;
|
||||
system_or_bail 'pg_ctl', '-D', $pgdata, 'start';
|
||||
@ -534,8 +534,8 @@ rmtree("$tempdir/backup_corrupt2");
|
||||
# induce corruption in a second file
|
||||
system_or_bail 'pg_ctl', '-D', $pgdata, 'stop';
|
||||
open $file, '+<', "$pgdata/$file_corrupt2";
|
||||
seek($file, 4000, 0);
|
||||
syswrite($file, '\0\0\0\0\0\0\0\0\0');
|
||||
seek($file, $pageheader_size, 0);
|
||||
syswrite($file, "\0\0\0\0\0\0\0\0\0");
|
||||
close $file;
|
||||
system_or_bail 'pg_ctl', '-D', $pgdata, 'start';
|
||||
|
||||
|
@ -45,7 +45,7 @@ sub check_relation_corruption
|
||||
# Time to create some corruption
|
||||
open my $file, '+<', "$pgdata/$file_corrupted";
|
||||
seek($file, $pageheader_size, 0);
|
||||
syswrite($file, '\0\0\0\0\0\0\0\0\0');
|
||||
syswrite($file, "\0\0\0\0\0\0\0\0\0");
|
||||
close $file;
|
||||
|
||||
# Checksum checks on single relfilenode fail
|
||||
|
Loading…
x
Reference in New Issue
Block a user