Re: pg_regress: referencing shared objects from tests

Lists: pgsql-hackers
From: Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM>
To: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_regress: referencing shared objects from tests
Date: 2008-05-28 12:08:14
Message-ID: 483D4B2E.80203@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi,

we would like to be able to use and ship pg_regress and the PostgreSQL
test suite independently of the PostgreSQL build environment, for
testing and maybe even as a separate package to be build and shipped
with the OS for others to test their setup. Does this sound like a sane
and OK thing to do?

I have a problem with one of the tests (create_function_1.source):

---------8<----------------8<----------------8<----------------8<-------
20 CREATE FUNCTION int44out(city_budget)
21 RETURNS cstring
22 AS '@abs_builddir@/regress(at)DLSUFFIX@'
23 LANGUAGE C STRICT;
24
25 CREATE FUNCTION check_primary_key ()
26 RETURNS trigger
27 AS '@abs_builddir@/../../../contrib/spi/refint(at)DLSUFFIX@'
28 LANGUAGE C;
...
35 CREATE FUNCTION autoinc ()
36 RETURNS trigger
37 AS '@abs_builddir@/../../../contrib/spi/autoinc(at)DLSUFFIX@'
38 LANGUAGE C;
---------8<----------------8<----------------8<----------------8<-------

(The ../../../contrib/spi-path does not exist outside of the build
environment, so to be able to run the test you need to have source code,
compilers, ...)

I could work around this problem by copying the needed shared objects to
@abs_builddir@ as part of make or make check, I could add a
“–look-for-shared-objects-here” parameter to pg_regress, and you
probably have other suggestions.

Is this something we want to fix, and what would be the right way to do
it? (I have no problem providing a patch.)

-Jørgen
--

Jørgen Austvik, Software Engineering - QA
Sun Microsystems Database Group

http://blogs.sun.com/austvik, http://www.autvik.net/

Sun Microsystems AS
Haakon VII gt. 7b
N-7485 Trondheim, Norway

Attachment Content-Type Size
jorgen_austvik.vcf text/x-vcard 390 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM>
Cc: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_regress: referencing shared objects from tests
Date: 2008-05-28 14:27:19
Message-ID: 27982.1211984839@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM> writes:
> we would like to be able to use and ship pg_regress and the PostgreSQL
> test suite independently of the PostgreSQL build environment, for
> testing and maybe even as a separate package to be build and shipped
> with the OS for others to test their setup. Does this sound like a sane
> and OK thing to do?

The RPM packages have done this since approximately forever. You might
want to look at the patches used there.

regards, tom lane


From: Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_regress: referencing shared objects from tests
Date: 2008-05-29 12:22:31
Message-ID: 483EA007.4030404@sun.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Tom Lane wrote:
> Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM> writes:
>> we would like to be able to use and ship pg_regress and the PostgreSQL
>> test suite independently of the PostgreSQL build environment, for
>> testing and maybe even as a separate package to be build and shipped
>> with the OS for others to test their setup. Does this sound like a sane
>> and OK thing to do?
>
> The RPM packages have done this since approximately forever. You might
> want to look at the patches used there.

Hi,

yes [1] is the same that we have been using internally.

Let me reformulate my question: would it be better to include something
like the attached patch in PostgreSQL, than have every distributor of
the tests apply it?

[1]
http://cvs.fedoraproject.org/viewcvs/rpms/postgresql/F-9/postgresql-test.patch?rev=1.3&view=auto

-J
--

Jørgen Austvik, Software Engineering - QA
Sun Microsystems Database Technology Group

http://blogs.sun.com/austvik
http://www.austvik.net/

Attachment Content-Type Size
pg_regress_contribdir.patch text/x-patch 3.3 KB
jorgen_austvik.vcf text/x-vcard 418 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM>
Cc: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_regress: referencing shared objects from tests
Date: 2008-05-29 23:19:45
Message-ID: 8641.1212103185@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Jorgen Austvik - Sun Norway <Jorgen(dot)Austvik(at)Sun(dot)COM> writes:
> Tom Lane wrote:
>> The RPM packages have done this since approximately forever. You might
>> want to look at the patches used there.

> yes [1] is the same that we have been using internally.

> Let me reformulate my question: would it be better to include something
> like the attached patch in PostgreSQL, than have every distributor of
> the tests apply it?

> [1]
> http://cvs.fedoraproject.org/viewcvs/rpms/postgresql/F-9/postgresql-test.patch?rev=1.3&view=auto

I never particularly thought it would be useful to push that patch
upstream, but certainly it would make life a tad simpler for Devrim and
me. Since nobody else has objected, I'll look into doing this in HEAD.

regards, tom lane