Package: blacs-mpi
Version: 1.1-33.3
Severity: important
Tags: patch

Hi,

I guess the severity can be bikeshedded at, but I find it important to
exercise the testsuites at build time at least once before a release on
all arches.

Hence, I've written the attached patch that runs the test programs and
checks for failures. It is rather simple, but better than nothing in my
opinion.

If people think this is a good idea, I'look into adapting the patch for
scalapack.

The main question is whether the tests are too big for our smaller
arches, but we won't find out if we don't try it.


Michael
diff -u blacs-mpi-1.1/debian/changelog blacs-mpi-1.1/debian/changelog
--- blacs-mpi-1.1/debian/changelog
+++ blacs-mpi-1.1/debian/changelog
@@ -1,3 +1,10 @@
+blacs-mpi (1.1-33.4) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Run testsuite 
+
+ -- Michael Banck <[email protected]>  Tue, 01 Mar 2016 01:59:46 +0100
+
 blacs-mpi (1.1-33.3) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -u blacs-mpi-1.1/debian/control blacs-mpi-1.1/debian/control
--- blacs-mpi-1.1/debian/control
+++ blacs-mpi-1.1/debian/control
@@ -8,7 +8,7 @@
 Priority: extra
 Maintainer: Muammar El Khatib <[email protected]>
 Standards-Version: 3.9.1
-Build-Depends: debhelper (>= 7), mpi-default-dev (>= 1.0), gfortran, pkg-config
+Build-Depends: debhelper (>= 7), mpi-default-dev (>= 1.0), mpi-default-bin, gfortran, pkg-config
 Homepage: http://www.netlib.org/blacs/
 
 Package: libblacs-openmpi1
diff -u blacs-mpi-1.1/debian/control.in blacs-mpi-1.1/debian/control.in
--- blacs-mpi-1.1/debian/control.in
+++ blacs-mpi-1.1/debian/control.in
@@ -3,7 +3,7 @@
 Priority: extra
 Maintainer: Muammar El Khatib <[email protected]>
 Standards-Version: 3.9.1
-Build-Depends: debhelper (>= 7), mpi-default-dev (>= 1.0), gfortran, pkg-config
+Build-Depends: debhelper (>= 7), mpi-default-dev (>= 1.0), mpi-default-bin, gfortran, pkg-config
 Homepage: http://www.netlib.org/blacs/
 
 Package: libblacs-openmpi1
diff -u blacs-mpi-1.1/debian/rules blacs-mpi-1.1/debian/rules
--- blacs-mpi-1.1/debian/rules
+++ blacs-mpi-1.1/debian/rules
@@ -16,13 +16,13 @@
 
 build: build-$(ARCH_DEFAULT_MPI_IMPL)
 
-build-openmpi: build-stamp-openmpi
+build-openmpi: build-stamp-openmpi check-stamp-openmpi
 
-build-lam: build-stamp-lam
+build-lam: build-stamp-lam check-stamp-lam
 
-build-mpich: build-stamp-mpich
+build-mpich: build-stamp-mpich check-stamp-mpich
 
-build-mpich2: build-stamp-mpich2
+build-mpich2: build-stamp-mpich2 check-stamp-mpich2
 
 patch-stamp:
 	patch -p1 < debian/blacs-mpi-implementations.patch
@@ -193,6 +193,70 @@
 
 	touch build-stamp-mpich2
 
+check-stamp-openmpi:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	dh_testdir
+	if [ -x /usr/bin/mpiexec.openmpi ]; then \
+	  (cd TESTING/EXE; for i in *-openmpi; do \
+	    echo "Running test $$i"; \
+	    LD_LIBRARY_PATH=../../ mpiexec.openmpi -np 4 ./$$i > $$i.log 2>&1 ; \
+	    grep FAILED $$i.log | sed s/DOUBLE// | \
+	    awk '{total += $$4; passed += $$6; skipped += $$8; failed += $$10} END \
+	      {print "total: " total " passed: " passed " skipped: " skipped " failed: " failed ; \
+	      if (failed > 0) {exit 1}}' ; \
+	  done) \
+	fi
+endif
+	touch check-stamp-openmpi
+
+check-stamp-lam:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	dh_testdir
+	if [ -x /usr/bin/mpiexec.lam ]; then \
+	  (cd TESTING/EXE; for i in *-lam; do \
+	    echo "Running test $$i"; \
+	    LD_LIBRARY_PATH=../../ mpiexec.lam -np 4 ./$$i > $$i.log 2>&1 ; \
+	    grep FAILED $$i.log | sed s/DOUBLE// | \
+	    awk '{total += $$4; passed += $$6; skipped += $$8; failed += $$10} END \
+	      {print "total: " total " passed: " passed " skipped: " skipped " failed: " failed ; \
+	      if (failed > 0) {exit 1}}' ; \
+	  done) \
+	fi
+endif
+	touch check-stamp-lam
+
+check-stamp-mpich:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	dh_testdir
+	if [ -x /usr/bin/mpiexec.mpich ]; then \
+	  (cd TESTING/EXE; for i in *-mpich; do \
+	    echo "Running test $$i"; \
+	    LD_LIBRARY_PATH=../../ mpiexec.mpich -np 4 ./$$i > $$i.log 2>&1 ; \
+	    grep FAILED $$i.log | sed s/DOUBLE// | \
+	    awk '{total += $$4; passed += $$6; skipped += $$8; failed += $$10} END \
+	      {print "total: " total " passed: " passed " skipped: " skipped " failed: " failed ; \
+	      if (failed > 0) {exit 1}}' ; \
+	  done) \
+	fi
+endif
+	touch check-stamp-mpich
+
+check-stamp-mpich2:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	dh_testdir
+	if [ -x /usr/bin/mpiexec.mpich2 ]; then \
+	  (cd TESTING/EXE; for i in *-mpich2; do \
+	    echo "Running test $$i"; \
+	    LD_LIBRARY_PATH=../../ mpiexec.mpich2 -np 4 ./$$i > $$i.log 2>&1 ; \
+	    grep FAILED $$i.log | sed s/DOUBLE// | \
+	    awk '{total += $$4; passed += $$6; skipped += $$8; failed += $$10} END \
+	      {print "total: " total " passed: " passed " skipped: " skipped " failed: " failed ; \
+	      if (failed > 0) {exit 1}}' ; \
+	  done) \
+	fi
+endif
+	touch check-stamp-mpich2
+
 clean: unpatch
 	dh_testdir
 	dh_testroot

Reply via email to