Thread: (Perl) script to set up an instance for regression tests

(Perl) script to set up an instance for regression tests

From
Florian Weimer
Date:
For regression tests, I'd like to automatically set up a fresh
PostgreSQL instance.  Has anybody automated the task (initdb, setting
a password, choosing a port at random, starting the server, and after
running the tests, stopping the server and deleting all the
directories)?  I know, it's a straightforward Perl script, but perhaps
someone else has already written it. 8-)

And:

$ fakeroot /usr/lib/postgresql/8.1/bin/postgres -D . postgres
"root" execution of the PostgreSQL server is not permitted.
[...]

This is a major problem when autobuilding Debian packages. 8-(

--
Florian Weimer                <fweimer@bfk.de>
BFK edv-consulting GmbH       http://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99

Re: (Perl) script to set up an instance for regression tests

From
Tom Lane
Date:
Florian Weimer <fweimer@bfk.de> writes:
> For regression tests, I'd like to automatically set up a fresh
> PostgreSQL instance.  Has anybody automated the task (initdb, setting
> a password, choosing a port at random, starting the server, and after
> running the tests, stopping the server and deleting all the
> directories)?

"make check"?

> $ fakeroot /usr/lib/postgresql/8.1/bin/postgres -D . postgres
> "root" execution of the PostgreSQL server is not permitted.
> This is a major problem when autobuilding Debian packages. 8-(

Surely you don't build random packages as root.

            regards, tom lane

Re: (Perl) script to set up an instance for regression tests

From
Florian Weimer
Date:
* Tom Lane:

> Florian Weimer <fweimer@bfk.de> writes:
>> For regression tests, I'd like to automatically set up a fresh
>> PostgreSQL instance.  Has anybody automated the task (initdb, setting
>> a password, choosing a port at random, starting the server, and after
>> running the tests, stopping the server and deleting all the
>> directories)?
>
> "make check"?

Ah, pg_regress.sh is indeed a good start.  Silly me.  Thanks.

>> $ fakeroot /usr/lib/postgresql/8.1/bin/postgres -D . postgres
>> "root" execution of the PostgreSQL server is not permitted.
>> This is a major problem when autobuilding Debian packages. 8-(
>
> Surely you don't build random packages as root.

It's just fakeroot, a user-space emulation of UID=0, using pre-loaded
dynamic shared objects.  Although "fakeroot id -u" returns "0", you
cannot actually execute any operations that require privileges you
haven't got.

--
Florian Weimer                <fweimer@bfk.de>
BFK edv-consulting GmbH       http://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99