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,14 +1193,16 @@ sub check_pgbench_logs ...@@ -1193,14 +1193,16 @@ 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 @contents = split(/\n/, $contents_raw);
my $clen = @contents; my $clen = @contents;
ok( $min <= $clen && $clen <= $max, ok( $min <= $clen && $clen <= $max,
"transaction count for $log ($clen)"); "transaction count for $log ($clen)");
my $clen_match = grep(/$re/, @contents); my $clen_match = grep(/$re/, @contents);
ok($clen_match == $clen, "transaction format for $prefix"); ok($clen_match == $clen, "transaction format for $prefix");
# Show more information if some logs don't match # Show more information if some logs don't match
# to help with debugging. # to help with debugging.
if ($clen_match != $clen) if ($clen_match != $clen)
...@@ -1211,10 +1213,7 @@ sub check_pgbench_logs ...@@ -1211,10 +1213,7 @@ sub check_pgbench_logs
unless $log =~ /$re/; 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