[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.2-27-g780133c

mysql vizuser noreply at mpich.org
Thu Feb 21 12:30:07 CST 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  780133cd0fc51132438a42a4d013279989dc122b (commit)
       via  8a9a743fcd6423a8bc82097dd6320207c1553395 (commit)
       via  006dd97e9cb3309fa6e863a8a29c13c554e6e526 (commit)
       via  4638b3b3e7ae85c1ae61bcd61bb69eb27b5b522d (commit)
      from  89407ecc99f5b08a6fd44132ae44faa99dc9a71e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/780133cd0fc51132438a42a4d013279989dc122b

commit 780133cd0fc51132438a42a4d013279989dc122b
Author: William Gropp <wgropp at illinois.edu>
Date:   Thu Feb 21 12:28:29 2013 -0600

    More files for user error handler tests

diff --git a/test/mpi/errors/f90/Makefile.am b/test/mpi/errors/f90/Makefile.am
new file mode 100644
index 0000000..1c8b9ed
--- /dev/null
+++ b/test/mpi/errors/f90/Makefile.am
@@ -0,0 +1,13 @@
+# -*- Mode: Makefile; -*-
+# vim: set ft=automake :
+#
+# (C) 2011 by Argonne National Laboratory.
+#     See COPYRIGHT in top-level directory.
+#
+
+include $(top_srcdir)/Makefile_f90.mtest
+
+EXTRA_DIST = testlist
+
+SUBDIRS = errhan
+DIST_SUBDIRS = errhan
diff --git a/test/mpi/errors/f90/testlist b/test/mpi/errors/f90/testlist
new file mode 100644
index 0000000..4723c12
--- /dev/null
+++ b/test/mpi/errors/f90/testlist
@@ -0,0 +1 @@
+errhan

http://git.mpich.org/mpich.git/commitdiff/8a9a743fcd6423a8bc82097dd6320207c1553395

commit 8a9a743fcd6423a8bc82097dd6320207c1553395
Author: William Gropp <wgropp at illinois.edu>
Date:   Thu Feb 21 11:55:25 2013 -0600

    Files that were modified to supprt the tests of user-defined error handlers from Fortran

diff --git a/.gitignore b/.gitignore
index 83a1548..60ce4db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -158,6 +158,8 @@ Makefile.am-stamp
 /test/mpi/f90/ext/stamp-Makefile.am
 /test/mpi/f90/io/Makefile.am
 /test/mpi/f90/rma/Makefile.am
+/test/mpi/errors/f90/errhan/Makefile.am
+/test/mpi/errors/f90/errhan/testlist
 
 # created solely from the f77 counterpart dirs
 /test/mpi/f90/coll/
diff --git a/autogen.sh b/autogen.sh
index cec8ecc..f0a560a 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -866,6 +866,15 @@ if [ -x ./maint/f77tof90 -a $do_f77tof90 = "yes" ] ; then
         maint/f77tof90 $dir test/mpi/f90/$leafDir Makefile.am Makefile.ap
         echo "timestamp" > test/mpi/f90/$leafDir/Makefile.am-stamp
     done
+    for dir in test/mpi/errors/f77/* ; do
+        if [ ! -d $dir ] ; then continue ; fi
+	leafDir=`basename $dir`
+        if [ ! -d test/mpi/errors/f90/$leafDir ] ; then
+	    mkdir test/mpi/errors/f90/$leafDir
+        fi
+        maint/f77tof90 $dir test/mpi/errors/f90/$leafDir Makefile.am Makefile.ap
+        echo "timestamp" > test/mpi/errors/f90/$leafDir/Makefile.am-stamp
+    done
     echo "done"
 fi
 
diff --git a/test/mpi/configure.ac b/test/mpi/configure.ac
index f0da35b..0106e6c 100644
--- a/test/mpi/configure.ac
+++ b/test/mpi/configure.ac
@@ -1406,7 +1406,11 @@ AC_OUTPUT(maint/testmerge \
           errors/cxx/errhan/Makefile \
           errors/cxx/io/Makefile \
           errors/f77/Makefile \
+	  errors/f77/errhan/Makefile \
+          errors/f77/errhan/addsize.h \
+	  errors/f77/errhan/iooffset.h \
           errors/f90/Makefile \
+	  errors/f90/errhan/Makefile \
           manual/Makefile \
           manual/manyconnect \
           manual/mpi_t/Makefile \
diff --git a/test/mpi/errors/f77/Makefile.am b/test/mpi/errors/f77/Makefile.am
index a3becfb..9b9a68a 100644
--- a/test/mpi/errors/f77/Makefile.am
+++ b/test/mpi/errors/f77/Makefile.am
@@ -9,6 +9,6 @@ include $(top_srcdir)/Makefile_f77.mtest
 
 EXTRA_DIST = testlist
 
-# nothing tested in here for now...
-SUBDIRS = 
+SUBDIRS = errhan
+DIST_SUBDIRS = errhan
 
diff --git a/test/mpi/errors/f77/testlist b/test/mpi/errors/f77/testlist
index fd69f0b..4723c12 100644
--- a/test/mpi/errors/f77/testlist
+++ b/test/mpi/errors/f77/testlist
@@ -1 +1 @@
-# Empty for now
+errhan

http://git.mpich.org/mpich.git/commitdiff/006dd97e9cb3309fa6e863a8a29c13c554e6e526

commit 006dd97e9cb3309fa6e863a8a29c13c554e6e526
Author: William Gropp <wgropp at illinois.edu>
Date:   Thu Feb 21 08:59:08 2013 -0600

    Added tests for user-defined error handlers in Fortran

diff --git a/test/mpi/errors/f77/errhan/Makefile.am b/test/mpi/errors/f77/errhan/Makefile.am
new file mode 100644
index 0000000..56f28c1
--- /dev/null
+++ b/test/mpi/errors/f77/errhan/Makefile.am
@@ -0,0 +1,18 @@
+# -*- Mode: Makefile; -*-
+# vim: set ft=automake :
+#
+# (C) 2013 by Argonne National Laboratory.
+#     See COPYRIGHT in top-level directory.
+#
+
+include $(top_srcdir)/Makefile_f77.mtest
+
+EXTRA_DIST = testlist
+
+AM_DEFAULT_SOURCE_EXT = .f
+
+## for all programs that are just built from the single corresponding source
+## file, we don't need per-target _SOURCES rules, automake will infer them
+## correctly
+noinst_PROGRAMS = uerrhandf
+
diff --git a/test/mpi/errors/f77/errhan/addsize.h.in b/test/mpi/errors/f77/errhan/addsize.h.in
new file mode 100644
index 0000000..320b3a5
--- /dev/null
+++ b/test/mpi/errors/f77/errhan/addsize.h.in
@@ -0,0 +1,6 @@
+C -*- Mode: Fortran; -*- 
+C
+C  (C) 2003 by Argonne National Laboratory.
+C      See COPYRIGHT in top-level directory.
+C
+        @F77_MPI_ADDRESS@ asize
diff --git a/test/mpi/errors/f77/errhan/iooffset.h.in b/test/mpi/errors/f77/errhan/iooffset.h.in
new file mode 100644
index 0000000..61cd7c6
--- /dev/null
+++ b/test/mpi/errors/f77/errhan/iooffset.h.in
@@ -0,0 +1,6 @@
+C -*- Mode: Fortran; -*- 
+C
+C  (C) 2003 by Argonne National Laboratory.
+C      See COPYRIGHT in top-level directory.
+C
+        @F77_MPI_OFFSET@ offset
diff --git a/test/mpi/errors/f77/errhan/testlist b/test/mpi/errors/f77/errhan/testlist
new file mode 100644
index 0000000..b98ab00
--- /dev/null
+++ b/test/mpi/errors/f77/errhan/testlist
@@ -0,0 +1 @@
+uerrhandf 1
diff --git a/test/mpi/errors/f77/errhan/uerrhandf.f b/test/mpi/errors/f77/errhan/uerrhandf.f
new file mode 100644
index 0000000..cd3c8bd
--- /dev/null
+++ b/test/mpi/errors/f77/errhan/uerrhandf.f
@@ -0,0 +1,140 @@
+C -*- Mode: Fortran; -*- 
+C
+C  (C) 2013 by Argonne National Laboratory.
+C      See COPYRIGHT in top-level directory.
+C
+      program main
+      implicit none
+      include 'mpif.h'
+      include 'addsize.h'
+      include 'iooffset.h'
+      integer ierr, rank, i
+      integer errs
+      external comm_errh_fn, win_errh_fn, file_errh_fn
+      integer comm_errh, win_errh, file_errh
+      integer winbuf(2), winh, wdup, wdsize, sizeofint, id
+      integer fh, status(MPI_STATUS_SIZE)
+      common /ec/ iseen
+      integer iseen(3)
+      save /ec/
+
+      iseen(1) = 0
+      iseen(2) = 0
+      iseen(3) = 0
+      ierr = -1
+      errs = 0
+      call mtest_init( ierr )
+
+      call mpi_type_size( MPI_INTEGER, sizeofint, ierr )
+
+      call mpi_comm_create_errhandler( comm_errh_fn, comm_errh, ierr )
+      if (ierr .ne. MPI_SUCCESS) then
+         call mtestprinterrormsg( "Comm_create_errhandler:", ierr )
+         errs = errs + 1
+      endif
+      call mpi_win_create_errhandler( win_errh_fn, win_errh, ierr )
+      if (ierr .ne. MPI_SUCCESS) then
+         call mtestprinterrormsg( "Win_create_errhandler:", ierr )
+         errs = errs + 1
+      endif
+      call mpi_file_create_errhandler( file_errh_fn, file_errh, ierr )
+      if (ierr .ne. MPI_SUCCESS) then
+         call mtestprinterrormsg( "File_create_errhandler:", ierr )
+         errs = errs + 1
+      endif
+C
+      call mpi_comm_dup( MPI_COMM_WORLD, wdup, ierr )
+      call mpi_comm_set_errhandler( wdup, comm_errh, ierr )
+      call mpi_comm_size( wdup, wdsize, ierr )
+      call mpi_send( id, 1, MPI_INTEGER, wdsize, -37, wdup, ierr )
+      if (ierr .eq. MPI_SUCCESS) then
+         print *, ' Failed to detect error in use of MPI_SEND'
+         errs = errs + 1
+      else
+         if (iseen(1) .ne. 1) then
+            errs = errs + 1
+            print *, ' Failed to increment comm error counter'
+         endif
+      endif
+
+      call mpi_win_create( winbuf, 2*sizeofint, sizeofint, MPI_INFO_NULL
+     $     , wdup, winh, ierr ) 
+      if (ierr .ne. MPI_SUCCESS) then
+         call mtestprinterrormsg( "Win_create:", ierr )
+         errs = errs + 1
+      endif
+      call mpi_win_set_errhandler( winh, win_errh, ierr )
+      asize = 0
+      call mpi_put( winbuf, 1, MPI_INT, wdsize, asize, 1, MPI_INT, winh,
+     $     ierr )
+      if (ierr .eq. MPI_SUCCESS) then
+         print *, ' Failed to detect error in use of MPI_PUT'
+         errs = errs + 1
+      else
+         if (iseen(3) .ne. 1) then
+            errs = errs + 1
+            print *, ' Failed to increment win error counter'
+         endif
+      endif
+
+      call mpi_file_open( MPI_COMM_SELF, 'ftest', MPI_MODE_CREATE +
+     $     MPI_MODE_RDWR + MPI_MODE_DELETE_ON_CLOSE, MPI_INFO_NULL, fh,
+     $     ierr ) 
+      if (ierr .ne. MPI_SUCCESS) then
+         call mtestprinterrormsg( "File_open:", ierr )
+         errs = errs + 1
+      endif
+      call mpi_file_set_errhandler( fh, file_errh, ierr )
+      offset = -100
+      call mpi_file_read_at( fh, offset, winbuf, 1, MPI_INTEGER, status,
+     $     ierr )
+      if (ierr .eq. MPI_SUCCESS) then
+         print *, ' Failed to detect error in use of MPI_PUT'
+         errs = errs + 1
+      else
+         if (iseen(2) .ne. 1) then
+            errs = errs + 1
+            print *, ' Failed to increment file error counter'
+         endif
+      endif
+
+      call mpi_comm_free( wdup, ierr )
+      call mpi_win_free( winh, ierr )
+      call mpi_file_close( fh, ierr )
+      
+      call mpi_errhandler_free( win_errh, ierr )
+      call mpi_errhandler_free( comm_errh, ierr )
+      call mpi_errhandler_free( file_errh, ierr )
+      
+      call mtest_finalize( errs )
+      call mpi_finalize( ierr )
+      end
+C
+      subroutine comm_errh_fn( comm, ec )
+      integer comm, ec
+      common /ec/ iseen
+      integer iseen(3)
+      save /ec/
+C
+      iseen(1) = iseen(1) + 1
+C
+      end
+C
+      subroutine win_errh_fn( win, ec )
+      integer win, ec
+      common /ec/ iseen
+      integer iseen(3)
+      save /ec/
+C
+      iseen(3) = iseen(3) + 1
+C
+      end
+      subroutine file_errh_fn( fh, ec )
+      integer fh, ec
+      common /ec/ iseen
+      integer iseen(3)
+      save /ec/
+C
+      iseen(2) = iseen(2) + 1
+C
+      end
diff --git a/test/mpi/errors/f90/Makefile.am b/test/mpi/errors/f90/Makefile.am
deleted file mode 100644
index 204a561..0000000
--- a/test/mpi/errors/f90/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- Mode: Makefile; -*-
-# vim: set ft=automake :
-#
-# (C) 2011 by Argonne National Laboratory.
-#     See COPYRIGHT in top-level directory.
-#
-
-include $(top_srcdir)/Makefile_f90.mtest
-
-EXTRA_DIST = testlist
-
-# nothing tested in here for now...
-SUBDIRS = 
-
diff --git a/test/mpi/errors/f90/testlist b/test/mpi/errors/f90/testlist
deleted file mode 100644
index fd69f0b..0000000
--- a/test/mpi/errors/f90/testlist
+++ /dev/null
@@ -1 +0,0 @@
-# Empty for now

http://git.mpich.org/mpich.git/commitdiff/4638b3b3e7ae85c1ae61bcd61bb69eb27b5b522d

commit 4638b3b3e7ae85c1ae61bcd61bb69eb27b5b522d
Author: William Gropp <wgropp at illinois.edu>
Date:   Fri Feb 15 09:24:42 2013 -0600

    Added needed tests based on coverage analysis

diff --git a/test/mpi/ToDo b/test/mpi/ToDo
index 568a3c5..9c971a8 100644
--- a/test/mpi/ToDo
+++ b/test/mpi/ToDo
@@ -128,6 +128,25 @@ items listed here that are already sufficiently tested.
 42. Keyval free (F90 and C++)
 43. Type create indexed block
 44. Type create resized
+45. User-defined error handler invoked:
+   a. On comm from Fortran on communicator
+   b. On win from C++ and Fortran
+46. Error output strings involving:
+   a. MPI_MODE_NOSTORE errors
+   b. MPI_MODE_NOCHECK errors
+   c. MPI_MODE_NOPUT errors
+   d. MPI_MODE_NOSUCCEED errors
+   e. MPI_MODE_NOPRECEED errors
+   f. Unknown assert value in window mode (as above)
+   g. Datatype = 0x0
+   h. MPI_Op = MPI_REPLACE
+   i. MPI_UNDEFINED
+   j. MPI_IN_PLACE
+   k. MPI_FILE_NULL
+   l. MPI_WIN_NULL
+   m. MPI_REQUEST_NULL
+   o. MPI_Count output (Note dangerous and improper assert! in errutil.c!)
+47. Use of "CombineSpecificCodes" (static in file); MPIR_Err_combine_codes
 
 Also, 
 Replace the calls to MPIR_Group_release in Finalize with

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                         |    2 +
 autogen.sh                                         |    9 ++
 test/mpi/ToDo                                      |   19 +++
 test/mpi/configure.ac                              |    4 +
 test/mpi/errors/f77/Makefile.am                    |    4 +-
 test/mpi/errors/{attr => f77/errhan}/Makefile.am   |    8 +-
 .../{f77/rma => errors/f77/errhan}/addsize.h.in    |    0
 .../{f77/io => errors/f77/errhan}/iooffset.h.in    |    0
 test/mpi/errors/f77/errhan/testlist                |    1 +
 test/mpi/errors/f77/errhan/uerrhandf.f             |  140 ++++++++++++++++++++
 test/mpi/errors/f77/testlist                       |    2 +-
 test/mpi/errors/f90/Makefile.am                    |    5 +-
 test/mpi/errors/f90/testlist                       |    2 +-
 13 files changed, 186 insertions(+), 10 deletions(-)
 copy test/mpi/errors/{attr => f77/errhan}/Makefile.am (67%)
 copy test/mpi/{f77/rma => errors/f77/errhan}/addsize.h.in (100%)
 copy test/mpi/{f77/io => errors/f77/errhan}/iooffset.h.in (100%)
 create mode 100644 test/mpi/errors/f77/errhan/testlist
 create mode 100644 test/mpi/errors/f77/errhan/uerrhandf.f


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list