debian/tests/unittest
author Jérémy Bobbio <jeremy.bobbio@irq7.fr>
Tue, 09 Jul 2019 11:13:08 +0200
changeset 12684 d464495452aa
parent 12683 d77afae12d45
permissions -rw-r--r--
[pkg] Run all unit tests in autopkgtest We previously forgot to copy `tox.ini` alongside the tests. As this file configures pytest pattern matching rules, we were not running quite a few tests. This is now fixed. The added tests required some adjustments in the Debian dependencies. Sadly, not all tests currently pass. It seems there are some ordering dependencies between the tests in regards to how data are loaded. Fixing this probably would probably be better debugged by ensuring the test suite does not fail when using pytest random-order plugin.
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
12683
d77afae12d45 [pkg] Stop running unit tests from skeleton
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents: 12643
diff changeset
     8
find cubicweb -type d -name 'test' -a '!' -wholename 'cubicweb/skeleton/*' | while read dir; do
12643
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"
12684
d464495452aa [pkg] Run all unit tests in autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents: 12683
diff changeset
    11
	cp tox.ini "$AUTOPKGTEST_TMP"
12643
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    12
done
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    13
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
    14
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    15
### Find PostgreSQL binaries
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    16
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    17
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
    18
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
    19
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    20
### Run tests
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    21
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    22
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
    23
	cd "$AUTOPKGTEST_TMP"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    24
	echo "Testing with $py:"
c0ff60cd4c1f [pkg] Run test suite as part of autopkgtest
Jérémy Bobbio <jeremy.bobbio@irq7.fr>
parents:
diff changeset
    25
	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
    26
		-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
    27
done