From 87b2124dfa0782a697ea7b90aff15a6f6117a720 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 25 Jun 2021 09:56:44 +0900 Subject: [PATCH] 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 --- src/bin/pgbench/t/001_pgbench_with_server.pl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/bin/pgbench/t/001_pgbench_with_server.pl b/src/bin/pgbench/t/001_pgbench_with_server.pl index 0cf80aba972..ff5b31d4df1 100644 --- a/src/bin/pgbench/t/001_pgbench_with_server.pl +++ b/src/bin/pgbench/t/001_pgbench_with_server.pl @@ -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 "$@"; }; } -- 2.39.5