diff options
Diffstat (limited to 'debian/tests')
-rw-r--r-- | debian/tests/Makefile.regress | 5 | ||||
-rw-r--r-- | debian/tests/control | 20 | ||||
-rwxr-xr-x | debian/tests/installcheck | 41 | ||||
-rwxr-xr-x | debian/tests/run-testsuite | 5 |
4 files changed, 71 insertions, 0 deletions
diff --git a/debian/tests/Makefile.regress b/debian/tests/Makefile.regress new file mode 100644 index 0000000..f01a80a --- /dev/null +++ b/debian/tests/Makefile.regress @@ -0,0 +1,5 @@ +MODULE_big = regress +OBJS = regress.o +PG_CONFIG = pg_config +PGXS = $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..c7406c2 --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,20 @@ +Tests: run-testsuite +Depends: + build-essential, + debhelper, + fakeroot, + hunspell-en-us, + iproute2, + locales-all, + logrotate, + netcat-openbsd, + perl, + procps, + @, +Restrictions: needs-root + +Tests: installcheck +Depends: + build-essential, + @, +Restrictions: allow-stderr diff --git a/debian/tests/installcheck b/debian/tests/installcheck new file mode 100755 index 0000000..fc390ea --- /dev/null +++ b/debian/tests/installcheck @@ -0,0 +1,41 @@ +#!/bin/sh + +set -eux + +SOURCE=$(dpkg-parsechangelog -SSource) +MAJOR=${SOURCE#*-} +top_srcdir=$PWD + +cd src/test/regress + +# compile regress.so +make -f $top_srcdir/debian/tests/Makefile.regress PG_CONFIG=/usr/lib/postgresql/$MAJOR/bin/pg_config with_llvm=no + +# tell regression files that regress.so is not installed +sed -i -e "s;set regresslib :libdir;set regresslib '$PWD';" sql/* expected/* + +# when root, execute testsuite as user postgres since it insists on wiping the tablespace directory +if [ $(id -u) = 0 ]; then + SU="su postgres" +else + SU="sh" +fi + +$SU <<EOF +set -eux + +# create tablespace and results directories +OUTPUT=\$(mktemp -d /tmp/regress.XXXXXX) +trap "rm -rf \$OUTPUT" EXIT + +# run the regression tests +if ! pg_virtualenv -v $MAJOR \ + /usr/lib/postgresql/$MAJOR/lib/pgxs/src/test/regress/pg_regress \ + --schedule=parallel_schedule \ + --outputdir=\$OUTPUT \ + --temp-config=/usr/share/postgresql-common/server/test-with-jit.conf + then + head -100 \$OUTPUT/regression.diffs + exit 1 +fi +EOF diff --git a/debian/tests/run-testsuite b/debian/tests/run-testsuite new file mode 100755 index 0000000..b04ba83 --- /dev/null +++ b/debian/tests/run-testsuite @@ -0,0 +1,5 @@ +#!/bin/sh +set -e + +cd /usr/share/postgresql-common +./testsuite -v 15 |