Thread: Install pg_regress script to support PGXS?

Install pg_regress script to support PGXS?

From
Tom Lane
Date:
While testing the recent pgxs patch, I noticed that you can build and
install contrib with PGXS:cd contribgmake USE_PGXS=1 allgmake USE_PGXS=1 install
It seems that it ought to work to run installcheck too:gmake USE_PGXS=1 installcheck
but this does not quite work because the pg_regress script isn't
included in the installation tree.  (If you copy it to where it'd
need to be, installcheck works.)

Is it worth including pg_regress in the installation to make this
work?  Seems like it might be handy for external modules to be able
to run self-tests.
        regards, tom lane


Re: Install pg_regress script to support PGXS?

From
Fabien COELHO
Date:
Dear Tom,

> While testing the recent pgxs patch, I noticed that you can build and
> install contrib with PGXS:
> ...
> It seems that it ought to work to run installcheck too:
>     gmake USE_PGXS=1 installcheck
> but this does not quite work because the pg_regress script isn't
> included in the installation tree.  (If you copy it to where it'd
> need to be, installcheck works.)
>
> Is it worth including pg_regress in the installation to make this
> work?  Seems like it might be handy for external modules to be able
> to run self-tests.

Indeed, I noticed this when I did pgxs;-) It is on my todo list for 
postgresql, but I haven't had time much time this year to contribute 
anything.

The reason it was not included at first is that it seemed to me that 
selftests require a temporary installation which make sense easilly when 
building from sources, but I was not sure about what would be really 
needed for the feature out of the compilation tree (special conf files, 
diff/comparison commands...). I was planning to investigate the details, 
but if the pg_regress command is enough, that was a little bit stupid of 
me not to do it directly. ISTM that the pg_regress command is not compiled 
by default, only under "make test", so it should be added to the default 
compilation?

-- 
Fabien.


Re: Install pg_regress script to support PGXS?

From
Alvaro Herrera
Date:
On Thu, Sep 29, 2005 at 03:24:15PM +0200, Fabien COELHO wrote:
> 
> Dear Tom,
> 
> >While testing the recent pgxs patch, I noticed that you can build and
> >install contrib with PGXS:
> >...
> >It seems that it ought to work to run installcheck too:
> >    gmake USE_PGXS=1 installcheck
> >but this does not quite work because the pg_regress script isn't
> >included in the installation tree.  (If you copy it to where it'd
> >need to be, installcheck works.)
> >
> >Is it worth including pg_regress in the installation to make this
> >work?  Seems like it might be handy for external modules to be able
> >to run self-tests.
> 
> The reason it was not included at first is that it seemed to me that 
> selftests require a temporary installation [...]

The temporary installation is required to run "make check", but not to
run "make installcheck" (which uses the regular installation instead.)
So just including pg_regress is enough, and since it's a small and
useful program, I'd say it's a reasonable thing to do.

(Maybe we should audit it for security problems, just in case the
distributors choose to include it in packages.  The temp file usage for
$TMPFILE looks "predictable," thus maybe it _is_ insecure.  Apparently
it can be made to clobber any existing file owned by whoever runs it.)

-- 
Alvaro Herrera                                http://www.PlanetPostgreSQL.org
"Entristecido, Wutra                     (canción de Las Barreras)
echa a Freyr a rodar
y a nosotros al mar"


Re: Install pg_regress script to support PGXS?

From
Tom Lane
Date:
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> (Maybe we should audit it for security problems, just in case the
> distributors choose to include it in packages.  The temp file usage for
> $TMPFILE looks "predictable," thus maybe it _is_ insecure.  Apparently
> it can be made to clobber any existing file owned by whoever runs it.)

pg_regress already *is* shipped in packages (certainly the RPMs contain it)
so if you see any such problems, please do fix 'em.
        regards, tom lane