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

#!/bin/sh

set -e
set -x

### Setup tests

find cubicweb -type d -name 'test' | while read dir; do
	mkdir -p "$AUTOPKGTEST_TMP"/$(dirname "$dir")
	cp -r "$dir" "$AUTOPKGTEST_TMP/$dir"
done
chown -R nobody:nogroup "$AUTOPKGTEST_TMP"

### Find PostgreSQL binaries

POSTGRESQL_BINDIR=$(find /usr/lib/postgresql -type f -name 'initdb' -printf "%h\n" | head -n 1)
test "$POSTGRESQL_BINDIR" || { echo "Unable to find 'initdb'" >&2; exit 1; }

### Run tests

for py in $(py3versions -r 2>/dev/null); do
	cd "$AUTOPKGTEST_TMP"
	echo "Testing with $py:"
	su nobody --shell /bin/sh \
		-c "env PATH='$PATH:$POSTGRESQL_BINDIR' $py -m pytest -v"
done