Fix some issues with TAP tests of pg_basebackup
authorMichael Paquier
Mon, 18 Feb 2019 05:23:44 +0000 (14:23 +0900)
committerMichael Paquier
Mon, 18 Feb 2019 05:23:44 +0000 (14:23 +0900)
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.

Author: Michael Banck
Discussion: https://postgr.es/m/1550153276[email protected]
Backpatch-through: 11

src/bin/pg_basebackup/t/010_pg_basebackup.pl

index 2211d90c6f97105f097fbdf933dbe92ac5a2c0b0..000e09e0a73bc7eddd9a05bc838ab36a01b124f7 100644 (file)
@@ -502,7 +502,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';
 
@@ -521,7 +521,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';
@@ -537,8 +537,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';