From ab43e3ce9b1a8be5d03fbf5d53eef7ad5e770b74 Mon Sep 17 00:00:00 2001
From: Allen Byrne <byrn@hdfgroup.org>
Date: Wed, 20 Sep 2017 12:43:43 -0500
Subject: Add missing intro folder

---
 java/examples/intro/runExample.sh.in | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/java/examples/intro/runExample.sh.in b/java/examples/intro/runExample.sh.in
index 4533a1b..3c3036a 100644
--- a/java/examples/intro/runExample.sh.in
+++ b/java/examples/intro/runExample.sh.in
@@ -213,7 +213,8 @@ esac
 export LD_LIBRARY_PATH
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset > H5_CreateDataset.out)
+TESTING examples.intro.H5_CreateDataset
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset > H5_CreateDataset.out)
 if diff H5_CreateDataset.out examples.intro.H5_CreateDataset.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateDataset"
 else
@@ -222,7 +223,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute > H5_CreateAttribute.out)
+TESTING examples.intro.H5_CreateAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute > H5_CreateAttribute.out)
 if diff H5_CreateAttribute.out examples.intro.H5_CreateAttribute.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateAttribute"
 else
@@ -231,7 +233,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile > H5_CreateFile.out)
+TESTING examples.intro.H5_CreateFile
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile > H5_CreateFile.out)
 if diff H5_CreateFile.out examples.intro.H5_CreateFile.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateFile"
 else
@@ -240,7 +243,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup > H5_CreateGroup.out)
+TESTING examples.intro.H5_CreateGroup
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup > H5_CreateGroup.out)
 if diff H5_CreateGroup.out examples.intro.H5_CreateGroup.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateGroup"
 else
@@ -249,7 +253,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative > H5_CreateGroupAbsoluteRelative.out)
+TESTING examples.intro.H5_CreateGroupAbsoluteRelative
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative > H5_CreateGroupAbsoluteRelative.out)
 if diff H5_CreateGroupAbsoluteRelative.out examples.intro.H5_CreateGroupAbsoluteRelative.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateGroupAbsoluteRelative"
 else
@@ -258,7 +263,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset > H5_CreateGroupDataset.out)
+TESTING examples.intro.H5_CreateGroupDataset
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset > H5_CreateGroupDataset.out)
 if diff H5_CreateGroupDataset.out examples.intro.H5_CreateGroupDataset.txt > /dev/null; then
     echo "  PASSED      intro.H5_CreateGroupDataset"
 else
@@ -267,7 +273,8 @@ else
 fi
 
 echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite"
-($JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite > H5_ReadWrite.out)
+TESTING examples.intro.H5_ReadWrite
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite > H5_ReadWrite.out)
 if diff H5_ReadWrite.out examples.intro.H5_ReadWrite.txt > /dev/null; then
     echo "  PASSED      intro.H5_ReadWrite"
 else
-- 
cgit v0.12


From 5c5533d7fd99d31d7c563195c9bd5db2a1d5cf39 Mon Sep 17 00:00:00 2001
From: Allen Byrne <byrn@hdfgroup.org>
Date: Wed, 20 Sep 2017 14:16:31 -0500
Subject: Change name for test results table

---
 MANIFEST                                          |   8 +-
 java/examples/datasets/JavaDatasetExample.sh.in   | 459 ++++++++++++++++++++++
 java/examples/datasets/Makefile.am                |   4 +-
 java/examples/datasets/runExample.sh.in           | 459 ----------------------
 java/examples/datatypes/JavaDatatypeExample.sh.in | 417 ++++++++++++++++++++
 java/examples/datatypes/Makefile.am               |   4 +-
 java/examples/datatypes/runExample.sh.in          | 417 --------------------
 java/examples/groups/JavaGroupExample.sh.in       | 354 +++++++++++++++++
 java/examples/groups/Makefile.am                  |   4 +-
 java/examples/groups/runExample.sh.in             | 354 -----------------
 java/examples/intro/JavaIntroExample.sh.in        | 296 ++++++++++++++
 java/examples/intro/Makefile.am                   |   4 +-
 java/examples/intro/runExample.sh.in              | 296 --------------
 13 files changed, 1538 insertions(+), 1538 deletions(-)
 create mode 100644 java/examples/datasets/JavaDatasetExample.sh.in
 delete mode 100644 java/examples/datasets/runExample.sh.in
 create mode 100644 java/examples/datatypes/JavaDatatypeExample.sh.in
 delete mode 100644 java/examples/datatypes/runExample.sh.in
 create mode 100644 java/examples/groups/JavaGroupExample.sh.in
 delete mode 100644 java/examples/groups/runExample.sh.in
 create mode 100644 java/examples/intro/JavaIntroExample.sh.in
 delete mode 100644 java/examples/intro/runExample.sh.in

diff --git a/MANIFEST b/MANIFEST
index 25a6075..fa3de21 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2881,7 +2881,7 @@
 
 ./java/examples/intro/Makefile.am
 ./java/examples/intro/CMakeLists.txt
-./java/examples/intro/runExample.sh.in
+./java/examples/intro/JavaIntroExample.sh.in
 ./java/examples/intro/H5_CreateAttribute.java
 ./java/examples/intro/H5_CreateDataset.java
 ./java/examples/intro/H5_CreateFile.java
@@ -2892,7 +2892,7 @@
 
 ./java/examples/groups/Makefile.am
 ./java/examples/groups/CMakeLists.txt
-./java/examples/groups/runExample.sh.in
+./java/examples/groups/JavaGroupExample.sh.in
 ./java/examples/groups/H5Ex_G_Create.java
 ./java/examples/groups/H5Ex_G_Iterate.java
 ./java/examples/groups/H5Ex_G_Compact.java
@@ -2906,7 +2906,7 @@
 
 ./java/examples/datasets/Makefile.am
 ./java/examples/datasets/CMakeLists.txt
-./java/examples/datasets/runExample.sh.in
+./java/examples/datasets/JavaDatasetExample.sh.in
 ./java/examples/datasets/H5Ex_D_Alloc.java
 ./java/examples/datasets/H5Ex_D_Checksum.java
 ./java/examples/datasets/H5Ex_D_Chunk.java
@@ -2928,7 +2928,7 @@
 
 ./java/examples/datatypes/Makefile.am
 ./java/examples/datatypes/CMakeLists.txt
-./java/examples/datatypes/runExample.sh.in
+./java/examples/datatypes/JavaDatatypeExample.sh.in
 ./java/examples/datatypes/H5Ex_T_Array.java
 ./java/examples/datatypes/H5Ex_T_ArrayAttribute.java
 ./java/examples/datatypes/H5Ex_T_Bit.java
diff --git a/java/examples/datasets/JavaDatasetExample.sh.in b/java/examples/datasets/JavaDatasetExample.sh.in
new file mode 100644
index 0000000..740b07d
--- /dev/null
+++ b/java/examples/datasets/JavaDatasetExample.sh.in
@@ -0,0 +1,459 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# 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 COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+top_builddir=@top_builddir@
+top_srcdir=@top_srcdir@
+srcdir=@srcdir@
+
+USE_FILTER_SZIP="@USE_FILTER_SZIP@"
+USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
+
+TESTNAME=EX_Datasets
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Set up default variable values if not supplied by the user.
+RM='rm -rf'
+CMP='cmp'
+DIFF='diff -c'
+CP='cp'
+DIRNAME='dirname'
+LS='ls'
+AWK='awk'
+
+nerrors=0
+
+# where the libs exist
+HDFLIB_HOME="$top_srcdir/java/lib"
+BLDLIBDIR="$top_builddir/hdf5/lib"
+BLDDIR="."
+HDFTEST_HOME="$top_srcdir/java/examples/datasets"
+JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+TESTJARFILE=jar@PACKAGE_TARNAME@datasets.jar
+test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
+
+######################################################################
+# library files
+# --------------------------------------------------------------------
+# All the library files copy from source directory to test directory
+# NOTE: Keep this framework to add/remove test files.
+#       This list are also used for checking exist.
+#       Comment '#' without space can be used.
+# --------------------------------------------------------------------
+LIST_LIBRARY_FILES="
+$HDFLIB_HOME/slf4j-api-1.7.5.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
+$top_builddir/src/.libs/libhdf5.*
+$top_builddir/java/src/jni/.libs/libhdf5_java.*
+$top_builddir/java/src/$JARFILE
+"
+LIST_DATA_FILES="
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Alloc.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Checksum.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Chunk.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Compact.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_External.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_FillValue.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Gzip.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Hyperslab.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_ReadWrite.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Shuffle.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Szip.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedAdd.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedGzip.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedMod.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Nbit.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Transform.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Sofloat.txt
+$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Soint.txt
+"
+
+#
+# copy files from source dirs to test dir
+#
+COPY_LIBFILES="$LIST_LIBRARY_FILES"
+
+COPY_LIBFILES_TO_BLDLIBDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_LIBFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDLIBDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_LIBFILES_AND_BLDLIBDIR()
+{
+    # skip rm if srcdir is same as destdir
+    # this occurs when build/test performed in source dir and
+    # make cp fail
+    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
+    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+        $RM $BLDLIBDIR
+    fi
+}
+
+COPY_DATAFILES="$LIST_DATA_FILES"
+
+COPY_DATAFILES_TO_BLDDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_DATAFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_DATAFILES_AND_BLDDIR()
+{
+        $RM $BLDDIR/examples.datasets.H5Ex_D_*.txt
+        $RM $BLDDIR/H5Ex_D_*.out
+        $RM $BLDDIR/H5Ex_D_*.h5
+        $RM $BLDDIR/H5Ex_D_External.data
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+# where Java is installed (requires jdk1.7.x)
+JAVAEXE=@JAVA@
+JAVAEXEFLAGS=@H5_JAVAFLAGS@
+
+###############################################################################
+#            DO NOT MODIFY BELOW THIS LINE
+###############################################################################
+
+# prepare for test
+COPY_LIBFILES_TO_BLDLIBDIR
+COPY_DATAFILES_TO_BLDDIR
+
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
+
+TEST=/usr/bin/test
+if [ ! -x /usr/bin/test ]
+then
+TEST=`which test`
+fi
+
+if $TEST -z "$CLASSPATH"; then
+        CLASSPATH=""
+fi
+CLASSPATH=$CPATH":"$CLASSPATH
+export CLASSPATH
+
+if $TEST -n "$JAVAPATH" ; then
+        PATH=$JAVAPATH":"$PATH
+        export PATH
+fi
+
+if $TEST -e /bin/uname; then
+   os_name=`/bin/uname -s`
+elif $TEST -e /usr/bin/uname; then
+   os_name=`/usr/bin/uname -s`
+else
+   os_name=unknown
+fi
+
+if $TEST -z "$LD_LIBRARY_PATH" ; then
+        LD_LIBRARY_PATH=""
+fi
+
+case  $os_name in
+    Darwin)
+    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
+    export DYLD_LIBRARY_PATH
+    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
+    ;;
+    *)
+    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
+        ;;
+esac
+
+export LD_LIBRARY_PATH
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Alloc"
+TESTING examples.datasets.H5Ex_D_Alloc
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Alloc > H5Ex_D_Alloc.out
+)
+if diff H5Ex_D_Alloc.out examples.datasets.H5Ex_D_Alloc.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Alloc"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Alloc"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Checksum"
+TESTING examples.datasets.H5Ex_D_Checksum
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Checksum > H5Ex_D_Checksum.out
+)
+if diff H5Ex_D_Checksum.out examples.datasets.H5Ex_D_Checksum.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Checksum"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Checksum"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Chunk"
+TESTING examples.datasets.H5Ex_D_Chunk
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Chunk > H5Ex_D_Chunk.out
+)
+if diff H5Ex_D_Chunk.out examples.datasets.H5Ex_D_Chunk.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Chunk"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Chunk"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Compact"
+TESTING examples.datasets.H5Ex_D_Compact
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Compact > H5Ex_D_Compact.out
+)
+if diff H5Ex_D_Compact.out examples.datasets.H5Ex_D_Compact.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Compact"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Compact"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_External"
+TESTING examples.datasets.H5Ex_D_External
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_External > H5Ex_D_External.out
+)
+if diff H5Ex_D_External.out examples.datasets.H5Ex_D_External.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_External"
+else
+    echo "**FAILED**    datasets.H5Ex_D_External"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_FillValue"
+TESTING examples.datasets.H5Ex_D_FillValue
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_FillValue > H5Ex_D_FillValue.out
+)
+if diff H5Ex_D_FillValue.out examples.datasets.H5Ex_D_FillValue.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_FillValue"
+else
+    echo "**FAILED**    datasets.H5Ex_D_FillValue"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Gzip"
+TESTING examples.datasets.H5Ex_D_Gzip
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Gzip > H5Ex_D_Gzip.out
+)
+if diff H5Ex_D_Gzip.out examples.datasets.H5Ex_D_Gzip.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Gzip"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Gzip"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Hyperslab"
+TESTING examples.datasets.H5Ex_D_Hyperslab
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Hyperslab > H5Ex_D_Hyperslab.out
+)
+if diff H5Ex_D_Hyperslab.out examples.datasets.H5Ex_D_Hyperslab.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Hyperslab"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Hyperslab"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_ReadWrite"
+TESTING examples.datasets.H5Ex_D_ReadWrite
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_ReadWrite > H5Ex_D_ReadWrite.out
+)
+if diff H5Ex_D_ReadWrite.out examples.datasets.H5Ex_D_ReadWrite.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_ReadWrite"
+else
+    echo "**FAILED**    datasets.H5Ex_D_ReadWrite"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Shuffle"
+TESTING examples.datasets.H5Ex_D_Shuffle
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Shuffle > H5Ex_D_Shuffle.out
+)
+if diff H5Ex_D_Shuffle.out examples.datasets.H5Ex_D_Shuffle.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Shuffle"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Shuffle"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+if test $USE_FILTER_SZIP = "yes"; then
+    echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Szip"
+    TESTING examples.datasets.H5Ex_D_Szip
+    (
+    $RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Szip > H5Ex_D_Szip.out
+    )
+    if diff H5Ex_D_Szip.out examples.datasets.H5Ex_D_Szip.txt > /dev/null; then
+        echo "  PASSED      datasets.H5Ex_D_Szip"
+    else
+        echo "**FAILED**    datasets.H5Ex_D_Szip"
+        nerrors="`expr $nerrors + 1`"
+    fi
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedAdd"
+TESTING examples.datasets.H5Ex_D_UnlimitedAdd
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedAdd > H5Ex_D_UnlimitedAdd.out
+)
+if diff H5Ex_D_UnlimitedAdd.out examples.datasets.H5Ex_D_UnlimitedAdd.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_UnlimitedAdd"
+else
+    echo "**FAILED**    datasets.H5Ex_D_UnlimitedAdd"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedGzip"
+TESTING examples.datasets.H5Ex_D_UnlimitedGzip
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedGzip > H5Ex_D_UnlimitedGzip.out
+)
+if diff H5Ex_D_External.out examples.datasets.H5Ex_D_External.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_UnlimitedGzip"
+else
+    echo "**FAILED**    datasets.H5Ex_D_UnlimitedGzip"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedMod"
+TESTING examples.datasets.H5Ex_D_UnlimitedMod
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedMod > H5Ex_D_UnlimitedMod.out
+)
+if diff H5Ex_D_UnlimitedMod.out examples.datasets.H5Ex_D_UnlimitedMod.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_UnlimitedMod"
+else
+    echo "**FAILED**    datasets.H5Ex_D_UnlimitedMod"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Nbit"
+TESTING examples.datasets.H5Ex_D_Nbit
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Nbit > H5Ex_D_Nbit.out
+)
+if diff H5Ex_D_Nbit.out examples.datasets.H5Ex_D_Nbit.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Nbit"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Nbit"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Transform"
+TESTING examples.datasets.H5Ex_D_Transform
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Transform > H5Ex_D_Transform.out
+)
+if diff H5Ex_D_Transform.out examples.datasets.H5Ex_D_Transform.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Transform"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Transform"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Sofloat"
+TESTING examples.datasets.H5Ex_D_Sofloat
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Sofloat > H5Ex_D_Sofloat.out
+)
+if diff H5Ex_D_Sofloat.out examples.datasets.H5Ex_D_Sofloat.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Sofloat"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Sofloat"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Soint"
+TESTING examples.datasets.H5Ex_D_Soint
+(
+$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Soint > H5Ex_D_Soint.out
+)
+if diff H5Ex_D_Soint.out examples.datasets.H5Ex_D_Soint.txt > /dev/null; then
+    echo "  PASSED      datasets.H5Ex_D_Soint"
+else
+    echo "**FAILED**    datasets.H5Ex_D_Soint"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+# Clean up temporary files/directories
+CLEAN_LIBFILES_AND_BLDLIBDIR
+CLEAN_DATAFILES_AND_BLDDIR
+
+# Report test results and exit
+if test $nerrors -eq 0 ; then
+    echo "All $TESTNAME tests passed."
+    exit $EXIT_SUCCESS
+else
+    echo "$TESTNAME tests failed with $nerrors errors."
+    exit $EXIT_FAILURE
+fi
diff --git a/java/examples/datasets/Makefile.am b/java/examples/datasets/Makefile.am
index 18100a6..ddd6d39 100644
--- a/java/examples/datasets/Makefile.am
+++ b/java/examples/datasets/Makefile.am
@@ -63,10 +63,10 @@ noinst_DATA = $(jarfile)
 
 .PHONY: classes
 
-check_SCRIPTS = runExample.sh
+check_SCRIPTS = JavaDatasetExample.sh
 TEST_SCRIPT = $(check_SCRIPTS)
 
-CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
+CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class JavaDatasetExample.sh
 
 clean:
 	rm -rf $(JAVAROOT)/*
diff --git a/java/examples/datasets/runExample.sh.in b/java/examples/datasets/runExample.sh.in
deleted file mode 100644
index 740b07d..0000000
--- a/java/examples/datasets/runExample.sh.in
+++ /dev/null
@@ -1,459 +0,0 @@
-#! /bin/sh
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# 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 COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
-# If you do not have access to either file, you may request a copy from
-# help@hdfgroup.org.
-#
-
-top_builddir=@top_builddir@
-top_srcdir=@top_srcdir@
-srcdir=@srcdir@
-
-USE_FILTER_SZIP="@USE_FILTER_SZIP@"
-USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
-
-TESTNAME=EX_Datasets
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-# Set up default variable values if not supplied by the user.
-RM='rm -rf'
-CMP='cmp'
-DIFF='diff -c'
-CP='cp'
-DIRNAME='dirname'
-LS='ls'
-AWK='awk'
-
-nerrors=0
-
-# where the libs exist
-HDFLIB_HOME="$top_srcdir/java/lib"
-BLDLIBDIR="$top_builddir/hdf5/lib"
-BLDDIR="."
-HDFTEST_HOME="$top_srcdir/java/examples/datasets"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
-TESTJARFILE=jar@PACKAGE_TARNAME@datasets.jar
-test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
-
-######################################################################
-# library files
-# --------------------------------------------------------------------
-# All the library files copy from source directory to test directory
-# NOTE: Keep this framework to add/remove test files.
-#       This list are also used for checking exist.
-#       Comment '#' without space can be used.
-# --------------------------------------------------------------------
-LIST_LIBRARY_FILES="
-$HDFLIB_HOME/slf4j-api-1.7.5.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
-$top_builddir/src/.libs/libhdf5.*
-$top_builddir/java/src/jni/.libs/libhdf5_java.*
-$top_builddir/java/src/$JARFILE
-"
-LIST_DATA_FILES="
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Alloc.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Checksum.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Chunk.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Compact.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_External.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_FillValue.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Gzip.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Hyperslab.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_ReadWrite.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Shuffle.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Szip.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedAdd.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedGzip.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_UnlimitedMod.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Nbit.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Transform.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Sofloat.txt
-$HDFTEST_HOME/../testfiles/examples.datasets.H5Ex_D_Soint.txt
-"
-
-#
-# copy files from source dirs to test dir
-#
-COPY_LIBFILES="$LIST_LIBRARY_FILES"
-
-COPY_LIBFILES_TO_BLDLIBDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_LIBFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDLIBDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_LIBFILES_AND_BLDLIBDIR()
-{
-    # skip rm if srcdir is same as destdir
-    # this occurs when build/test performed in source dir and
-    # make cp fail
-    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
-    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-        $RM $BLDLIBDIR
-    fi
-}
-
-COPY_DATAFILES="$LIST_DATA_FILES"
-
-COPY_DATAFILES_TO_BLDDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_DATAFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_DATAFILES_AND_BLDDIR()
-{
-        $RM $BLDDIR/examples.datasets.H5Ex_D_*.txt
-        $RM $BLDDIR/H5Ex_D_*.out
-        $RM $BLDDIR/H5Ex_D_*.h5
-        $RM $BLDDIR/H5Ex_D_External.data
-}
-
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
-   SPACES="                                                               "
-   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
-# where Java is installed (requires jdk1.7.x)
-JAVAEXE=@JAVA@
-JAVAEXEFLAGS=@H5_JAVAFLAGS@
-
-###############################################################################
-#            DO NOT MODIFY BELOW THIS LINE
-###############################################################################
-
-# prepare for test
-COPY_LIBFILES_TO_BLDLIBDIR
-COPY_DATAFILES_TO_BLDDIR
-
-CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
-
-TEST=/usr/bin/test
-if [ ! -x /usr/bin/test ]
-then
-TEST=`which test`
-fi
-
-if $TEST -z "$CLASSPATH"; then
-        CLASSPATH=""
-fi
-CLASSPATH=$CPATH":"$CLASSPATH
-export CLASSPATH
-
-if $TEST -n "$JAVAPATH" ; then
-        PATH=$JAVAPATH":"$PATH
-        export PATH
-fi
-
-if $TEST -e /bin/uname; then
-   os_name=`/bin/uname -s`
-elif $TEST -e /usr/bin/uname; then
-   os_name=`/usr/bin/uname -s`
-else
-   os_name=unknown
-fi
-
-if $TEST -z "$LD_LIBRARY_PATH" ; then
-        LD_LIBRARY_PATH=""
-fi
-
-case  $os_name in
-    Darwin)
-    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
-    export DYLD_LIBRARY_PATH
-    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
-    ;;
-    *)
-    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
-        ;;
-esac
-
-export LD_LIBRARY_PATH
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Alloc"
-TESTING examples.datasets.H5Ex_D_Alloc
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Alloc > H5Ex_D_Alloc.out
-)
-if diff H5Ex_D_Alloc.out examples.datasets.H5Ex_D_Alloc.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Alloc"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Alloc"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Checksum"
-TESTING examples.datasets.H5Ex_D_Checksum
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Checksum > H5Ex_D_Checksum.out
-)
-if diff H5Ex_D_Checksum.out examples.datasets.H5Ex_D_Checksum.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Checksum"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Checksum"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Chunk"
-TESTING examples.datasets.H5Ex_D_Chunk
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Chunk > H5Ex_D_Chunk.out
-)
-if diff H5Ex_D_Chunk.out examples.datasets.H5Ex_D_Chunk.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Chunk"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Chunk"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Compact"
-TESTING examples.datasets.H5Ex_D_Compact
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Compact > H5Ex_D_Compact.out
-)
-if diff H5Ex_D_Compact.out examples.datasets.H5Ex_D_Compact.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Compact"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Compact"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_External"
-TESTING examples.datasets.H5Ex_D_External
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_External > H5Ex_D_External.out
-)
-if diff H5Ex_D_External.out examples.datasets.H5Ex_D_External.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_External"
-else
-    echo "**FAILED**    datasets.H5Ex_D_External"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_FillValue"
-TESTING examples.datasets.H5Ex_D_FillValue
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_FillValue > H5Ex_D_FillValue.out
-)
-if diff H5Ex_D_FillValue.out examples.datasets.H5Ex_D_FillValue.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_FillValue"
-else
-    echo "**FAILED**    datasets.H5Ex_D_FillValue"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Gzip"
-TESTING examples.datasets.H5Ex_D_Gzip
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Gzip > H5Ex_D_Gzip.out
-)
-if diff H5Ex_D_Gzip.out examples.datasets.H5Ex_D_Gzip.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Gzip"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Gzip"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Hyperslab"
-TESTING examples.datasets.H5Ex_D_Hyperslab
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Hyperslab > H5Ex_D_Hyperslab.out
-)
-if diff H5Ex_D_Hyperslab.out examples.datasets.H5Ex_D_Hyperslab.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Hyperslab"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Hyperslab"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_ReadWrite"
-TESTING examples.datasets.H5Ex_D_ReadWrite
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_ReadWrite > H5Ex_D_ReadWrite.out
-)
-if diff H5Ex_D_ReadWrite.out examples.datasets.H5Ex_D_ReadWrite.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_ReadWrite"
-else
-    echo "**FAILED**    datasets.H5Ex_D_ReadWrite"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Shuffle"
-TESTING examples.datasets.H5Ex_D_Shuffle
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Shuffle > H5Ex_D_Shuffle.out
-)
-if diff H5Ex_D_Shuffle.out examples.datasets.H5Ex_D_Shuffle.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Shuffle"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Shuffle"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-if test $USE_FILTER_SZIP = "yes"; then
-    echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Szip"
-    TESTING examples.datasets.H5Ex_D_Szip
-    (
-    $RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Szip > H5Ex_D_Szip.out
-    )
-    if diff H5Ex_D_Szip.out examples.datasets.H5Ex_D_Szip.txt > /dev/null; then
-        echo "  PASSED      datasets.H5Ex_D_Szip"
-    else
-        echo "**FAILED**    datasets.H5Ex_D_Szip"
-        nerrors="`expr $nerrors + 1`"
-    fi
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedAdd"
-TESTING examples.datasets.H5Ex_D_UnlimitedAdd
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedAdd > H5Ex_D_UnlimitedAdd.out
-)
-if diff H5Ex_D_UnlimitedAdd.out examples.datasets.H5Ex_D_UnlimitedAdd.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_UnlimitedAdd"
-else
-    echo "**FAILED**    datasets.H5Ex_D_UnlimitedAdd"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedGzip"
-TESTING examples.datasets.H5Ex_D_UnlimitedGzip
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedGzip > H5Ex_D_UnlimitedGzip.out
-)
-if diff H5Ex_D_External.out examples.datasets.H5Ex_D_External.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_UnlimitedGzip"
-else
-    echo "**FAILED**    datasets.H5Ex_D_UnlimitedGzip"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedMod"
-TESTING examples.datasets.H5Ex_D_UnlimitedMod
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_UnlimitedMod > H5Ex_D_UnlimitedMod.out
-)
-if diff H5Ex_D_UnlimitedMod.out examples.datasets.H5Ex_D_UnlimitedMod.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_UnlimitedMod"
-else
-    echo "**FAILED**    datasets.H5Ex_D_UnlimitedMod"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Nbit"
-TESTING examples.datasets.H5Ex_D_Nbit
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Nbit > H5Ex_D_Nbit.out
-)
-if diff H5Ex_D_Nbit.out examples.datasets.H5Ex_D_Nbit.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Nbit"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Nbit"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Transform"
-TESTING examples.datasets.H5Ex_D_Transform
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Transform > H5Ex_D_Transform.out
-)
-if diff H5Ex_D_Transform.out examples.datasets.H5Ex_D_Transform.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Transform"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Transform"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Sofloat"
-TESTING examples.datasets.H5Ex_D_Sofloat
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Sofloat > H5Ex_D_Sofloat.out
-)
-if diff H5Ex_D_Sofloat.out examples.datasets.H5Ex_D_Sofloat.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Sofloat"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Sofloat"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Soint"
-TESTING examples.datasets.H5Ex_D_Soint
-(
-$RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datasets.H5Ex_D_Soint > H5Ex_D_Soint.out
-)
-if diff H5Ex_D_Soint.out examples.datasets.H5Ex_D_Soint.txt > /dev/null; then
-    echo "  PASSED      datasets.H5Ex_D_Soint"
-else
-    echo "**FAILED**    datasets.H5Ex_D_Soint"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-# Clean up temporary files/directories
-CLEAN_LIBFILES_AND_BLDLIBDIR
-CLEAN_DATAFILES_AND_BLDDIR
-
-# Report test results and exit
-if test $nerrors -eq 0 ; then
-    echo "All $TESTNAME tests passed."
-    exit $EXIT_SUCCESS
-else
-    echo "$TESTNAME tests failed with $nerrors errors."
-    exit $EXIT_FAILURE
-fi
diff --git a/java/examples/datatypes/JavaDatatypeExample.sh.in b/java/examples/datatypes/JavaDatatypeExample.sh.in
new file mode 100644
index 0000000..590a547
--- /dev/null
+++ b/java/examples/datatypes/JavaDatatypeExample.sh.in
@@ -0,0 +1,417 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# 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 COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+top_builddir=@top_builddir@
+top_srcdir=@top_srcdir@
+srcdir=@srcdir@
+
+TESTNAME=EX_Datatypes
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Set up default variable values if not supplied by the user.
+RM='rm -rf'
+CMP='cmp'
+DIFF='diff -c'
+CP='cp'
+DIRNAME='dirname'
+LS='ls'
+AWK='awk'
+
+nerrors=0
+
+# where the libs exist
+HDFLIB_HOME="$top_srcdir/java/lib"
+BLDLIBDIR="$top_builddir/hdf5/lib"
+BLDDIR="."
+HDFTEST_HOME="$top_srcdir/java/examples/datatypes"
+JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+TESTJARFILE=jar@PACKAGE_TARNAME@datatypes.jar
+test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
+
+######################################################################
+# library files
+# --------------------------------------------------------------------
+# All the library files copy from source directory to test directory
+# NOTE: Keep this framework to add/remove test files.
+#       This list are also used for checking exist.
+#       Comment '#' without space can be used.
+# --------------------------------------------------------------------
+LIST_LIBRARY_FILES="
+$HDFLIB_HOME/slf4j-api-1.7.5.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
+$top_builddir/src/.libs/libhdf5.*
+$top_builddir/java/src/jni/.libs/libhdf5_java.*
+$top_builddir/java/src/$JARFILE
+"
+LIST_DATA_FILES="
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Array.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ArrayAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Bit.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_BitAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Commit.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Compound.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_CompoundAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Float.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_FloatAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Integer.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_IntegerAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ObjectReference.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Opaque.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_OpaqueAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_String.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_StringAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_VLString.txt
+"
+
+#
+# copy files from source dirs to test dir
+#
+COPY_LIBFILES="$LIST_LIBRARY_FILES"
+
+COPY_LIBFILES_TO_BLDLIBDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_LIBFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDLIBDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_LIBFILES_AND_BLDLIBDIR()
+{
+    # skip rm if srcdir is same as destdir
+    # this occurs when build/test performed in source dir and
+    # make cp fail
+    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
+    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+        $RM $BLDLIBDIR
+    fi
+}
+
+COPY_DATAFILES="$LIST_DATA_FILES"
+
+COPY_DATAFILES_TO_BLDDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_DATAFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_DATAFILES_AND_BLDDIR()
+{
+        $RM $BLDDIR/examples.datatypes.H5Ex_T_*.txt
+        $RM $BLDDIR/H5Ex_T_*.out
+        $RM $BLDDIR/H5Ex_T_*.h5
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+# where Java is installed (requires jdk1.7.x)
+JAVAEXE=@JAVA@
+JAVAEXEFLAGS=@H5_JAVAFLAGS@
+
+###############################################################################
+#            DO NOT MODIFY BELOW THIS LINE
+###############################################################################
+
+# prepare for test
+COPY_LIBFILES_TO_BLDLIBDIR
+COPY_DATAFILES_TO_BLDDIR
+
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
+
+TEST=/usr/bin/test
+if [ ! -x /usr/bin/test ]
+then
+TEST=`which test`
+fi
+
+if $TEST -z "$CLASSPATH"; then
+        CLASSPATH=""
+fi
+CLASSPATH=$CPATH":"$CLASSPATH
+export CLASSPATH
+
+if $TEST -n "$JAVAPATH" ; then
+        PATH=$JAVAPATH":"$PATH
+        export PATH
+fi
+
+if $TEST -e /bin/uname; then
+   os_name=`/bin/uname -s`
+elif $TEST -e /usr/bin/uname; then
+   os_name=`/usr/bin/uname -s`
+else
+   os_name=unknown
+fi
+
+if $TEST -z "$LD_LIBRARY_PATH" ; then
+        LD_LIBRARY_PATH=""
+fi
+
+case  $os_name in
+    Darwin)
+    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
+    export DYLD_LIBRARY_PATH
+    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
+    ;;
+    *)
+    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
+    ;;
+esac
+
+export LD_LIBRARY_PATH
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Array"
+TESTING examples.datatypes.H5Ex_T_Array
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Array > H5Ex_T_Array.out)
+if diff H5Ex_T_Array.out examples.datatypes.H5Ex_T_Array.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Array"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Array"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ArrayAttribute"
+TESTING examples.datatypes.H5Ex_T_ArrayAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ArrayAttribute > H5Ex_T_ArrayAttribute.out)
+if diff H5Ex_T_ArrayAttribute.out examples.datatypes.H5Ex_T_ArrayAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_ArrayAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_ArrayAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Bit"
+TESTING examples.datatypes.H5Ex_T_Bit
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Bit > H5Ex_T_Bit.out)
+if diff H5Ex_T_Bit.out examples.datatypes.H5Ex_T_Bit.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Bit"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Bit"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_BitAttribute"
+TESTING examples.datatypes.H5Ex_T_BitAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_BitAttribute > H5Ex_T_BitAttribute.out)
+if diff H5Ex_T_BitAttribute.out examples.datatypes.H5Ex_T_BitAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_BitAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_BitAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Commit"
+TESTING examples.datasets.H5Ex_T_Commit
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Commit > H5Ex_T_Commit.out)
+if diff H5Ex_T_Commit.out examples.datatypes.H5Ex_T_Commit.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Commit"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Commit"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Compound"
+TESTING examples.datatypes.H5Ex_T_Compound
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Compound > H5Ex_T_Compound.out)
+if diff H5Ex_T_Compound.out examples.datatypes.H5Ex_T_Compound.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Compound"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Compound"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_CompoundAttribute"
+TESTING examples.datatypes.H5Ex_T_CompoundAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_CompoundAttribute > H5Ex_T_CompoundAttribute.out)
+if diff H5Ex_T_CompoundAttribute.out examples.datatypes.H5Ex_T_CompoundAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_CompoundAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_CompoundAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Float"
+TESTING examples.datatypes.H5Ex_T_Float
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Float > H5Ex_T_Float.out)
+if diff H5Ex_T_Float.out examples.datatypes.H5Ex_T_Float.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Float"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Float"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_FloatAttribute"
+TESTING examples.datatypes.H5Ex_T_FloatAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_FloatAttribute > H5Ex_T_FloatAttribute.out)
+if diff H5Ex_T_FloatAttribute.out examples.datatypes.H5Ex_T_FloatAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_FloatAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_FloatAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Integer"
+TESTING examples.datatypes.H5Ex_T_Integer
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Integer > H5Ex_T_Integer.out)
+if diff H5Ex_T_Integer.out examples.datatypes.H5Ex_T_Integer.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Integer"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Integer"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_IntegerAttribute"
+TESTING examples.datatypes.H5Ex_T_IntegerAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_IntegerAttribute > H5Ex_T_IntegerAttribute.out)
+if diff H5Ex_T_IntegerAttribute.out examples.datatypes.H5Ex_T_IntegerAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_IntegerAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_IntegerAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReference"
+TESTING examples.datatypes.H5Ex_T_ObjectReference
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReference > H5Ex_T_ObjectReference.out)
+if diff H5Ex_T_ObjectReference.out examples.datatypes.H5Ex_T_ObjectReference.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_ObjectReference"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_ObjectReference"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReferenceAttribute"
+TESTING examples.datatypes.H5Ex_T_ObjectReferenceAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReferenceAttribute > H5Ex_T_ObjectReferenceAttribute.out)
+if diff H5Ex_T_ObjectReferenceAttribute.out examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_ObjectReferenceAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_ObjectReferenceAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Opaque"
+TESTING examples.datatypes.H5Ex_T_Opaque
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Opaque > H5Ex_T_Opaque.out)
+if diff H5Ex_T_Opaque.out examples.datatypes.H5Ex_T_Opaque.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_Opaque"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_Opaque"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_OpaqueAttribute"
+TESTING examples.datatypes.H5Ex_T_OpaqueAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_OpaqueAttribute > H5Ex_T_OpaqueAttribute.out)
+if diff H5Ex_T_OpaqueAttribute.out examples.datatypes.H5Ex_T_OpaqueAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_OpaqueAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_OpaqueAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_String"
+TESTING examples.datatypes.H5Ex_T_String
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_String > H5Ex_T_String.out)
+if diff H5Ex_T_String.out examples.datatypes.H5Ex_T_String.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_String"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_String"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_StringAttribute"
+TESTING examples.datatypes.H5Ex_T_StringAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_StringAttribute > H5Ex_T_StringAttribute.out)
+if diff H5Ex_T_StringAttribute.out examples.datatypes.H5Ex_T_StringAttribute.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_StringAttribute"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_StringAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_VLString"
+TESTING examples.datatypes.H5Ex_T_VLString
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_VLString > H5Ex_T_VLString.out)
+if diff H5Ex_T_VLString.out examples.datatypes.H5Ex_T_VLString.txt > /dev/null; then
+    echo "  PASSED      datatypes.H5Ex_T_VLString"
+else
+    echo "**FAILED**    datatypes.H5Ex_T_VLString"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+# Clean up temporary files/directories
+CLEAN_LIBFILES_AND_BLDLIBDIR
+CLEAN_DATAFILES_AND_BLDDIR
+
+# Report test results and exit
+if test $nerrors -eq 0 ; then
+    echo "All $TESTNAME tests passed."
+    exit $EXIT_SUCCESS
+else
+    echo "$TESTNAME tests failed with $nerrors errors."
+    exit $EXIT_FAILURE
+fi
diff --git a/java/examples/datatypes/Makefile.am b/java/examples/datatypes/Makefile.am
index 71f7769..f6e58f1 100644
--- a/java/examples/datatypes/Makefile.am
+++ b/java/examples/datatypes/Makefile.am
@@ -63,10 +63,10 @@ noinst_DATA = $(jarfile)
 
 .PHONY: classes
 
-check_SCRIPTS = runExample.sh
+check_SCRIPTS = JavaDatatypeExample.sh
 TEST_SCRIPT = $(check_SCRIPTS)
 
-CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
+CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class JavaDatatypeExample.sh
 
 clean:
 	rm -rf $(JAVAROOT)/*
diff --git a/java/examples/datatypes/runExample.sh.in b/java/examples/datatypes/runExample.sh.in
deleted file mode 100644
index 590a547..0000000
--- a/java/examples/datatypes/runExample.sh.in
+++ /dev/null
@@ -1,417 +0,0 @@
-#! /bin/sh
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# 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 COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
-# If you do not have access to either file, you may request a copy from
-# help@hdfgroup.org.
-#
-
-top_builddir=@top_builddir@
-top_srcdir=@top_srcdir@
-srcdir=@srcdir@
-
-TESTNAME=EX_Datatypes
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-# Set up default variable values if not supplied by the user.
-RM='rm -rf'
-CMP='cmp'
-DIFF='diff -c'
-CP='cp'
-DIRNAME='dirname'
-LS='ls'
-AWK='awk'
-
-nerrors=0
-
-# where the libs exist
-HDFLIB_HOME="$top_srcdir/java/lib"
-BLDLIBDIR="$top_builddir/hdf5/lib"
-BLDDIR="."
-HDFTEST_HOME="$top_srcdir/java/examples/datatypes"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
-TESTJARFILE=jar@PACKAGE_TARNAME@datatypes.jar
-test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
-
-######################################################################
-# library files
-# --------------------------------------------------------------------
-# All the library files copy from source directory to test directory
-# NOTE: Keep this framework to add/remove test files.
-#       This list are also used for checking exist.
-#       Comment '#' without space can be used.
-# --------------------------------------------------------------------
-LIST_LIBRARY_FILES="
-$HDFLIB_HOME/slf4j-api-1.7.5.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
-$top_builddir/src/.libs/libhdf5.*
-$top_builddir/java/src/jni/.libs/libhdf5_java.*
-$top_builddir/java/src/$JARFILE
-"
-LIST_DATA_FILES="
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Array.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ArrayAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Bit.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_BitAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Commit.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Compound.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_CompoundAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Float.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_FloatAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Integer.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_IntegerAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ObjectReference.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_Opaque.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_OpaqueAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_String.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_StringAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.datatypes.H5Ex_T_VLString.txt
-"
-
-#
-# copy files from source dirs to test dir
-#
-COPY_LIBFILES="$LIST_LIBRARY_FILES"
-
-COPY_LIBFILES_TO_BLDLIBDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_LIBFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDLIBDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_LIBFILES_AND_BLDLIBDIR()
-{
-    # skip rm if srcdir is same as destdir
-    # this occurs when build/test performed in source dir and
-    # make cp fail
-    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
-    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-        $RM $BLDLIBDIR
-    fi
-}
-
-COPY_DATAFILES="$LIST_DATA_FILES"
-
-COPY_DATAFILES_TO_BLDDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_DATAFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_DATAFILES_AND_BLDDIR()
-{
-        $RM $BLDDIR/examples.datatypes.H5Ex_T_*.txt
-        $RM $BLDDIR/H5Ex_T_*.out
-        $RM $BLDDIR/H5Ex_T_*.h5
-}
-
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
-   SPACES="                                                               "
-   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
-# where Java is installed (requires jdk1.7.x)
-JAVAEXE=@JAVA@
-JAVAEXEFLAGS=@H5_JAVAFLAGS@
-
-###############################################################################
-#            DO NOT MODIFY BELOW THIS LINE
-###############################################################################
-
-# prepare for test
-COPY_LIBFILES_TO_BLDLIBDIR
-COPY_DATAFILES_TO_BLDDIR
-
-CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
-
-TEST=/usr/bin/test
-if [ ! -x /usr/bin/test ]
-then
-TEST=`which test`
-fi
-
-if $TEST -z "$CLASSPATH"; then
-        CLASSPATH=""
-fi
-CLASSPATH=$CPATH":"$CLASSPATH
-export CLASSPATH
-
-if $TEST -n "$JAVAPATH" ; then
-        PATH=$JAVAPATH":"$PATH
-        export PATH
-fi
-
-if $TEST -e /bin/uname; then
-   os_name=`/bin/uname -s`
-elif $TEST -e /usr/bin/uname; then
-   os_name=`/usr/bin/uname -s`
-else
-   os_name=unknown
-fi
-
-if $TEST -z "$LD_LIBRARY_PATH" ; then
-        LD_LIBRARY_PATH=""
-fi
-
-case  $os_name in
-    Darwin)
-    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
-    export DYLD_LIBRARY_PATH
-    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
-    ;;
-    *)
-    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
-    ;;
-esac
-
-export LD_LIBRARY_PATH
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Array"
-TESTING examples.datatypes.H5Ex_T_Array
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Array > H5Ex_T_Array.out)
-if diff H5Ex_T_Array.out examples.datatypes.H5Ex_T_Array.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Array"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Array"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ArrayAttribute"
-TESTING examples.datatypes.H5Ex_T_ArrayAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ArrayAttribute > H5Ex_T_ArrayAttribute.out)
-if diff H5Ex_T_ArrayAttribute.out examples.datatypes.H5Ex_T_ArrayAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_ArrayAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_ArrayAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Bit"
-TESTING examples.datatypes.H5Ex_T_Bit
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Bit > H5Ex_T_Bit.out)
-if diff H5Ex_T_Bit.out examples.datatypes.H5Ex_T_Bit.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Bit"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Bit"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_BitAttribute"
-TESTING examples.datatypes.H5Ex_T_BitAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_BitAttribute > H5Ex_T_BitAttribute.out)
-if diff H5Ex_T_BitAttribute.out examples.datatypes.H5Ex_T_BitAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_BitAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_BitAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Commit"
-TESTING examples.datasets.H5Ex_T_Commit
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Commit > H5Ex_T_Commit.out)
-if diff H5Ex_T_Commit.out examples.datatypes.H5Ex_T_Commit.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Commit"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Commit"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Compound"
-TESTING examples.datatypes.H5Ex_T_Compound
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Compound > H5Ex_T_Compound.out)
-if diff H5Ex_T_Compound.out examples.datatypes.H5Ex_T_Compound.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Compound"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Compound"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_CompoundAttribute"
-TESTING examples.datatypes.H5Ex_T_CompoundAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_CompoundAttribute > H5Ex_T_CompoundAttribute.out)
-if diff H5Ex_T_CompoundAttribute.out examples.datatypes.H5Ex_T_CompoundAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_CompoundAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_CompoundAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Float"
-TESTING examples.datatypes.H5Ex_T_Float
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Float > H5Ex_T_Float.out)
-if diff H5Ex_T_Float.out examples.datatypes.H5Ex_T_Float.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Float"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Float"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_FloatAttribute"
-TESTING examples.datatypes.H5Ex_T_FloatAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_FloatAttribute > H5Ex_T_FloatAttribute.out)
-if diff H5Ex_T_FloatAttribute.out examples.datatypes.H5Ex_T_FloatAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_FloatAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_FloatAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Integer"
-TESTING examples.datatypes.H5Ex_T_Integer
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Integer > H5Ex_T_Integer.out)
-if diff H5Ex_T_Integer.out examples.datatypes.H5Ex_T_Integer.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Integer"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Integer"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_IntegerAttribute"
-TESTING examples.datatypes.H5Ex_T_IntegerAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_IntegerAttribute > H5Ex_T_IntegerAttribute.out)
-if diff H5Ex_T_IntegerAttribute.out examples.datatypes.H5Ex_T_IntegerAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_IntegerAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_IntegerAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReference"
-TESTING examples.datatypes.H5Ex_T_ObjectReference
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReference > H5Ex_T_ObjectReference.out)
-if diff H5Ex_T_ObjectReference.out examples.datatypes.H5Ex_T_ObjectReference.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_ObjectReference"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_ObjectReference"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReferenceAttribute"
-TESTING examples.datatypes.H5Ex_T_ObjectReferenceAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_ObjectReferenceAttribute > H5Ex_T_ObjectReferenceAttribute.out)
-if diff H5Ex_T_ObjectReferenceAttribute.out examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_ObjectReferenceAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_ObjectReferenceAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Opaque"
-TESTING examples.datatypes.H5Ex_T_Opaque
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_Opaque > H5Ex_T_Opaque.out)
-if diff H5Ex_T_Opaque.out examples.datatypes.H5Ex_T_Opaque.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_Opaque"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_Opaque"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_OpaqueAttribute"
-TESTING examples.datatypes.H5Ex_T_OpaqueAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_OpaqueAttribute > H5Ex_T_OpaqueAttribute.out)
-if diff H5Ex_T_OpaqueAttribute.out examples.datatypes.H5Ex_T_OpaqueAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_OpaqueAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_OpaqueAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_String"
-TESTING examples.datatypes.H5Ex_T_String
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_String > H5Ex_T_String.out)
-if diff H5Ex_T_String.out examples.datatypes.H5Ex_T_String.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_String"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_String"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_StringAttribute"
-TESTING examples.datatypes.H5Ex_T_StringAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_StringAttribute > H5Ex_T_StringAttribute.out)
-if diff H5Ex_T_StringAttribute.out examples.datatypes.H5Ex_T_StringAttribute.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_StringAttribute"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_StringAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_VLString"
-TESTING examples.datatypes.H5Ex_T_VLString
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.datatypes.H5Ex_T_VLString > H5Ex_T_VLString.out)
-if diff H5Ex_T_VLString.out examples.datatypes.H5Ex_T_VLString.txt > /dev/null; then
-    echo "  PASSED      datatypes.H5Ex_T_VLString"
-else
-    echo "**FAILED**    datatypes.H5Ex_T_VLString"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-# Clean up temporary files/directories
-CLEAN_LIBFILES_AND_BLDLIBDIR
-CLEAN_DATAFILES_AND_BLDDIR
-
-# Report test results and exit
-if test $nerrors -eq 0 ; then
-    echo "All $TESTNAME tests passed."
-    exit $EXIT_SUCCESS
-else
-    echo "$TESTNAME tests failed with $nerrors errors."
-    exit $EXIT_FAILURE
-fi
diff --git a/java/examples/groups/JavaGroupExample.sh.in b/java/examples/groups/JavaGroupExample.sh.in
new file mode 100644
index 0000000..53c0045
--- /dev/null
+++ b/java/examples/groups/JavaGroupExample.sh.in
@@ -0,0 +1,354 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# 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 COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+top_builddir=@top_builddir@
+top_srcdir=@top_srcdir@
+srcdir=@srcdir@
+
+TESTNAME=EX_Groups
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Set up default variable values if not supplied by the user.
+RM='rm -rf'
+CMP='cmp'
+DIFF='diff -c'
+CP='cp'
+DIRNAME='dirname'
+LS='ls'
+AWK='awk'
+
+nerrors=0
+
+# where the libs exist
+HDFLIB_HOME="$top_srcdir/java/lib"
+BLDLIBDIR="$top_builddir/hdf5/lib"
+BLDREFDIR="./groups"
+BLDDIR="."
+HDFTEST_HOME="$top_srcdir/java/examples/groups"
+JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+TESTJARFILE=jar@PACKAGE_TARNAME@groups.jar
+test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
+test -d $BLDREFDIR || mkdir -p $BLDREFDIR
+
+######################################################################
+# library files
+# --------------------------------------------------------------------
+# All the library files copy from source directory to test directory
+# NOTE: Keep this framework to add/remove test files.
+#       This list are also used for checking exist.
+#       Comment '#' without space can be used.
+# --------------------------------------------------------------------
+LIST_LIBRARY_FILES="
+$HDFLIB_HOME/slf4j-api-1.7.5.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
+$top_builddir/src/.libs/libhdf5.*
+$top_builddir/java/src/jni/.libs/libhdf5_java.*
+$top_builddir/java/src/$JARFILE
+"
+LIST_REF_FILES="
+$HDFTEST_HOME/h5ex_g_iterate.h5
+$HDFTEST_HOME/h5ex_g_visit.h5
+"
+LIST_DATA_FILES="
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Create.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Iterate.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Compact.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Corder.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Intermediate.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Phase.txt
+$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Visit.txt
+"
+
+#
+# copy files from source dirs to test dir
+#
+COPY_LIBFILES="$LIST_LIBRARY_FILES"
+
+COPY_LIBFILES_TO_BLDLIBDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_LIBFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDLIBDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_LIBFILES_AND_BLDLIBDIR()
+{
+    # skip rm if srcdir is same as destdir
+    # this occurs when build/test performed in source dir and
+    # make cp fail
+    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
+    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+        $RM $BLDLIBDIR
+    fi
+}
+
+COPY_DATAFILES="$LIST_DATA_FILES"
+
+COPY_DATAFILES_TO_BLDDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_DATAFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_DATAFILES_AND_BLDDIR()
+{
+        $RM $BLDDIR/examples.groups.H5Ex_G_*.txt
+        $RM $BLDDIR/H5Ex_G_*.out
+        $RM $BLDDIR/H5Ex_G_*.h5
+        SDIR=`$DIRNAME $tstfile`
+        INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+        INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
+        if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then            SDIR=`$DIRNAME $tstfile`
+            $RM $BLDDIR/h5ex_g_iterate.h5
+            $RM $BLDDIR/h5ex_g_visit.h5
+        fi
+}
+
+COPY_REFFILES="$LIST_REF_FILES"
+
+COPY_REFFILES_TO_BLDREFDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_REFFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDREFDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_REFFILES_AND_BLDREFDIR()
+{
+    # skip rm if srcdir is same as destdir
+    # this occurs when build/test performed in source dir and
+    # make cp fail
+    SDIR=`$DIRNAME $HDFTEST_HOME/h5ex_g_iterate.h5`
+    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+    INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
+    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+        $RM $BLDREFDIR
+    fi
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+# where Java is installed (requires jdk1.7.x)
+JAVAEXE=@JAVA@
+JAVAEXEFLAGS=@H5_JAVAFLAGS@
+
+###############################################################################
+#            DO NOT MODIFY BELOW THIS LINE
+###############################################################################
+
+# prepare for test
+COPY_LIBFILES_TO_BLDLIBDIR
+COPY_DATAFILES_TO_BLDDIR
+COPY_REFFILES_TO_BLDREFDIR
+
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
+
+TEST=/usr/bin/test
+if [ ! -x /usr/bin/test ]
+then
+TEST=`which test`
+fi
+
+if $TEST -z "$CLASSPATH"; then
+        CLASSPATH=""
+fi
+CLASSPATH=$CPATH":"$CLASSPATH
+export CLASSPATH
+
+if $TEST -n "$JAVAPATH" ; then
+        PATH=$JAVAPATH":"$PATH
+        export PATH
+fi
+
+if $TEST -e /bin/uname; then
+   os_name=`/bin/uname -s`
+elif $TEST -e /usr/bin/uname; then
+   os_name=`/usr/bin/uname -s`
+else
+   os_name=unknown
+fi
+
+if $TEST -z "$LD_LIBRARY_PATH" ; then
+        LD_LIBRARY_PATH=""
+fi
+
+case  $os_name in
+    Darwin)
+    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
+    export DYLD_LIBRARY_PATH
+    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
+    ;;
+    *)
+    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
+    ;;
+esac
+
+export LD_LIBRARY_PATH
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Create"
+TESTING examples.groups.H5Ex_G_Create
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Create > H5Ex_G_Create.out)
+if diff H5Ex_G_Create.out examples.groups.H5Ex_G_Create.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Create"
+else
+    echo "**FAILED**    groups.H5Ex_G_Create"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Iterate"
+TESTING examples.groups.H5Ex_G_Iterate
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Iterate > H5Ex_G_Iterate.out)
+if diff H5Ex_G_Iterate.out examples.groups.H5Ex_G_Iterate.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Iterate"
+else
+    echo "**FAILED**    groups.H5Ex_G_Iterate"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Compact"
+TESTING examples.groups.H5Ex_G_Compact
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Compact > H5Ex_G_Compact.out)
+if diff H5Ex_G_Compact.out examples.groups.H5Ex_G_Compact.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Compact"
+else
+    echo "**FAILED**    groups.H5Ex_G_Compact"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Corder"
+TESTING examples.groups.H5Ex_G_Corder
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Corder > H5Ex_G_Corder.out)
+if diff H5Ex_G_Corder.out examples.groups.H5Ex_G_Corder.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Corder"
+else
+    echo "**FAILED**    groups.H5Ex_G_Corder"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Intermediate"
+TESTING examples.groups.H5Ex_G_Intermediate
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Intermediate > H5Ex_G_Intermediate.out)
+if diff H5Ex_G_Intermediate.out examples.groups.H5Ex_G_Intermediate.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Intermediate"
+else
+    echo "**FAILED**    groups.H5Ex_G_Intermediate"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Phase"
+TESTING examples.groups.H5Ex_G_Phase
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Phase > H5Ex_G_Phase.out)
+if diff H5Ex_G_Phase.out examples.groups.H5Ex_G_Phase.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Phase"
+else
+    echo "**FAILED**    groups.H5Ex_G_Phase"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Visit"
+TESTING examples.groups.H5Ex_G_Visit
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Visit > H5Ex_G_Visit.out)
+if diff H5Ex_G_Visit.out examples.groups.H5Ex_G_Visit.txt > /dev/null; then
+    echo "  PASSED      groups.H5Ex_G_Visit"
+else
+    echo "**FAILED**    groups.H5Ex_G_Visit"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+# Clean up temporary files/directories
+CLEAN_LIBFILES_AND_BLDLIBDIR
+CLEAN_DATAFILES_AND_BLDDIR
+CLEAN_REFFILES_AND_BLDREFDIR
+
+# Report test results and exit
+if test $nerrors -eq 0 ; then
+    echo "All $TESTNAME tests passed."
+    exit $EXIT_SUCCESS
+else
+    echo "$TESTNAME tests failed with $nerrors errors."
+    exit $EXIT_FAILURE
+fi
diff --git a/java/examples/groups/Makefile.am b/java/examples/groups/Makefile.am
index 08721e0..4da17f9 100644
--- a/java/examples/groups/Makefile.am
+++ b/java/examples/groups/Makefile.am
@@ -53,10 +53,10 @@ noinst_DATA = $(jarfile)
 
 .PHONY: classes
 
-check_SCRIPTS = runExample.sh
+check_SCRIPTS = JavaGroupExample.sh
 TEST_SCRIPT = $(check_SCRIPTS)
 
-CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
+CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class JavaGroupExample.sh
 
 clean:
 	rm -rf $(JAVAROOT)/*
diff --git a/java/examples/groups/runExample.sh.in b/java/examples/groups/runExample.sh.in
deleted file mode 100644
index 53c0045..0000000
--- a/java/examples/groups/runExample.sh.in
+++ /dev/null
@@ -1,354 +0,0 @@
-#! /bin/sh
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# 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 COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
-# If you do not have access to either file, you may request a copy from
-# help@hdfgroup.org.
-#
-
-top_builddir=@top_builddir@
-top_srcdir=@top_srcdir@
-srcdir=@srcdir@
-
-TESTNAME=EX_Groups
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-# Set up default variable values if not supplied by the user.
-RM='rm -rf'
-CMP='cmp'
-DIFF='diff -c'
-CP='cp'
-DIRNAME='dirname'
-LS='ls'
-AWK='awk'
-
-nerrors=0
-
-# where the libs exist
-HDFLIB_HOME="$top_srcdir/java/lib"
-BLDLIBDIR="$top_builddir/hdf5/lib"
-BLDREFDIR="./groups"
-BLDDIR="."
-HDFTEST_HOME="$top_srcdir/java/examples/groups"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
-TESTJARFILE=jar@PACKAGE_TARNAME@groups.jar
-test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
-test -d $BLDREFDIR || mkdir -p $BLDREFDIR
-
-######################################################################
-# library files
-# --------------------------------------------------------------------
-# All the library files copy from source directory to test directory
-# NOTE: Keep this framework to add/remove test files.
-#       This list are also used for checking exist.
-#       Comment '#' without space can be used.
-# --------------------------------------------------------------------
-LIST_LIBRARY_FILES="
-$HDFLIB_HOME/slf4j-api-1.7.5.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
-$top_builddir/src/.libs/libhdf5.*
-$top_builddir/java/src/jni/.libs/libhdf5_java.*
-$top_builddir/java/src/$JARFILE
-"
-LIST_REF_FILES="
-$HDFTEST_HOME/h5ex_g_iterate.h5
-$HDFTEST_HOME/h5ex_g_visit.h5
-"
-LIST_DATA_FILES="
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Create.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Iterate.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Compact.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Corder.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Intermediate.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Phase.txt
-$HDFTEST_HOME/../testfiles/examples.groups.H5Ex_G_Visit.txt
-"
-
-#
-# copy files from source dirs to test dir
-#
-COPY_LIBFILES="$LIST_LIBRARY_FILES"
-
-COPY_LIBFILES_TO_BLDLIBDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_LIBFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDLIBDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_LIBFILES_AND_BLDLIBDIR()
-{
-    # skip rm if srcdir is same as destdir
-    # this occurs when build/test performed in source dir and
-    # make cp fail
-    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
-    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-        $RM $BLDLIBDIR
-    fi
-}
-
-COPY_DATAFILES="$LIST_DATA_FILES"
-
-COPY_DATAFILES_TO_BLDDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_DATAFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_DATAFILES_AND_BLDDIR()
-{
-        $RM $BLDDIR/examples.groups.H5Ex_G_*.txt
-        $RM $BLDDIR/H5Ex_G_*.out
-        $RM $BLDDIR/H5Ex_G_*.h5
-        SDIR=`$DIRNAME $tstfile`
-        INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-        INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
-        if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then            SDIR=`$DIRNAME $tstfile`
-            $RM $BLDDIR/h5ex_g_iterate.h5
-            $RM $BLDDIR/h5ex_g_visit.h5
-        fi
-}
-
-COPY_REFFILES="$LIST_REF_FILES"
-
-COPY_REFFILES_TO_BLDREFDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_REFFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDREFDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_REFFILES_AND_BLDREFDIR()
-{
-    # skip rm if srcdir is same as destdir
-    # this occurs when build/test performed in source dir and
-    # make cp fail
-    SDIR=`$DIRNAME $HDFTEST_HOME/h5ex_g_iterate.h5`
-    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-    INODE_DDIR=`$LS -i -d $BLDREFDIR | $AWK -F' ' '{print $1}'`
-    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-        $RM $BLDREFDIR
-    fi
-}
-
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
-   SPACES="                                                               "
-   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
-# where Java is installed (requires jdk1.7.x)
-JAVAEXE=@JAVA@
-JAVAEXEFLAGS=@H5_JAVAFLAGS@
-
-###############################################################################
-#            DO NOT MODIFY BELOW THIS LINE
-###############################################################################
-
-# prepare for test
-COPY_LIBFILES_TO_BLDLIBDIR
-COPY_DATAFILES_TO_BLDDIR
-COPY_REFFILES_TO_BLDREFDIR
-
-CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
-
-TEST=/usr/bin/test
-if [ ! -x /usr/bin/test ]
-then
-TEST=`which test`
-fi
-
-if $TEST -z "$CLASSPATH"; then
-        CLASSPATH=""
-fi
-CLASSPATH=$CPATH":"$CLASSPATH
-export CLASSPATH
-
-if $TEST -n "$JAVAPATH" ; then
-        PATH=$JAVAPATH":"$PATH
-        export PATH
-fi
-
-if $TEST -e /bin/uname; then
-   os_name=`/bin/uname -s`
-elif $TEST -e /usr/bin/uname; then
-   os_name=`/usr/bin/uname -s`
-else
-   os_name=unknown
-fi
-
-if $TEST -z "$LD_LIBRARY_PATH" ; then
-        LD_LIBRARY_PATH=""
-fi
-
-case  $os_name in
-    Darwin)
-    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
-    export DYLD_LIBRARY_PATH
-    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
-    ;;
-    *)
-    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
-    ;;
-esac
-
-export LD_LIBRARY_PATH
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Create"
-TESTING examples.groups.H5Ex_G_Create
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Create > H5Ex_G_Create.out)
-if diff H5Ex_G_Create.out examples.groups.H5Ex_G_Create.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Create"
-else
-    echo "**FAILED**    groups.H5Ex_G_Create"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Iterate"
-TESTING examples.groups.H5Ex_G_Iterate
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Iterate > H5Ex_G_Iterate.out)
-if diff H5Ex_G_Iterate.out examples.groups.H5Ex_G_Iterate.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Iterate"
-else
-    echo "**FAILED**    groups.H5Ex_G_Iterate"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Compact"
-TESTING examples.groups.H5Ex_G_Compact
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Compact > H5Ex_G_Compact.out)
-if diff H5Ex_G_Compact.out examples.groups.H5Ex_G_Compact.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Compact"
-else
-    echo "**FAILED**    groups.H5Ex_G_Compact"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Corder"
-TESTING examples.groups.H5Ex_G_Corder
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Corder > H5Ex_G_Corder.out)
-if diff H5Ex_G_Corder.out examples.groups.H5Ex_G_Corder.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Corder"
-else
-    echo "**FAILED**    groups.H5Ex_G_Corder"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Intermediate"
-TESTING examples.groups.H5Ex_G_Intermediate
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Intermediate > H5Ex_G_Intermediate.out)
-if diff H5Ex_G_Intermediate.out examples.groups.H5Ex_G_Intermediate.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Intermediate"
-else
-    echo "**FAILED**    groups.H5Ex_G_Intermediate"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Phase"
-TESTING examples.groups.H5Ex_G_Phase
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Phase > H5Ex_G_Phase.out)
-if diff H5Ex_G_Phase.out examples.groups.H5Ex_G_Phase.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Phase"
-else
-    echo "**FAILED**    groups.H5Ex_G_Phase"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Visit"
-TESTING examples.groups.H5Ex_G_Visit
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.groups.H5Ex_G_Visit > H5Ex_G_Visit.out)
-if diff H5Ex_G_Visit.out examples.groups.H5Ex_G_Visit.txt > /dev/null; then
-    echo "  PASSED      groups.H5Ex_G_Visit"
-else
-    echo "**FAILED**    groups.H5Ex_G_Visit"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-# Clean up temporary files/directories
-CLEAN_LIBFILES_AND_BLDLIBDIR
-CLEAN_DATAFILES_AND_BLDDIR
-CLEAN_REFFILES_AND_BLDREFDIR
-
-# Report test results and exit
-if test $nerrors -eq 0 ; then
-    echo "All $TESTNAME tests passed."
-    exit $EXIT_SUCCESS
-else
-    echo "$TESTNAME tests failed with $nerrors errors."
-    exit $EXIT_FAILURE
-fi
diff --git a/java/examples/intro/JavaIntroExample.sh.in b/java/examples/intro/JavaIntroExample.sh.in
new file mode 100644
index 0000000..3c3036a
--- /dev/null
+++ b/java/examples/intro/JavaIntroExample.sh.in
@@ -0,0 +1,296 @@
+#! /bin/sh
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# 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 COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+top_builddir=@top_builddir@
+top_srcdir=@top_srcdir@
+srcdir=@srcdir@
+
+TESTNAME=EX_Intro
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+
+# Set up default variable values if not supplied by the user.
+RM='rm -rf'
+CMP='cmp'
+DIFF='diff -c'
+CP='cp'
+DIRNAME='dirname'
+LS='ls'
+AWK='awk'
+
+nerrors=0
+
+# where the libs exist
+HDFLIB_HOME="$top_srcdir/java/lib"
+BLDLIBDIR="$top_builddir/hdf5/lib"
+BLDDIR="."
+HDFTEST_HOME="$top_srcdir/java/examples/intro"
+JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+TESTJARFILE=jar@PACKAGE_TARNAME@intro.jar
+test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
+
+######################################################################
+# library files
+# --------------------------------------------------------------------
+# All the library files copy from source directory to test directory
+# NOTE: Keep this framework to add/remove test files.
+#       This list are also used for checking exist.
+#       Comment '#' without space can be used.
+# --------------------------------------------------------------------
+LIST_LIBRARY_FILES="
+$HDFLIB_HOME/slf4j-api-1.7.5.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
+$top_builddir/src/.libs/libhdf5.*
+$top_builddir/java/src/jni/.libs/libhdf5_java.*
+$top_builddir/java/src/$JARFILE
+"
+LIST_DATA_FILES="
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateDataset.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateAttribute.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateFile.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroup.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroupAbsoluteRelative.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroupDataset.txt
+$HDFTEST_HOME/../testfiles/examples.intro.H5_ReadWrite.txt
+"
+
+#
+# copy files from source dirs to test dir
+#
+COPY_LIBFILES="$LIST_LIBRARY_FILES"
+
+COPY_LIBFILES_TO_BLDLIBDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_LIBFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDLIBDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_LIBFILES_AND_BLDLIBDIR()
+{
+    # skip rm if srcdir is same as destdir
+    # this occurs when build/test performed in source dir and
+    # make cp fail
+    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
+    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
+    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+        $RM $BLDLIBDIR
+    fi
+}
+
+COPY_DATAFILES="$LIST_DATA_FILES"
+
+COPY_DATAFILES_TO_BLDDIR()
+{
+    # copy test files. Used -f to make sure get a new copy
+    for tstfile in $COPY_DATAFILES
+    do
+        # ignore '#' comment
+        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
+        RET=$?
+        if [ $RET -eq 1 ]; then
+            # skip cp if srcdir is same as destdir
+            # this occurs when build/test performed in source dir and
+            # make cp fail
+            SDIR=`$DIRNAME $tstfile`
+            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
+            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
+            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
+                $CP -f $tstfile $BLDDIR
+                if [ $? -ne 0 ]; then
+                    echo "Error: FAILED to copy $tstfile ."
+
+                    # Comment out this to CREATE expected file
+                    exit $EXIT_FAILURE
+                fi
+            fi
+        fi
+    done
+}
+
+CLEAN_DATAFILES_AND_BLDDIR()
+{
+        $RM $BLDDIR/examples.intro.H5_*.txt
+        $RM $BLDDIR/H5_*.out
+        $RM $BLDDIR/H5_*.h5
+}
+
+# Print a line-line message left justified in a field of 70 characters
+# beginning with the word "Testing".
+#
+TESTING() {
+   SPACES="                                                               "
+   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
+}
+
+# where Java is installed (requires jdk1.7.x)
+JAVAEXE=@JAVA@
+JAVAEXEFLAGS=@H5_JAVAFLAGS@
+
+###############################################################################
+#            DO NOT MODIFY BELOW THIS LINE
+###############################################################################
+
+# prepare for test
+COPY_LIBFILES_TO_BLDLIBDIR
+COPY_DATAFILES_TO_BLDDIR
+
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
+
+TEST=/usr/bin/test
+if [ ! -x /usr/bin/test ]
+then
+TEST=`which test`
+fi
+
+if $TEST -z "$CLASSPATH"; then
+        CLASSPATH=""
+fi
+CLASSPATH=$CPATH":"$CLASSPATH
+export CLASSPATH
+
+if $TEST -n "$JAVAPATH" ; then
+        PATH=$JAVAPATH":"$PATH
+        export PATH
+fi
+
+if $TEST -e /bin/uname; then
+   os_name=`/bin/uname -s`
+elif $TEST -e /usr/bin/uname; then
+   os_name=`/usr/bin/uname -s`
+else
+   os_name=unknown
+fi
+
+if $TEST -z "$LD_LIBRARY_PATH" ; then
+        LD_LIBRARY_PATH=""
+fi
+
+case  $os_name in
+    Darwin)
+    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
+    export DYLD_LIBRARY_PATH
+    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
+    ;;
+    *)
+    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
+    ;;
+esac
+
+export LD_LIBRARY_PATH
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset"
+TESTING examples.intro.H5_CreateDataset
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset > H5_CreateDataset.out)
+if diff H5_CreateDataset.out examples.intro.H5_CreateDataset.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateDataset"
+else
+    echo "**FAILED**    intro.H5_CreateDataset"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute"
+TESTING examples.intro.H5_CreateAttribute
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute > H5_CreateAttribute.out)
+if diff H5_CreateAttribute.out examples.intro.H5_CreateAttribute.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateAttribute"
+else
+    echo "**FAILED**    intro.H5_CreateAttribute"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile"
+TESTING examples.intro.H5_CreateFile
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile > H5_CreateFile.out)
+if diff H5_CreateFile.out examples.intro.H5_CreateFile.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateFile"
+else
+    echo "**FAILED**    intro.H5_CreateFile"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup"
+TESTING examples.intro.H5_CreateGroup
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup > H5_CreateGroup.out)
+if diff H5_CreateGroup.out examples.intro.H5_CreateGroup.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateGroup"
+else
+    echo "**FAILED**    intro.H5_CreateGroup"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative"
+TESTING examples.intro.H5_CreateGroupAbsoluteRelative
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative > H5_CreateGroupAbsoluteRelative.out)
+if diff H5_CreateGroupAbsoluteRelative.out examples.intro.H5_CreateGroupAbsoluteRelative.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateGroupAbsoluteRelative"
+else
+    echo "**FAILED**    intro.H5_CreateGroupAbsoluteRelative"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset"
+TESTING examples.intro.H5_CreateGroupDataset
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset > H5_CreateGroupDataset.out)
+if diff H5_CreateGroupDataset.out examples.intro.H5_CreateGroupDataset.txt > /dev/null; then
+    echo "  PASSED      intro.H5_CreateGroupDataset"
+else
+    echo "**FAILED**    intro.H5_CreateGroupDataset"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite"
+TESTING examples.intro.H5_ReadWrite
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite > H5_ReadWrite.out)
+if diff H5_ReadWrite.out examples.intro.H5_ReadWrite.txt > /dev/null; then
+    echo "  PASSED      intro.H5_ReadWrite"
+else
+    echo "**FAILED**    intro.H5_ReadWrite"
+    nerrors="`expr $nerrors + 1`"
+fi
+
+# Clean up temporary files/directories
+CLEAN_LIBFILES_AND_BLDLIBDIR
+CLEAN_DATAFILES_AND_BLDDIR
+
+# Report test results and exit
+if test $nerrors -eq 0 ; then
+    echo "All $TESTNAME tests passed."
+    exit $EXIT_SUCCESS
+else
+    echo "$TESTNAME tests failed with $nerrors errors."
+    exit $EXIT_FAILURE
+fi
diff --git a/java/examples/intro/Makefile.am b/java/examples/intro/Makefile.am
index 95743d9..0df08cb 100644
--- a/java/examples/intro/Makefile.am
+++ b/java/examples/intro/Makefile.am
@@ -52,10 +52,10 @@ noinst_DATA = $(jarfile)
 
 .PHONY: classes
 
-check_SCRIPTS = runExample.sh
+check_SCRIPTS = JavaIntroExample.sh
 TEST_SCRIPT = $(check_SCRIPTS)
 
-CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class runExample.sh
+CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class JavaIntroExample.sh
 
 clean:
 	rm -rf $(JAVAROOT)/*
diff --git a/java/examples/intro/runExample.sh.in b/java/examples/intro/runExample.sh.in
deleted file mode 100644
index 3c3036a..0000000
--- a/java/examples/intro/runExample.sh.in
+++ /dev/null
@@ -1,296 +0,0 @@
-#! /bin/sh
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# 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 COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
-# If you do not have access to either file, you may request a copy from
-# help@hdfgroup.org.
-#
-
-top_builddir=@top_builddir@
-top_srcdir=@top_srcdir@
-srcdir=@srcdir@
-
-TESTNAME=EX_Intro
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-# Set up default variable values if not supplied by the user.
-RM='rm -rf'
-CMP='cmp'
-DIFF='diff -c'
-CP='cp'
-DIRNAME='dirname'
-LS='ls'
-AWK='awk'
-
-nerrors=0
-
-# where the libs exist
-HDFLIB_HOME="$top_srcdir/java/lib"
-BLDLIBDIR="$top_builddir/hdf5/lib"
-BLDDIR="."
-HDFTEST_HOME="$top_srcdir/java/examples/intro"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
-TESTJARFILE=jar@PACKAGE_TARNAME@intro.jar
-test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
-
-######################################################################
-# library files
-# --------------------------------------------------------------------
-# All the library files copy from source directory to test directory
-# NOTE: Keep this framework to add/remove test files.
-#       This list are also used for checking exist.
-#       Comment '#' without space can be used.
-# --------------------------------------------------------------------
-LIST_LIBRARY_FILES="
-$HDFLIB_HOME/slf4j-api-1.7.5.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
-$top_builddir/src/.libs/libhdf5.*
-$top_builddir/java/src/jni/.libs/libhdf5_java.*
-$top_builddir/java/src/$JARFILE
-"
-LIST_DATA_FILES="
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateDataset.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateAttribute.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateFile.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroup.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroupAbsoluteRelative.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_CreateGroupDataset.txt
-$HDFTEST_HOME/../testfiles/examples.intro.H5_ReadWrite.txt
-"
-
-#
-# copy files from source dirs to test dir
-#
-COPY_LIBFILES="$LIST_LIBRARY_FILES"
-
-COPY_LIBFILES_TO_BLDLIBDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_LIBFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDLIBDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_LIBFILES_AND_BLDLIBDIR()
-{
-    # skip rm if srcdir is same as destdir
-    # this occurs when build/test performed in source dir and
-    # make cp fail
-    SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.5.jar`
-    INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-    INODE_DDIR=`$LS -i -d $BLDLIBDIR | $AWK -F' ' '{print $1}'`
-    if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-        $RM $BLDLIBDIR
-    fi
-}
-
-COPY_DATAFILES="$LIST_DATA_FILES"
-
-COPY_DATAFILES_TO_BLDDIR()
-{
-    # copy test files. Used -f to make sure get a new copy
-    for tstfile in $COPY_DATAFILES
-    do
-        # ignore '#' comment
-        echo $tstfile | tr -d ' ' | grep '^#' > /dev/null
-        RET=$?
-        if [ $RET -eq 1 ]; then
-            # skip cp if srcdir is same as destdir
-            # this occurs when build/test performed in source dir and
-            # make cp fail
-            SDIR=`$DIRNAME $tstfile`
-            INODE_SDIR=`$LS -i -d $SDIR | $AWK -F' ' '{print $1}'`
-            INODE_DDIR=`$LS -i -d $BLDDIR | $AWK -F' ' '{print $1}'`
-            if [ "$INODE_SDIR" != "$INODE_DDIR" ]; then
-                $CP -f $tstfile $BLDDIR
-                if [ $? -ne 0 ]; then
-                    echo "Error: FAILED to copy $tstfile ."
-
-                    # Comment out this to CREATE expected file
-                    exit $EXIT_FAILURE
-                fi
-            fi
-        fi
-    done
-}
-
-CLEAN_DATAFILES_AND_BLDDIR()
-{
-        $RM $BLDDIR/examples.intro.H5_*.txt
-        $RM $BLDDIR/H5_*.out
-        $RM $BLDDIR/H5_*.h5
-}
-
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
-   SPACES="                                                               "
-   echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
-# where Java is installed (requires jdk1.7.x)
-JAVAEXE=@JAVA@
-JAVAEXEFLAGS=@H5_JAVAFLAGS@
-
-###############################################################################
-#            DO NOT MODIFY BELOW THIS LINE
-###############################################################################
-
-# prepare for test
-COPY_LIBFILES_TO_BLDLIBDIR
-COPY_DATAFILES_TO_BLDDIR
-
-CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
-
-TEST=/usr/bin/test
-if [ ! -x /usr/bin/test ]
-then
-TEST=`which test`
-fi
-
-if $TEST -z "$CLASSPATH"; then
-        CLASSPATH=""
-fi
-CLASSPATH=$CPATH":"$CLASSPATH
-export CLASSPATH
-
-if $TEST -n "$JAVAPATH" ; then
-        PATH=$JAVAPATH":"$PATH
-        export PATH
-fi
-
-if $TEST -e /bin/uname; then
-   os_name=`/bin/uname -s`
-elif $TEST -e /usr/bin/uname; then
-   os_name=`/usr/bin/uname -s`
-else
-   os_name=unknown
-fi
-
-if $TEST -z "$LD_LIBRARY_PATH" ; then
-        LD_LIBRARY_PATH=""
-fi
-
-case  $os_name in
-    Darwin)
-    DYLD_LIBRARY_PATH=$BLDLIBDIR:$DYLD_LIBRARY_PATH
-    export DYLD_LIBRARY_PATH
-    LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
-    ;;
-    *)
-    LD_LIBRARY_PATH=$BLDLIBDIR:$LD_LIBRARY_PATH
-    ;;
-esac
-
-export LD_LIBRARY_PATH
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset"
-TESTING examples.intro.H5_CreateDataset
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateDataset > H5_CreateDataset.out)
-if diff H5_CreateDataset.out examples.intro.H5_CreateDataset.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateDataset"
-else
-    echo "**FAILED**    intro.H5_CreateDataset"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute"
-TESTING examples.intro.H5_CreateAttribute
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateAttribute > H5_CreateAttribute.out)
-if diff H5_CreateAttribute.out examples.intro.H5_CreateAttribute.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateAttribute"
-else
-    echo "**FAILED**    intro.H5_CreateAttribute"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile"
-TESTING examples.intro.H5_CreateFile
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateFile > H5_CreateFile.out)
-if diff H5_CreateFile.out examples.intro.H5_CreateFile.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateFile"
-else
-    echo "**FAILED**    intro.H5_CreateFile"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup"
-TESTING examples.intro.H5_CreateGroup
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroup > H5_CreateGroup.out)
-if diff H5_CreateGroup.out examples.intro.H5_CreateGroup.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateGroup"
-else
-    echo "**FAILED**    intro.H5_CreateGroup"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative"
-TESTING examples.intro.H5_CreateGroupAbsoluteRelative
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupAbsoluteRelative > H5_CreateGroupAbsoluteRelative.out)
-if diff H5_CreateGroupAbsoluteRelative.out examples.intro.H5_CreateGroupAbsoluteRelative.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateGroupAbsoluteRelative"
-else
-    echo "**FAILED**    intro.H5_CreateGroupAbsoluteRelative"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset"
-TESTING examples.intro.H5_CreateGroupDataset
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_CreateGroupDataset > H5_CreateGroupDataset.out)
-if diff H5_CreateGroupDataset.out examples.intro.H5_CreateGroupDataset.txt > /dev/null; then
-    echo "  PASSED      intro.H5_CreateGroupDataset"
-else
-    echo "**FAILED**    intro.H5_CreateGroupDataset"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite"
-TESTING examples.intro.H5_ReadWrite
-($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH examples.intro.H5_ReadWrite > H5_ReadWrite.out)
-if diff H5_ReadWrite.out examples.intro.H5_ReadWrite.txt > /dev/null; then
-    echo "  PASSED      intro.H5_ReadWrite"
-else
-    echo "**FAILED**    intro.H5_ReadWrite"
-    nerrors="`expr $nerrors + 1`"
-fi
-
-# Clean up temporary files/directories
-CLEAN_LIBFILES_AND_BLDLIBDIR
-CLEAN_DATAFILES_AND_BLDDIR
-
-# Report test results and exit
-if test $nerrors -eq 0 ; then
-    echo "All $TESTNAME tests passed."
-    exit $EXIT_SUCCESS
-else
-    echo "$TESTNAME tests failed with $nerrors errors."
-    exit $EXIT_FAILURE
-fi
-- 
cgit v0.12


From 758ce30a94cee0ba91359e682b57529ad00bd0da Mon Sep 17 00:00:00 2001
From: Allen Byrne <byrn@hdfgroup.org>
Date: Wed, 20 Sep 2017 14:38:00 -0500
Subject: Update configure

---
 configure.ac | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/configure.ac b/configure.ac
index 91800e7..07d8b15 100644
--- a/configure.ac
+++ b/configure.ac
@@ -918,8 +918,8 @@ H5_FORTRAN_SHARED="no"
 if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
   AC_MSG_CHECKING([if shared Fortran libraries are supported])
   H5_FORTRAN_SHARED="yes"
-  ## tell libtool to do the right thing with COMMON symbols, this fixes 
-  ## corrupt values with COMMON and EQUIVALENCE when building shared 
+  ## tell libtool to do the right thing with COMMON symbols, this fixes
+  ## corrupt values with COMMON and EQUIVALENCE when building shared
   ## Fortran libraries on OSX with gnu and Intel compilers (HDFFV-2772).
   case "`uname`" in
     Darwin*)
@@ -1251,9 +1251,9 @@ AC_ARG_WITH([fnord],
   ])
 
 ## ----------------------------------------------------------------------
-## Is dmalloc (debug malloc library) requested? It has a header file 
+## Is dmalloc (debug malloc library) requested? It has a header file
 ## `dmalloc.h' and a library `-ldmalloc' and their locations might be
-## specified with the `--with-dmalloc' command-line switch. The value 
+## specified with the `--with-dmalloc' command-line switch. The value
 ## is an include path and/or a library path. If the library path is
 ## specified then it must be preceded by a comma.
 ##
@@ -3340,7 +3340,7 @@ fi
 
 if test "X$HDF_FORTRAN" = "Xyes"; then
 
-  ### libtool does not pass the correct argument linking (-Wl,-Wl,,) for the NAG Fortran compiler 
+  ### libtool does not pass the correct argument linking (-Wl,-Wl,,) for the NAG Fortran compiler
   ### on Linux (other OSs have not been tested).
   ### Therefore, detect if we are using the NAG Fortran compiler, and replace the wl="-Wl," for Fortran to
   ### wl="-Wl,-Wl,," in the libtool file. (HDFFV-10037)
@@ -3455,13 +3455,13 @@ AC_CONFIG_FILES([src/libhdf5.settings
                  java/test/junit.sh
                  java/examples/Makefile
                  java/examples/intro/Makefile
-                 java/examples/intro/runExample.sh
+                 java/examples/intro/JavaIntroExample.sh
                  java/examples/datasets/Makefile
-                 java/examples/datasets/runExample.sh
+                 java/examples/datasets/JavaDatasetExample.sh
                  java/examples/datatypes/Makefile
-                 java/examples/datatypes/runExample.sh
+                 java/examples/datatypes/JavaDatatypeExample.sh
                  java/examples/groups/Makefile
-                 java/examples/groups/runExample.sh
+                 java/examples/groups/JavaGroupExample.sh
                  hl/Makefile
                  hl/src/Makefile
                  hl/test/Makefile
@@ -3501,8 +3501,8 @@ fi
 
 if test "X$HDF_FORTRAN" = "Xyes"; then
   chmod 755 fortran/src/h5fc
-  ## libtool does not pass the correct argument linker (wl=) for the Intel Fortran compiler 
-  ## on OS X, which is needed when building shared libraries on OS X.  This script 
+  ## libtool does not pass the correct argument linker (wl=) for the Intel Fortran compiler
+  ## on OS X, which is needed when building shared libraries on OS X.  This script
   ## replaces the 3rd occurrence, which is for Fortran, of wl="" with wl="-Wl," (HDFFV-2772)
   case "`uname`" in
     Darwin*)
@@ -3510,7 +3510,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
       ;;
   esac
 
-  ### libtool does not pass the correct argument linking (-Wl,-Wl,,) for the NAG Fortran compiler 
+  ### libtool does not pass the correct argument linking (-Wl,-Wl,,) for the NAG Fortran compiler
   ### on Linux (other OSs have not been tested).
   ### Therefore, detect if we are using the NAG Fortran compiler, and replace the wl="-Wl," for Fortran to
   ### wl="-Wl,-Wl,," in the libtool file. (HDFFV-10037)
-- 
cgit v0.12