summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2010-05-14 22:05:48 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2010-05-14 22:05:48 (GMT)
commit96c13847a638a0a028afb2f1b31a513bf70110e4 (patch)
treea5765725e789930d0d4bbed08a604486f8a8ac64 /fortran
parent5c2734ec514de41c773de7b22027eeff8fd2dace (diff)
downloadhdf5-96c13847a638a0a028afb2f1b31a513bf70110e4.zip
hdf5-96c13847a638a0a028afb2f1b31a513bf70110e4.tar.gz
hdf5-96c13847a638a0a028afb2f1b31a513bf70110e4.tar.bz2
[svn-r18817] Added scripts to compile and run installed examples. The scripts are installed with the examples, and there is one script to run the scripts for all hl examples and another to run the scripts for all the examples.
Tested: amani, jam, linew (h5committest).
Diffstat (limited to 'fortran')
-rw-r--r--fortran/examples/Makefile.am1
-rw-r--r--fortran/examples/Makefile.in30
-rwxr-xr-xfortran/examples/run-fortran-ex.sh.in98
3 files changed, 125 insertions, 4 deletions
diff --git a/fortran/examples/Makefile.am b/fortran/examples/Makefile.am
index 5d03d2a..f27f7ff 100644
--- a/fortran/examples/Makefile.am
+++ b/fortran/examples/Makefile.am
@@ -41,6 +41,7 @@ INSTALL_FILES=dsetexample.f90 fileexample.f90 rwdsetexample.f90 \
attrexample.f90 groupexample.f90 grpsexample.f90 grpdsetexample.f90 \
hyperslab.f90 selectele.f90 grpit.f90 refobjexample.f90 \
refregexample.f90 mountexample.f90 compound.f90 ph5example.f90
+INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# Mark this directory as part of the Fortran API
FORTRAN_API=yes
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index 05ebe21..e890904 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -55,7 +55,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/testh5fc.sh.in $(top_srcdir)/config/commence.am \
+ $(srcdir)/run-fortran-ex.sh.in $(srcdir)/testh5fc.sh.in \
+ $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am \
$(top_srcdir)/config/examples.am
TESTS =
@@ -66,7 +67,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
-CONFIG_CLEAN_FILES = testh5fc.sh
+CONFIG_CLEAN_FILES = run-fortran-ex.sh testh5fc.sh
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
@@ -352,6 +353,7 @@ INSTALL_FILES = dsetexample.f90 fileexample.f90 rwdsetexample.f90 \
hyperslab.f90 selectele.f90 grpit.f90 refobjexample.f90 \
refregexample.f90 mountexample.f90 compound.f90 ph5example.f90
+INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# Mark this directory as part of the Fortran API
FORTRAN_API = yes
@@ -416,6 +418,8 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+run-fortran-ex.sh: $(top_builddir)/config.status $(srcdir)/run-fortran-ex.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
testh5fc.sh: $(top_builddir)/config.status $(srcdir)/testh5fc.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -627,6 +631,8 @@ ph5example: ph5example.f90
# How to create EXAMPLEDIR if it doesn't already exist
$(EXAMPLEDIR):
-$(top_srcdir)/bin/mkdirs $@
+$(EXAMPLETOPDIR):
+ -$(top_srcdir)/bin/mkdirs $@
# Install and uninstall rules. We install the source files, not the
# example programs themselves.
@@ -641,10 +647,26 @@ install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
fi; \
done
+ @for f in X $(INSTALL_SCRIPT_FILES); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\
+ fi; \
+ done
+ @for f in X $(INSTALL_TOP_SCRIPT_FILES); do \
+ if test $$f != X; then \
+ (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
+ fi; \
+ done
uninstall-examples:
- @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
+ @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
+ fi
+ @if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
+ set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
+ fi
+ @if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
+ set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
installcheck-local:
diff --git a/fortran/examples/run-fortran-ex.sh.in b/fortran/examples/run-fortran-ex.sh.in
new file mode 100755
index 0000000..1564537
--- /dev/null
+++ b/fortran/examples/run-fortran-ex.sh.in
@@ -0,0 +1,98 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the files COPYING and Copyright.html. COPYING can be found at the root
+# of the source code distribution tree; Copyright.html can be found at the
+# root level of an installed copy of the electronic HDF5 document set and
+# is linked from the top-level documents page. It can also be found at
+# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+# access to either file, you may request a copy from help@hdfgroup.org.
+
+#
+# This file: run-hlfortran-ex.sh
+# Written by: Larry Knox
+# Date: May 11, 2010
+#
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# #
+# This script will compile and run the fortran examples from source files #
+# installed in .../share/hdf5_examples/fortran using h5fc or h5pfc. The #
+# order for running programs with RunTest in the MAIN section below is taken #
+# from the Makefile. The order is important since some of the test programs #
+# use data files created by earlier test programs. Any future additions should #
+# be placed accordingly. #
+# #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+# Initializations
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Where the tool is installed.
+prefix="${prefix:-${DESTDIR}/@prefix@}"
+PARALLEL=@PARALLEL@ # Am I in parallel mode?
+AR="@AR@"
+RANLIB="@RANLIB@"
+if [ "$PARALLEL" = no ]; then
+ H5TOOL="h5fc" # The tool name
+else
+ H5TOOL="h5pfc" # The tool name
+fi
+H5TOOL_BIN="${prefix}/bin/${H5TOOL}" # The path of the tool binary
+
+
+#### Run test ####
+RunTest()
+{
+ Test=$1".f90"
+
+ echo
+ echo "################# $1 #################"
+ ${H5TOOL_BIN} $Test
+ if [ $? -ne 0 ]
+ then
+ echo "messed up compiling $Test"
+ exit 1
+ fi
+ ./a.out
+}
+
+
+
+################## MAIN ##################
+
+# Run tests
+if [ $? -eq 0 ]
+then
+ if (RunTest dsetexample &&\
+ RunTest fileexample &&\
+ RunTest rwdsetexample &&\
+ RunTest attrexample &&\
+ RunTest groupexample &&\
+ RunTest grpsexample &&\
+ RunTest grpdsetexample &&\
+ RunTest hyperslab &&\
+ RunTest selectele &&\
+ RunTest grpit &&\
+ RunTest refobjexample &&\
+ RunTest refregexample &&\
+ RunTest mountexample &&\
+ RunTest compound); then
+ EXIT_VALUE=${EXIT_SUCCESS}
+ else
+ EXIT_VALUE=${EXIT_FAILURE}
+ fi
+fi
+
+# Cleanup
+rm a.out
+rm *.o
+rm *.h5
+echo
+
+exit $EXIT_VALUE
+