On Sat, Nov 20, 2021 at 08:22:14PM -0500, Tom Lane wrote:
> Noah Misch <[email protected]> writes:
> > On Sat, Nov 20, 2021 at 07:50:02PM -0500, Tom Lane wrote:
> >> What I'm inclined to do is temporarily push `dirname $PERL` onto the front
> >> of PATH while running
> >> PGAC_PATH_PROGS(PROVE, prove)
> 
> > Adding to PATH, even briefly, is way too brazen.  You'd need to be sure that
> > PATH is never searched for anything other than "prove", which is hard to
> > ensure in a shell script.
> 
> Hmm.  I kind of doubt that anyone would be selecting a perl in an
> untrustworthy directory --- wouldn't that imply that $blackhat could
> overwrite perl itself?

Typically, but: sticky bit, NFS ACLs, only-formerly-writable directory, etc.

> > I'd be -1 on a back-patch and -0.7 for HEAD.
> 
> I think we need a back-patch of *something*.  It's pure luck that wrasse
> hasn't shown problems already.  I don't want to be rediscovering this
> issue a year from now when somebody back-patches some test requiring
> subtests.

If you want to allow subtests in all branches, $SUBJECT is the thing needing a
back-patch.  By default, they remain banned in back-patches.  Personally, I've
just added a check to my script for converting v15 TAP tests to v14 TAP tests:

#! /bin/sh
# This translates a PostgreSQL 15 TAP test into a PostgreSQL 14 TAP test
sed -i '
  s/PostgreSQL::Test::Cluster/PostgresNode/g
  s/PostgreSQL::Test::Utils/TestLib/g
  s/PostgresNode->new/get_new_node/g
' -- "$@"
grep -w subtest -- "$@"


Reply via email to