Обсуждение: making the testsuite installable

Поиск
Список
Период
Сортировка

making the testsuite installable

От
Pavel Raiskup
Дата:
Hello all.

My issue with current testsuite solution:

  The testsuite requires 'root' account.  Thats needed because successful run
  requires PostgreSQL properly configured and running.  This is hardly
  achievable during package build because (e.g. in Fedora) we build packages
  under non-privileged user.

  Running git testsuite against distributed psqlodbc is not comfortable so
  I doubt users run the testsuite.  Running the testsuite automatically is
  not trivial.

It would be really nice to have the testsuite installed with 'make
install'.  That would allow us to package the testsuite as separated
(sub)package and distribute it to end-users (who should be able to have
enough privileges).  It would also allow me to write privileged scripts
for downstream testing.

Would you be interested in patches implementing this? ..
* adding option ./configure --enable-dist-tests (default off)
* make tests sub-directory autoreconfed

Pavel



Re: making the testsuite installable

От
Christoph Berg
Дата:
Re: Pavel Raiskup 2014-11-18 <13115650.4ECf6iphU0@nb.usersys.redhat.com>
> Hello all.
>
> My issue with current testsuite solution:
>
>   The testsuite requires 'root' account.  Thats needed because successful run
>   requires PostgreSQL properly configured and running.  This is hardly
>   achievable during package build because (e.g. in Fedora) we build packages
>   under non-privileged user.
>
>   Running git testsuite against distributed psqlodbc is not comfortable so
>   I doubt users run the testsuite.  Running the testsuite automatically is
>   not trivial.
>
> It would be really nice to have the testsuite installed with 'make
> install'.  That would allow us to package the testsuite as separated
> (sub)package and distribute it to end-users (who should be able to have
> enough privileges).  It would also allow me to write privileged scripts
> for downstream testing.

The Debian package uses a temporary cluster created by the buildd user
to run the tests:
http://anonscm.debian.org/cgit/pkg-postgresql/psqlodbc.git/tree/debian/tests/buildtime

pg_virtualenv is at
https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/view/head:/pg_virtualenv

> Would you be interested in patches implementing this? ..
> * adding option ./configure --enable-dist-tests (default off)
> * make tests sub-directory autoreconfed

We have some troubles here too because we are building out-of-tree,
while the testsuite is run in tree, but so far this worked:

clean::
        # tests are run in tree, while configure is OOT
        $(MAKE) -C test -f Makefile.in distclean PG_CONFIG=pg_config

Christoph
--
cb@df7cb.de | http://www.df7cb.de/


Re: making the testsuite installable

От
Pavel Raiskup
Дата:
On Tuesday 18 of November 2014 10:29:29 Christoph Berg wrote:
> Re: Pavel Raiskup 2014-11-18 <13115650.4ECf6iphU0@nb.usersys.redhat.com>
> > It would be really nice to have the testsuite installed with 'make
> > install'.  That would allow us to package the testsuite as separated
> > (sub)package and distribute it to end-users (who should be able to have
> > enough privileges).  It would also allow me to write privileged scripts
> > for downstream testing.
>
> The Debian package uses a temporary cluster created by the buildd user
> to run the tests:
> http://anonscm.debian.org/cgit/pkg-postgresql/psqlodbc.git/tree/debian/tests/buildtime
>
> pg_virtualenv is at
> https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/view/head:/pg_virtualenv
>
> > Would you be interested in patches implementing this? ..
> > * adding option ./configure --enable-dist-tests (default off)
> > * make tests sub-directory autoreconfed
>
> We have some troubles here too because we are building out-of-tree,
> while the testsuite is run in tree, but so far this worked:

Thanks a lot for the links, Christoph.  I think about something similar,
though making the upstream distribution tarball more friendly could make
it lot easier.  Especially for end-user testing.

Pavel