[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