Re: Convert sepgsql tests to TAP

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
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-24T22:29:27Z
Lists: pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> On 2025-01-24 Fr 4:07 PM, Tom Lane wrote:
>> Looking at the buildfarm client script, it looks to me like it
>> will unconditionally try to run TAP tests in every contrib directory
>> that has a "t" subdirectory.  Up to now, none of those needed to
>> be conditional ... but now we need some more awareness.

> The new TAP test has:

> +if (!$ENV{PG_TEST_EXTRA} || $ENV{PG_TEST_EXTRA} !~ /\bsepgsql\b/)
> +{
> +   plan skip_all =>
> +     'Potentially unsafe test sepgsql not enabled in PG_TEST_EXTRA';
> +}

Yeah, but to get to that point you have to get past "make install",
which requires compiling the code, which will absolutely not work
on these platforms.  alligator and lapwing are not reporting the
relevant log file, but what we do see is an install failure that
could well be down to a compile failure.

> But why is it doing that? On my Ubuntu 22.04 dev instance, this test shows this as expected:

I don't understand how you're compiling on Ubuntu ... does it
have selinux installed?  On a Mac for instance,

$ cd pgsql/contrib/sepgsql/
$ make install
...
In file included from database.c:21:
./sepgsql.h:17:10: fatal error: 'selinux/selinux.h' file not found
   17 | #include <selinux/selinux.h>
      |          ^~~~~~~~~~~~~~~~~~~
1 error generated.


> As of now I'm confused ...

Me too.  The way it looks from here, the farm should be all red,
but it isn't.

			regards, tom lane



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