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