Re: pgsql: Fix pattern matching logic for logs in TAP tests of pgbench

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-committers@lists.postgresql.org
Date: 2021-06-25T10:12:09Z
Lists: pgsql-hackers
On 6/24/21 11:08 PM, Michael Paquier wrote:
> On Thu, Jun 24, 2021 at 10:26:18PM -0400, Andrew Dunstan wrote:
>> Since the file isn't read in using slurp_file, that $ won't match
>> because the lines will end \r\n instead of \n.
> I did not remember this one with Msys, thanks.  I am not sure that
> there is any need for an eval block here actually once you remove
> open()?  What do you think about something like the attached?


+        # On Msys, filter out any CRLF.
+        $contents_raw =~ s/\r\n/\n/g if $Config{osname} eq 'msys';

This is completely redundant. The whole point is that slurp_file does
exactly this for you.


+        my @contents = split("\n", $contents_raw);

Probably more idiomatic to write split(/\n/,$contents_raw), or
split(/^/, $contents_raw) if you want to keep the line feeds.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Commits

  1. Cleanup some code related to pgbench log checks in TAP tests

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

  3. Fix pattern matching logic for logs in TAP tests of pgbench