Add more debugging information with log checks in TAP tests of pgbench

fairywren is not happy with the pattern checks introduced by c13585f.
I am not sure if this outlines a bug in pgbench or if the regex patterns
used in the tests are too restrictive for this buildfarm member's
environment.  This adds more debugging information to show the log
entries that do not match with the expected pattern, to help in finding
out what's happening.  That seems like a good addition in the long-term
anyway as that may not be the only issue in this area.

Discussion: https://postgr.es/m/YNUad2HvgW+6eXyo@paquier.xyz
This commit is contained in:
Michael Paquier 2021-06-25 09:56:44 +09:00
parent 797b0fc0b0
commit 87b2124dfa
1 changed files with 12 additions and 2 deletions

View File

@ -1199,8 +1199,18 @@ sub check_pgbench_logs
my $clen = @contents;
ok( $min <= $clen && $clen <= $max,
"transaction count for $log ($clen)");
ok( grep(/$re/, @contents) == $clen,
"transaction format for $prefix");
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)
{
print "# Log entry not matching: $log\n"
unless $log =~ /$re/;
}
}
close $fh or die "$@";
};
}