Fix regex searching for page verification failures in tests

The test for finding page verification failures in the logfiles
were missing the /m modifier to make sure it anchors to every
newline in the search space buffer, and not just the last one.

Spotted while adding a test for the recently reported issue with
excessive WAL for unlogged relations.

Author: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Satyanarayana Narlapuram <satyanarlapuram@gmail.com>
Reviewed-by: Ayush Tiwari <ayushtiwari.slg01@gmail.com>
Discussion: https://postgr.es/m/CAHg+QDeGrpZbNZdLjd_T4b43xKEEXZN0HGhkFm-1bkBdyzK7AQ@mail.gmail.com
master
Daniel Gustafsson 1 day ago
parent 9a39056c41
commit 486b9a9b9e
  1. 6
      src/test/modules/test_checksums/t/006_pgbench_single.pl
  2. 12
      src/test/modules/test_checksums/t/007_pgbench_standby.pl
  3. 2
      src/test/modules/test_checksums/t/008_pitr.pl
  4. 2
      src/test/modules/test_checksums/t/009_fpi.pl

@ -211,7 +211,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log (during WAL recovery)"
);
$node_loglocation = -s $node->logfile;
@ -249,7 +249,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log (outside WAL recovery)"
);
$node_loglocation = -s $node->logfile;
@ -276,7 +276,7 @@ my $log =
PostgreSQL::Test::Utils::slurp_file($node->logfile, $node_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log");
$node_loglocation = -s $node->logfile;

@ -270,7 +270,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_primary_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log (during WAL recovery)"
);
$node_primary_loglocation = -s $node_primary->logfile;
@ -299,7 +299,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_standby_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in standby_1 log (during WAL recovery)"
);
$node_standby_loglocation = -s $node_standby->logfile;
@ -341,7 +341,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_primary_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log (outside WAL recovery)"
);
$node_primary_loglocation = -s $node_primary->logfile;
@ -363,7 +363,7 @@ for (my $i = 0; $i < $TEST_ITERATIONS; $i++)
$node_standby_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in standby_1 log (outside WAL recovery)"
);
$node_standby_loglocation = -s $node_standby->logfile;
@ -394,14 +394,14 @@ my $log = PostgreSQL::Test::Utils::slurp_file($node_primary->logfile,
$node_primary_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in primary log");
$node_primary_loglocation = -s $node_primary->logfile;
$log = PostgreSQL::Test::Utils::slurp_file($node_standby->logfile,
$node_standby_loglocation);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in standby_1 log");
$node_standby_loglocation = -s $node_standby->logfile;

@ -186,7 +186,7 @@ $node_pitr->stop;
my $log = PostgreSQL::Test::Utils::slurp_file($node_pitr->logfile, 0);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in pitr log");
done_testing();

@ -58,7 +58,7 @@ $node->stop;
my $log = PostgreSQL::Test::Utils::slurp_file($node->logfile, 0);
unlike(
$log,
qr/page verification failed,.+\d$/,
qr/page verification failed,.+\d$/m,
"no checksum validation errors in server log");
done_testing();

Loading…
Cancel
Save