Thread: Install pg_regress script to support PGXS?
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
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.
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"
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