Re: Convert sepgsql tests to TAP

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: tharakan@gmail.com, Peter Eisentraut <peter@eisentraut.org>, pgsql-hackers <pgsql-hackers@postgresql.org>, Joe Conway <mail@joeconway.com>, Andreas Karlsson <andreas@proxel.se>
Date: 2025-01-24T23:20:57Z
Lists: pgsql-hackers
On 2025-01-24 Fr 6:08 PM, Tom Lane wrote:
> I wrote:
>> Oh ... wait a second.  After further code reading I see that
>> the BF client sets NO_TEMP_INSTALL if check_install_is_complete
>> succeeds.  So evidently, that is successfully suppressing
>> "make install" on most animals, but not these two.  How come?
> Got it: we can see on alligator that it installs (for instance)
> test_parser.so into
>
> /usr/bin/install -c -m 755  test_parser.so '/home/postgres/proj/build-farm-17/buildroot/HEAD/inst/lib/test_parser.so'
>
> but what check_install_is_complete is looking for is
>
> 		$tmp_loc = "$tmp_loc/$install_dir";
> 		$bindir = "$tmp_loc/bin";
> 		$libdir = "$tmp_loc/lib/postgresql";
> ...
> 	my $res =
> 	  (      (-d $tmp_loc)
> 		  && (-f "$bindir/postgres" || -f "$bindir/postgres.exe")
> 		  && (-f "$libdir/hstore$suffix")
> 		  && (-f "$libdir/test_parser$suffix"));
>
> That is, check_install_is_complete expects to see test_parser.so
> under installdir/lib/postgresql/, but it's actually getting put
> into installdir/lib/ because "postgres" appears earlier in the
> path.  So we're forcing a bunch of useless "make install"s,
> but that was never mission-critical until today.
>
> Unsurprisingly, lapwing is also running under /home/postgres/.
> Apparently no other BF animals are.



Oh, good catch!


I'll go and fix it.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. sepgsql: update TAP test to use fat comma style

  2. Convert sepgsql tests to TAP

  3. meson: Fix sepgsql installation