Re: Convert sepgsql tests to TAP - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Convert sepgsql tests to TAP
Date
Msg-id 559462.1737760111@sss.pgh.pa.us
Whole thread Raw
In response to Re: Convert sepgsql tests to TAP  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Convert sepgsql tests to TAP
List pgsql-hackers
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.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Convert sepgsql tests to TAP
Next
From: Robins Tharakan
Date:
Subject: Re: Convert sepgsql tests to TAP