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-25T02:26:18Z
Lists: pgsql-hackers
On 6/24/21 10:12 PM, Andrew Dunstan wrote:
> On 6/24/21 9:53 PM, Michael Paquier wrote:
>> On Thu, Jun 24, 2021 at 09:36:53PM -0400, Andrew Dunstan wrote:
>>> That's not really an equivalent test. I'm taking a look
>> Thanks!
>
>
>
> There's a whole lot wrong with this code. To start with, why is that
> unchecked eval there. And why is it reading in log files on its own
> instead of using TestLib::slurp_file, which, among other things,
> normalizes line endings? There's a very good chance that this latter is
> the issue. It only affects msys which is why you didn't see an issue on
> MSVC. And also, why does it carefully unlink the log files so that any
> trace of what's gone wrong is deleted?
>
>
> Based on the little I've seen this file needs a serious code review.



... and there's the error:


check_pgbench_logs($bdir, '001_pgbench_log_2', 1, 8, 92,
    qr{^[01] \d{1,2} \d+ \d \d+ \d+$});


and one further down the same.


Since the file isn't read in using slurp_file, that $ won't match
because the lines will end \r\n instead of \n.


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