summaryrefslogtreecommitdiffstats
path: root/debian/tests
diff options
context:
space:
mode:
Diffstat (limited to 'debian/tests')
-rw-r--r--debian/tests/Makefile.regress5
-rw-r--r--debian/tests/control21
-rwxr-xr-xdebian/tests/installcheck41
-rwxr-xr-xdebian/tests/run-testsuite5
4 files changed, 72 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..c05e029
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,21 @@
+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,
+ tzdata-legacy | tzdata (<< 2023c-8),
+ @,
+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