Re: TAP test utility module 'PG_LSN.pm'

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Craig Ringer <craig(dot)ringer(at)enterprisedb(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: TAP test utility module 'PG_LSN.pm'
Date: 2020-12-01 05:58:44
Message-ID: X8XblBfgLRTOnw/y@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 01, 2020 at 12:03:41PM +0800, Craig Ringer wrote:
> I'd like to share the attached PG_LSN.pm module that I use when
> writing TAP tests. I suggest that it be considered for inclusion in
> core.
>
> It defines a Perl datatype PG_LSN with operator support, so you can
> write things like
>
> cmp_ok($got_lsn, "<", $expected_lsn, "testname")
>
> in TAP tests and get sensible results without any concern for LSN
> representation details, locale, etc. You can subtract LSNs to get a
> byte difference too.

In my experience, any TAP tests making use of LSN operations can just
let the backend do the maths, so I am not much a fan of duplicating
that stuff in a perl module. Wouldn't it be better to add an
equivalent of your add() function in the backend then? That could
also get tested in the main regression test suite.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-12-01 06:01:20 Re: Improving spin-lock implementation on ARM.
Previous Message Hou, Zhijie 2020-12-01 05:45:35 RE: [PATCH] Keeps tracking the uniqueness with UniqueKey