As of version 1.2, Slony-I has a common test bed framework
intended to better support performing a comprehensive set of tests.
The code lives in the source tree under the tests
directory.
Here are some of the vital files...
run_test.sh
This is the central script for running tests. Typical usage is thus:
./run_test.sh
usage ./run_test.sh testname
You need to specify the subdirectory name of the test set to be
run; each such set is stored in a subdirectory of
tests
.
You may need to set one or more of the following environment variables to reflect your local configuration. For instance, the writer runs his “main” test like the following:
PGBINDIR=/opt/OXRS/dbs/pgsql8/bin PGPORT=5532 PGUSER=cbbrowne ./run_test.sh test1
PGBINDIR
This determines where the test scripts look for
PostgreSQL and Slony-I binaries. The default is /usr/local/pgsql/bin
There are also variables PGBINDIR1
thru
PGBINDIR13
which allows you to specify a separate path
for each database instance. That will be particularly useful when
testing interoperability of Slony-I across different versions of
PostgreSQL. In order to create a database of each respective version,
you need to point to an initdb of the
appropriate version.
PGPORT
This indicates what port the backend is on. By default, 5432 is used.
There are also variables PORT1
thru
PORT13
which allows you to specify a separate port
number for each database instance. That will be particularly useful
when testing interoperability of Slony-I across different versions of
PostgreSQL.
PGUSER
By default, the user postgres
is
used; this is taken as the default user ID to use for all of the
databases.
There are also variables USER1
thru
USER13
which allow specifying a separate user name for
each database instance.
HOST
By default, localhost
is used.
There are also variables HOST1
thru
HOST13
which allow specifying a separate host for
each database instance.
DB1
thru DB13
By default, slonyregress1
thru
slonyregress13
are used.
You may override these from the environment.
ENCODING
By default, UNICODE
is used, so
that tests can create UTF8 tables and test the multibyte capabilities.