debian/tests/unittest
author Jérémy Bobbio <jeremy.bobbio@irq7.fr>
Wed, 05 Jun 2019 18:35:51 +0200
changeset 12643 c0ff60cd4c1f
child 12683 d77afae12d45
permissions -rw-r--r--
[pkg] Run test suite as part of autopkgtest Add support for autopkgtest. The test “unittest” will run the test suite using pytest. As we need PostgreSQL in the test environment and open network connection, the test is marked with `isolation-container` and requires at least LXC to be run, e.g: autopkgtest -s -- lxc -s autopkgtest-sid
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12643
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     1
#!/bin/sh
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     2
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     3
set -e
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     4
set -x
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     5
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     6
### Setup tests
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     7
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     8
find cubicweb -type d -name 'test' | while read dir; do
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
     9
	mkdir -p "$AUTOPKGTEST_TMP"/$(dirname "$dir")
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    10
	cp -r "$dir" "$AUTOPKGTEST_TMP/$dir"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    11
done
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    12
chown -R nobody:nogroup "$AUTOPKGTEST_TMP"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    13
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    14
### Find PostgreSQL binaries
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    15
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    16
POSTGRESQL_BINDIR=$(find /usr/lib/postgresql -type f -name 'initdb' -printf "%h\n" | head -n 1)
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    17
test "$POSTGRESQL_BINDIR" || { echo "Unable to find 'initdb'" >&2; exit 1; }
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    18
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    19
### Run tests
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    20
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    21
for py in $(py3versions -r 2>/dev/null); do
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    22
	cd "$AUTOPKGTEST_TMP"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    23
	echo "Testing with $py:"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    24
	su nobody --shell /bin/sh \
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    25
		-c "env PATH='$PATH:$POSTGRESQL_BINDIR' $py -m pytest -v"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    26
done