mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-31 21:57:23 +02:00
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
6ada4fd066
commit
c4c9c77e56
@ -834,18 +834,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,
|
||||||
ok( grep(/$re/, @contents) == $clen,
|
"transaction count for $log ($clen)");
|
||||||
"transaction format for $prefix");
|
my $clen_match = grep(/$re/, @contents);
|
||||||
close $fh or die "$@";
|
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)
|
||||||
|
{
|
||||||
|
print "# Log entry not matching: $log\n"
|
||||||
|
unless $log =~ /$re/;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ok(unlink(@logs), "remove log files");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user