Hi,

not sure whether there will be a lot of discussion on the bug report, so
forwarding here for input. Anybody think this is a good/bad idea?


Michael

----- Forwarded message from Michael Banck <[email protected]> -----

Date: Tue, 1 Mar 2016 02:32:56 +0100
From: Michael Banck <[email protected]>
To: [email protected]
Subject: blacs-mpi: run testsuite
User-Agent: Mutt/1.5.23 (2014-03-12)

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


----- End forwarded message -----

Reply via email to