Re: More business with $Test::Builder::Level in the TAP tests

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-10-07T01:53:57Z
Lists: pgsql-hackers

Attachments

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

Commits

  1. Add more $Test::Builder::Level in the TAP tests

  2. Add missing $Test::Builder::Level settings