Re: More business with $Test::Builder::Level in the TAP tests - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: More business with $Test::Builder::Level in the TAP tests
Date
Msg-id YV5TNZTq0W+kELTR@paquier.xyz
Whole thread Raw
In response to Re: More business with $Test::Builder::Level in the TAP tests  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: More business with $Test::Builder::Level in the TAP tests  (Daniel Gustafsson <daniel@yesql.se>)
Re: More business with $Test::Builder::Level in the TAP tests  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
On Wed, Oct 06, 2021 at 07:33:22AM -0400, Andrew Dunstan wrote:
> We should probably state a requirement for this somewhere. Maybe in
> src/test/perl/README. AIUI, the general rule is that any subroutine that
> directly or indirectly calls ok() and friends should increase the level.
> Such subroutines that don't increase it should probably contain a
> comment stating why, so we can know in future that it's not just an
> oversight.

That makes sense.  How about something like that after the part about
Test::More::like and qr// in the section about writing tests?  Here it
is:
+Test::Builder::Level controls how far up in the call stack a test will look
+at when reporting a failure.  This should be incremented by any subroutine
+calling test routines from Test::More, like ok() or is():
+
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: BUG #17212: pg_amcheck fails on checking temporary relations
Next
From: Michael Paquier
Date:
Subject: Re: ALTER INDEX .. RENAME allows to rename tables/views as well