Package: src:openbabel
Version: 3.0.0+dfsg-3
Tags: patch

openbabel autopkg tests areq quiet interesting. Working around the timeout on
arm64 hides the fact that two other tests fail on every non-amd64 architecture.
Also looking at the test output, you see that one test succeeds despites the
python3 binary segfaulting.

Attached is a patch which runs all tests, skips some problematic tests, and runs
all tests before failing.

diff -Nru openbabel-3.0.0+dfsg/debian/changelog openbabel-3.0.0+dfsg/debian/changelog
--- openbabel-3.0.0+dfsg/debian/changelog	2020-01-28 13:35:16.000000000 +0100
+++ openbabel-3.0.0+dfsg/debian/changelog	2020-03-11 12:52:36.000000000 +0100
@@ -1,3 +1,13 @@
+openbabel (3.0.0+dfsg-3ubuntu3) focal; urgency=medium
+
+  * Make the autopkg tests more verbose, don't fail on the first failing test.
+  * Re-enable the tests on arm64.
+  * Skip the test/testroundtrip.py test on all architectures, times out on the
+    buildds.
+  * Skip the testbindings.py and testsym.py tests on non amd64 architectures.
+
+ -- Matthias Klose <d...@ubuntu.com>  Wed, 11 Mar 2020 12:52:36 +0100
+
 openbabel (3.0.0+dfsg-3) unstable; urgency=medium
 
   [ Drew Parsons ]
diff -Nru openbabel-3.0.0+dfsg/debian/tests/python3 openbabel-3.0.0+dfsg/debian/tests/python3
--- openbabel-3.0.0+dfsg/debian/tests/python3	2020-01-28 13:35:16.000000000 +0100
+++ openbabel-3.0.0+dfsg/debian/tests/python3	2020-03-11 12:50:25.000000000 +0100
@@ -1,10 +1,33 @@
 #!/bin/bash
 
-test "$(dpkg --print-architecture)" = arm64 && exit 77
+#test "$(dpkg --print-architecture)" = arm64 && exit 77
 
 sed -i 's/"\.\."/"\/usr"/' test/testbabel.py
 
+arch=$(dpkg --print-architecture)
+fails=
 for TEST in test/test*.py
 do
-    python3 ${TEST}
+    case $TEST in
+      test/testroundtrip.py)
+	echo "Skipping ${TEST} ..."
+	continue;;
+      test/testbindings.py|test/testsym.py)
+	case "$arch" in arm64|armhf|ppc64el|s390x)
+	  echo "Skipping ${TEST} on $arch ..."
+	  continue;;
+	esac;;
+    esac
+    echo "Running ${TEST} ..."
+    if python3 ${TEST}; then
+	:
+    else
+	fails="$fails $TEST"
+    fi
 done
+
+if [ -n "$fails" ]; then
+    echo "Failing tests: $fails"
+    exit 1
+fi
+exit 0

Reply via email to