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
This commit is contained in:
parent
3af10943ce
commit
38ff135d94
@ -1193,28 +1193,27 @@ sub check_pgbench_logs
|
||||
my $log_number = 0;
|
||||
for my $log (sort @logs)
|
||||
{
|
||||
eval {
|
||||
open my $fh, '<', $log or die "$@";
|
||||
my @contents = <$fh>;
|
||||
my $clen = @contents;
|
||||
ok( $min <= $clen && $clen <= $max,
|
||||
"transaction count for $log ($clen)");
|
||||
my $clen_match = grep(/$re/, @contents);
|
||||
ok($clen_match == $clen, "transaction format for $prefix");
|
||||
# Show more information if some logs don't match
|
||||
# to help with debugging.
|
||||
if ($clen_match != $clen)
|
||||
# Check the contents of each log file.
|
||||
my $contents_raw = slurp_file($log);
|
||||
|
||||
my @contents = split(/\n/, $contents_raw);
|
||||
my $clen = @contents;
|
||||
ok( $min <= $clen && $clen <= $max,
|
||||
"transaction count for $log ($clen)");
|
||||
my $clen_match = grep(/$re/, @contents);
|
||||
ok($clen_match == $clen, "transaction format for $prefix");
|
||||
|
||||
# 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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user