Commit 38ff135d authored by Michael Paquier's avatar Michael Paquier

Cleanup some code related to pgbench log checks in TAP tests

This fixes a couple of problems within the so-said code of this commit
subject:
- Replace the use of open() with slurp_file(), fixing an issue reported
by buildfarm member fairywren whose perl installation keep around CRLF
characters, causing the matching patterns for the logs to fail.
- Remove the eval block, which is not really necessary.

This set of issues has come into light after fixing a different issue
with c13585fe, and this is wrong since this code has been introduced.

Reported-by: Andrew Dunstan, and buildfarm member fairywren
Author: Michael Paquier
Reviewed-by: Andrew Dunstan
Discussion: https://postgr.es/m/0f49303e-7784-b3ee-200b-cbf67be2eb9e@dunslane.net
Backpatch-through: 11
parent 3af10943
...@@ -1193,28 +1193,27 @@ sub check_pgbench_logs ...@@ -1193,28 +1193,27 @@ sub check_pgbench_logs
my $log_number = 0; my $log_number = 0;
for my $log (sort @logs) for my $log (sort @logs)
{ {
eval { # Check the contents of each log file.
open my $fh, '<', $log or die "$@"; my $contents_raw = slurp_file($log);
my @contents = <$fh>;
my $clen = @contents; my @contents = split(/\n/, $contents_raw);
ok( $min <= $clen && $clen <= $max, my $clen = @contents;
"transaction count for $log ($clen)"); ok( $min <= $clen && $clen <= $max,
my $clen_match = grep(/$re/, @contents); "transaction count for $log ($clen)");
ok($clen_match == $clen, "transaction format for $prefix"); my $clen_match = grep(/$re/, @contents);
# Show more information if some logs don't match ok($clen_match == $clen, "transaction format for $prefix");
# to help with debugging.
if ($clen_match != $clen) # Show more information if some logs don't match
# to help with debugging.
if ($clen_match != $clen)
{
foreach my $log (@contents)
{ {
foreach my $log (@contents) print "# Log entry not matching: $log\n"
{ unless $log =~ /$re/;
print "# Log entry not matching: $log\n"
unless $log =~ /$re/;
}
} }
close $fh or die "$@"; }
};
} }
ok(unlink(@logs), "remove log files");
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment