summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/CMakeLists.txt9
-rw-r--r--java/Makefile.in2
-rw-r--r--java/examples/CMakeLists.txt2
-rw-r--r--java/examples/Makefile.in2
-rw-r--r--java/examples/datasets/CMakeLists.txt47
-rw-r--r--java/examples/datasets/JavaDatasetExample.sh.in8
-rw-r--r--java/examples/datasets/Makefile.am2
-rw-r--r--java/examples/datasets/Makefile.in4
-rw-r--r--java/examples/datatypes/CMakeLists.txt7
-rw-r--r--java/examples/datatypes/JavaDatatypeExample.sh.in8
-rw-r--r--java/examples/datatypes/Makefile.am2
-rw-r--r--java/examples/datatypes/Makefile.in4
-rw-r--r--java/examples/groups/CMakeLists.txt7
-rw-r--r--java/examples/groups/JavaGroupExample.sh.in8
-rw-r--r--java/examples/groups/Makefile.am2
-rw-r--r--java/examples/groups/Makefile.in4
-rw-r--r--java/examples/intro/CMakeLists.txt7
-rw-r--r--java/examples/intro/JavaIntroExample.sh.in8
-rw-r--r--java/examples/intro/Makefile.am2
-rw-r--r--java/examples/intro/Makefile.in4
-rw-r--r--java/lib/ext/slf4j-nop-1.7.25.jarbin0 -> 4007 bytes
-rw-r--r--java/lib/ext/slf4j-nop-1.7.5.jarbin4091 -> 0 bytes
-rw-r--r--java/lib/ext/slf4j-simple-1.7.25.jarbin0 -> 15257 bytes
-rw-r--r--java/lib/ext/slf4j-simple-1.7.5.jarbin10680 -> 0 bytes
-rw-r--r--java/lib/slf4j-api-1.7.25.jarbin0 -> 41203 bytes
-rw-r--r--java/lib/slf4j-api-1.7.5.jarbin26084 -> 0 bytes
-rw-r--r--java/src/CMakeLists.txt2
-rw-r--r--java/src/Makefile.am2
-rw-r--r--java/src/Makefile.in4
-rw-r--r--java/src/hdf/CMakeLists.txt2
-rw-r--r--java/src/hdf/hdf5lib/CMakeLists.txt9
-rw-r--r--java/src/hdf/hdf5lib/H5.java331
-rw-r--r--java/src/hdf/hdf5lib/HDF5Constants.java21
-rw-r--r--java/src/hdf/hdf5lib/HDFArray.java5
-rw-r--r--java/src/hdf/hdf5lib/exceptions/HDF5Exception.java2
-rw-r--r--java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java23
-rw-r--r--java/src/hdf/overview.html15
-rw-r--r--java/src/jni/CMakeLists.txt9
-rw-r--r--java/src/jni/Makefile.in22
-rw-r--r--java/src/jni/exceptionImp.c19
-rw-r--r--java/src/jni/exceptionImp.h8
-rw-r--r--java/src/jni/h5Constants.c14
-rw-r--r--java/src/jni/h5aImp.c334
-rw-r--r--java/src/jni/h5aImp.h18
-rw-r--r--java/src/jni/h5dImp.c311
-rw-r--r--java/src/jni/h5dImp.h9
-rw-r--r--java/src/jni/h5eImp.c8
-rw-r--r--java/src/jni/h5lImp.c8
-rw-r--r--java/src/jni/h5oImp.c117
-rw-r--r--java/src/jni/h5oImp.h20
-rw-r--r--java/src/jni/h5pImp.c4
-rw-r--r--java/src/jni/h5util.c716
-rw-r--r--java/src/jni/h5util.h23
-rw-r--r--java/test/CMakeLists.txt197
-rw-r--r--java/test/JUnit-interface.ert2
-rw-r--r--java/test/JUnit-interface.txt671
-rw-r--r--java/test/Makefile.am24
-rw-r--r--java/test/Makefile.in25
-rw-r--r--java/test/TestAll.java4
-rw-r--r--java/test/TestH5.java4
-rw-r--r--java/test/TestH5A.java2
-rw-r--r--java/test/TestH5D.java2
-rw-r--r--java/test/TestH5Dplist.java2
-rw-r--r--java/test/TestH5E.java251
-rw-r--r--java/test/TestH5Edefault.java72
-rw-r--r--java/test/TestH5Eparams.java282
-rw-r--r--java/test/TestH5Eregister.java3
-rw-r--r--java/test/TestH5F.java2
-rw-r--r--java/test/TestH5Fbasic.java4
-rw-r--r--java/test/TestH5G.java4
-rw-r--r--java/test/TestH5Gbasic.java2
-rw-r--r--java/test/TestH5Lbasic.java2
-rw-r--r--java/test/TestH5Lcreate.java14
-rw-r--r--java/test/TestH5Obasic.java2
-rw-r--r--java/test/TestH5Ocreate.java4
-rw-r--r--java/test/TestH5Oparams.java16
-rw-r--r--java/test/TestH5P.java2
-rw-r--r--java/test/TestH5PData.java2
-rw-r--r--java/test/TestH5Pfapl.java8
-rw-r--r--java/test/TestH5T.java2
-rw-r--r--java/test/junit.sh.in830
-rw-r--r--java/test/testfiles/JUnit-TestH5.txt15
-rw-r--r--java/test/testfiles/JUnit-TestH5A.txt34
-rw-r--r--java/test/testfiles/JUnit-TestH5D.txt25
-rw-r--r--java/test/testfiles/JUnit-TestH5Dparams.txt26
-rw-r--r--java/test/testfiles/JUnit-TestH5Dplist.txt7
-rw-r--r--java/test/testfiles/JUnit-TestH5E.txt11
-rw-r--r--java/test/testfiles/JUnit-TestH5Edefault.txt60
-rw-r--r--java/test/testfiles/JUnit-TestH5Eparams.txt19
-rw-r--r--java/test/testfiles/JUnit-TestH5Eregister.txt11
-rw-r--r--java/test/testfiles/JUnit-TestH5F.txt14
-rw-r--r--java/test/testfiles/JUnit-TestH5Fbasic.txt21
-rw-r--r--java/test/testfiles/JUnit-TestH5Fparams.txt17
-rw-r--r--java/test/testfiles/JUnit-TestH5Fswmr.txt8
-rw-r--r--java/test/testfiles/JUnit-TestH5G.txt17
-rw-r--r--java/test/testfiles/JUnit-TestH5Gbasic.txt33
-rw-r--r--java/test/testfiles/JUnit-TestH5Giterate.txt7
-rw-r--r--java/test/testfiles/JUnit-TestH5Lbasic.txt23
-rw-r--r--java/test/testfiles/JUnit-TestH5Lcreate.txt42
-rw-r--r--java/test/testfiles/JUnit-TestH5Lparams.txt44
-rw-r--r--java/test/testfiles/JUnit-TestH5Obasic.txt29
-rw-r--r--java/test/testfiles/JUnit-TestH5Ocopy.txt9
-rw-r--r--java/test/testfiles/JUnit-TestH5Ocreate.txt21
-rw-r--r--java/test/testfiles/JUnit-TestH5Oparams.txt30
-rw-r--r--java/test/testfiles/JUnit-TestH5P.txt91
-rw-r--r--java/test/testfiles/JUnit-TestH5PData.txt8
-rw-r--r--java/test/testfiles/JUnit-TestH5PL.txt8
-rw-r--r--java/test/testfiles/JUnit-TestH5Pfapl.txt41
-rw-r--r--java/test/testfiles/JUnit-TestH5Plist.txt10
-rw-r--r--java/test/testfiles/JUnit-TestH5Pvirtual.txt17
-rw-r--r--java/test/testfiles/JUnit-TestH5R.txt23
-rw-r--r--java/test/testfiles/JUnit-TestH5S.txt29
-rw-r--r--java/test/testfiles/JUnit-TestH5Sbasic.txt22
-rw-r--r--java/test/testfiles/JUnit-TestH5T.txt19
-rw-r--r--java/test/testfiles/JUnit-TestH5Tbasic.txt11
-rw-r--r--java/test/testfiles/JUnit-TestH5Tparams.txt76
-rw-r--r--java/test/testfiles/JUnit-TestH5Z.txt9
117 files changed, 3862 insertions, 1655 deletions
diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt
index fc057f7..ffc3b94 100644
--- a/java/CMakeLists.txt
+++ b/java/CMakeLists.txt
@@ -1,8 +1,9 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT ( HDF5_JAVA C Java )
+project (HDF5_JAVA C Java)
set (CMAKE_MODULE_PATH "${HDF_RESOURCES_DIR};${HDF_RESOURCES_EXT_DIR}")
find_package (Java)
+
#-----------------------------------------------------------------------------
# Include some macros for reusable code
#-----------------------------------------------------------------------------
@@ -13,7 +14,6 @@ find_package (JNI)
message ("JNI_LIBRARIES=${JNI_LIBRARIES}")
message ("JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")
-INCLUDE_DIRECTORIES ( ${JNI_INCLUDE_DIRS} )
if (WIN32)
set (HDF_JRE_DIRECTORY "C:/Program Files/Java/jre8")
@@ -25,13 +25,14 @@ endif ()
# Include the main src and config directories
#-----------------------------------------------------------------------------
set (HDF5_JAVA_INCLUDE_DIRECTORIES
+ ${JNI_INCLUDE_DIRS}
${HDF5_JAVA_JNI_SRC_DIR}
${JAVA_INCLUDE_PATH}
${JAVA_INCLUDE_PATH2}
)
-INCLUDE_DIRECTORIES (${HDF5_JAVA_INCLUDE_DIRECTORIES})
-set (CMAKE_JAVA_INCLUDE_PATH "")
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${HDF5_JAVA_INCLUDE_DIRECTORIES}")
+set (CMAKE_JAVA_INCLUDE_PATH "")
#-----------------------------------------------------------------------------
# Traverse source subdirectory
diff --git a/java/Makefile.in b/java/Makefile.in
index aed83d1..268b4d1 100644
--- a/java/Makefile.in
+++ b/java/Makefile.in
@@ -542,6 +542,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -589,6 +590,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
diff --git a/java/examples/CMakeLists.txt b/java/examples/CMakeLists.txt
index 3d1e30e..828b96a 100644
--- a/java/examples/CMakeLists.txt
+++ b/java/examples/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDFJAVA_EXAMPLES)
+project (HDFJAVA_EXAMPLES Java)
add_subdirectory (datasets)
add_subdirectory (datatypes)
diff --git a/java/examples/Makefile.in b/java/examples/Makefile.in
index 7b3416e..cbbfded 100644
--- a/java/examples/Makefile.in
+++ b/java/examples/Makefile.in
@@ -542,6 +542,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -589,6 +590,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
diff --git a/java/examples/datasets/CMakeLists.txt b/java/examples/datasets/CMakeLists.txt
index 6a90cd1..1375372 100644
--- a/java/examples/datasets/CMakeLists.txt
+++ b/java/examples/datasets/CMakeLists.txt
@@ -1,13 +1,8 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDFJAVA_EXAMPLES_DATASETS Java)
+project (HDFJAVA_EXAMPLES_DATASETS Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_JNI_BINARY_DIR}
- ${HDF5_JAVA_HDF5_LIB_DIR}
-)
-
set (HDF_JAVA_EXAMPLES
H5Ex_D_Alloc
H5Ex_D_Checksum
@@ -15,13 +10,9 @@ set (HDF_JAVA_EXAMPLES
H5Ex_D_Compact
H5Ex_D_External
H5Ex_D_FillValue
- H5Ex_D_Gzip
H5Ex_D_Hyperslab
H5Ex_D_ReadWrite
- H5Ex_D_Shuffle
- H5Ex_D_Szip
H5Ex_D_UnlimitedAdd
- H5Ex_D_UnlimitedGzip
H5Ex_D_UnlimitedMod
H5Ex_D_Nbit
H5Ex_D_Transform
@@ -29,6 +20,25 @@ set (HDF_JAVA_EXAMPLES
H5Ex_D_Soint
)
+set (HDF_JAVA_ZLIB_EXAMPLES
+ H5Ex_D_Gzip
+ H5Ex_D_Shuffle
+ H5Ex_D_UnlimitedGzip
+)
+
+set (HDF_JAVA_SZIP_EXAMPLES
+ H5Ex_D_Szip
+)
+
+# detect whether the encoder is present.
+ if (H5_HAVE_FILTER_DEFLATE)
+ set (${HDF_JAVA_EXAMPLES} ${HDF_JAVA_EXAMPLES} ${HDF_JAVA_ZLIB_EXAMPLES})
+ endif ()
+
+ if (H5_HAVE_FILTER_SZIP)
+ set (${HDF_JAVA_EXAMPLES} ${HDF_JAVA_EXAMPLES} ${HDF_JAVA_SZIP_EXAMPLES})
+ endif (H5_HAVE_FILTER_SZIP)
+
if (WIN32)
set (CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
else ()
@@ -85,15 +95,6 @@ ENDMACRO ()
if (BUILD_TESTING)
-# detect whether the encoder is present.
- if (H5_HAVE_FILTER_DEFLATE)
- set (USE_FILTER_DEFLATE "true")
- endif ()
-
- if (H5_HAVE_FILTER_SZIP)
- set (USE_FILTER_SZIP "true")
- endif (H5_HAVE_FILTER_SZIP)
-
foreach (example ${HDF_JAVA_EXAMPLES})
if ("${example}" STREQUAL "H5Ex_D_External")
add_test (
@@ -123,13 +124,7 @@ if (BUILD_TESTING)
)
set_tests_properties (JAVA_datasets-${example}-copy-objects PROPERTIES DEPENDS JAVA_datasets-${example}-clear-objects)
set (last_test "JAVA_datasets-${example}-copy-objects")
- if ("${example}" STREQUAL "H5Ex_D_Szip")
- if (USE_FILTER_SZIP)
- ADD_H5_TEST (${example} 0)
- endif ()
- else ()
- ADD_H5_TEST (${example} 0)
- endif ()
+ ADD_H5_TEST (${example} 0)
endforeach ()
endif ()
diff --git a/java/examples/datasets/JavaDatasetExample.sh.in b/java/examples/datasets/JavaDatasetExample.sh.in
index 740b07d..cb16d45 100644
--- a/java/examples/datasets/JavaDatasetExample.sh.in
+++ b/java/examples/datasets/JavaDatasetExample.sh.in
@@ -52,8 +52,8 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# 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
+$HDFLIB_HOME/slf4j-api-1.7.25.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
$top_builddir/src/.libs/libhdf5.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
@@ -117,7 +117,7 @@ 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`
+ SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.25.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
@@ -183,7 +183,7 @@ JAVAEXEFLAGS=@H5_JAVAFLAGS@
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""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
diff --git a/java/examples/datasets/Makefile.am b/java/examples/datasets/Makefile.am
index ddd6d39..b442603 100644
--- a/java/examples/datasets/Makefile.am
+++ b/java/examples/datasets/Makefile.am
@@ -28,7 +28,7 @@ classes:
pkgpath = examples/datasets
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datasets.jar
diff --git a/java/examples/datasets/Makefile.in b/java/examples/datasets/Makefile.in
index 052d6e2..4bd266c 100644
--- a/java/examples/datasets/Makefile.in
+++ b/java/examples/datasets/Makefile.in
@@ -482,6 +482,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -529,6 +530,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -680,7 +682,7 @@ JAVA_API = yes
JAVAROOT = .classes
pkgpath = examples/datasets
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datasets.jar
TESTPACKAGE =
noinst_JAVA = \
diff --git a/java/examples/datatypes/CMakeLists.txt b/java/examples/datatypes/CMakeLists.txt
index 73111ed..4a8b2a4 100644
--- a/java/examples/datatypes/CMakeLists.txt
+++ b/java/examples/datatypes/CMakeLists.txt
@@ -1,13 +1,8 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDFJAVA_EXAMPLES_DATATYPES Java)
+project (HDFJAVA_EXAMPLES_DATATYPES Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_JNI_BINARY_DIR}
- ${HDF5_JAVA_HDF5_LIB_DIR}
-)
-
set (HDF_JAVA_EXAMPLES
H5Ex_T_Array
H5Ex_T_ArrayAttribute
diff --git a/java/examples/datatypes/JavaDatatypeExample.sh.in b/java/examples/datatypes/JavaDatatypeExample.sh.in
index 590a547..033442a 100644
--- a/java/examples/datatypes/JavaDatatypeExample.sh.in
+++ b/java/examples/datatypes/JavaDatatypeExample.sh.in
@@ -49,8 +49,8 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# 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
+$HDFLIB_HOME/slf4j-api-1.7.25.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
$top_builddir/src/.libs/libhdf5.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
@@ -114,7 +114,7 @@ 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`
+ SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.25.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
@@ -179,7 +179,7 @@ JAVAEXEFLAGS=@H5_JAVAFLAGS@
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""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
diff --git a/java/examples/datatypes/Makefile.am b/java/examples/datatypes/Makefile.am
index f6e58f1..5e0e971 100644
--- a/java/examples/datatypes/Makefile.am
+++ b/java/examples/datatypes/Makefile.am
@@ -28,7 +28,7 @@ classes:
pkgpath = examples/datatypes
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datatypes.jar
diff --git a/java/examples/datatypes/Makefile.in b/java/examples/datatypes/Makefile.in
index f86724a..1db68a7 100644
--- a/java/examples/datatypes/Makefile.in
+++ b/java/examples/datatypes/Makefile.in
@@ -482,6 +482,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -529,6 +530,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -680,7 +682,7 @@ JAVA_API = yes
JAVAROOT = .classes
pkgpath = examples/datatypes
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datatypes.jar
TESTPACKAGE =
noinst_JAVA = \
diff --git a/java/examples/groups/CMakeLists.txt b/java/examples/groups/CMakeLists.txt
index 6b55359..2c5d33b 100644
--- a/java/examples/groups/CMakeLists.txt
+++ b/java/examples/groups/CMakeLists.txt
@@ -1,13 +1,8 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDFJAVA_EXAMPLES_GROUPS Java)
+project (HDFJAVA_EXAMPLES_GROUPS Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_JNI_BINARY_DIR}
- ${HDF5_JAVA_HDF5_LIB_DIR}
-)
-
set (HDF_JAVA_EXAMPLES
H5Ex_G_Create
H5Ex_G_Iterate
diff --git a/java/examples/groups/JavaGroupExample.sh.in b/java/examples/groups/JavaGroupExample.sh.in
index 53c0045..36df02e 100644
--- a/java/examples/groups/JavaGroupExample.sh.in
+++ b/java/examples/groups/JavaGroupExample.sh.in
@@ -51,8 +51,8 @@ test -d $BLDREFDIR || mkdir -p $BLDREFDIR
# 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
+$HDFLIB_HOME/slf4j-api-1.7.25.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
$top_builddir/src/.libs/libhdf5.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
@@ -109,7 +109,7 @@ 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`
+ SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.25.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
@@ -225,7 +225,7 @@ 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""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
diff --git a/java/examples/groups/Makefile.am b/java/examples/groups/Makefile.am
index 4da17f9..09df743 100644
--- a/java/examples/groups/Makefile.am
+++ b/java/examples/groups/Makefile.am
@@ -28,7 +28,7 @@ classes:
pkgpath = examples/groups
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)groups.jar
diff --git a/java/examples/groups/Makefile.in b/java/examples/groups/Makefile.in
index 6f6a9be..53027b7 100644
--- a/java/examples/groups/Makefile.in
+++ b/java/examples/groups/Makefile.in
@@ -482,6 +482,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -529,6 +530,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -680,7 +682,7 @@ JAVA_API = yes
JAVAROOT = .classes
pkgpath = examples/groups
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)groups.jar
TESTPACKAGE =
noinst_JAVA = \
diff --git a/java/examples/intro/CMakeLists.txt b/java/examples/intro/CMakeLists.txt
index 65db3fe..8d56b86 100644
--- a/java/examples/intro/CMakeLists.txt
+++ b/java/examples/intro/CMakeLists.txt
@@ -1,13 +1,8 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDFJAVA_EXAMPLES_INTRO Java)
+project (HDFJAVA_EXAMPLES_INTRO Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_JNI_BINARY_DIR}
- ${HDF5_JAVA_HDF5_LIB_DIR}
-)
-
set (HDF_JAVA_EXAMPLES
H5_CreateAttribute
H5_CreateDataset
diff --git a/java/examples/intro/JavaIntroExample.sh.in b/java/examples/intro/JavaIntroExample.sh.in
index 3c3036a..077146d 100644
--- a/java/examples/intro/JavaIntroExample.sh.in
+++ b/java/examples/intro/JavaIntroExample.sh.in
@@ -49,8 +49,8 @@ test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
# 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
+$HDFLIB_HOME/slf4j-api-1.7.25.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
$top_builddir/src/.libs/libhdf5.*
$top_builddir/java/src/jni/.libs/libhdf5_java.*
$top_builddir/java/src/$JARFILE
@@ -103,7 +103,7 @@ 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`
+ SDIR=`$DIRNAME $HDFLIB_HOME/slf4j-api-1.7.25.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
@@ -168,7 +168,7 @@ JAVAEXEFLAGS=@H5_JAVAFLAGS@
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""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/slf4j-api-1.7.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
diff --git a/java/examples/intro/Makefile.am b/java/examples/intro/Makefile.am
index 0df08cb..33f44c2 100644
--- a/java/examples/intro/Makefile.am
+++ b/java/examples/intro/Makefile.am
@@ -28,7 +28,7 @@ classes:
pkgpath = examples/intro
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)intro.jar
diff --git a/java/examples/intro/Makefile.in b/java/examples/intro/Makefile.in
index 28b89a5..52f937a 100644
--- a/java/examples/intro/Makefile.in
+++ b/java/examples/intro/Makefile.in
@@ -482,6 +482,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -529,6 +530,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -680,7 +682,7 @@ JAVA_API = yes
JAVAROOT = .classes
pkgpath = examples/intro
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)intro.jar
TESTPACKAGE =
noinst_JAVA = \
diff --git a/java/lib/ext/slf4j-nop-1.7.25.jar b/java/lib/ext/slf4j-nop-1.7.25.jar
new file mode 100644
index 0000000..78c7295
--- /dev/null
+++ b/java/lib/ext/slf4j-nop-1.7.25.jar
Binary files differ
diff --git a/java/lib/ext/slf4j-nop-1.7.5.jar b/java/lib/ext/slf4j-nop-1.7.5.jar
deleted file mode 100644
index e55bdd8..0000000
--- a/java/lib/ext/slf4j-nop-1.7.5.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/ext/slf4j-simple-1.7.25.jar b/java/lib/ext/slf4j-simple-1.7.25.jar
new file mode 100644
index 0000000..b29ca12
--- /dev/null
+++ b/java/lib/ext/slf4j-simple-1.7.25.jar
Binary files differ
diff --git a/java/lib/ext/slf4j-simple-1.7.5.jar b/java/lib/ext/slf4j-simple-1.7.5.jar
deleted file mode 100644
index 9dece31..0000000
--- a/java/lib/ext/slf4j-simple-1.7.5.jar
+++ /dev/null
Binary files differ
diff --git a/java/lib/slf4j-api-1.7.25.jar b/java/lib/slf4j-api-1.7.25.jar
new file mode 100644
index 0000000..7e62f13
--- /dev/null
+++ b/java/lib/slf4j-api-1.7.25.jar
Binary files differ
diff --git a/java/lib/slf4j-api-1.7.5.jar b/java/lib/slf4j-api-1.7.5.jar
deleted file mode 100644
index 8766455..0000000
--- a/java/lib/slf4j-api-1.7.5.jar
+++ /dev/null
Binary files differ
diff --git a/java/src/CMakeLists.txt b/java/src/CMakeLists.txt
index 0c00923..3f80d8f 100644
--- a/java/src/CMakeLists.txt
+++ b/java/src/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT ( HDF5_JAVA_SRC C Java )
+project (HDF5_JAVA_SRC C)
#-----------------------------------------------------------------------------
# Traverse source subdirectory
diff --git a/java/src/Makefile.am b/java/src/Makefile.am
index 64eef0c..bd55c39 100644
--- a/java/src/Makefile.am
+++ b/java/src/Makefile.am
@@ -37,7 +37,7 @@ jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
hdf5_javadir = $(libdir)
pkgpath = hdf/hdf5lib
-CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$$CLASSPATH
AM_JAVACFLAGS = $(H5_JAVACFLAGS) -deprecation
diff --git a/java/src/Makefile.in b/java/src/Makefile.in
index 3f165ec..1523e8a 100644
--- a/java/src/Makefile.in
+++ b/java/src/Makefile.in
@@ -373,6 +373,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -420,6 +421,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -573,7 +575,7 @@ JAVAROOT = .classes
jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
hdf5_javadir = $(libdir)
pkgpath = hdf/hdf5lib
-CLASSPATH_ENV = CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$$CLASSPATH
hdf5_java_JAVA = \
${pkgpath}/callbacks/Callbacks.java \
${pkgpath}/callbacks/H5A_iterate_cb.java \
diff --git a/java/src/hdf/CMakeLists.txt b/java/src/hdf/CMakeLists.txt
index ecff984..161ddf1 100644
--- a/java/src/hdf/CMakeLists.txt
+++ b/java/src/hdf/CMakeLists.txt
@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDF5_JAVA_HDF)
+project (HDF5_JAVA_HDF C)
add_subdirectory (hdf5lib)
diff --git a/java/src/hdf/hdf5lib/CMakeLists.txt b/java/src/hdf/hdf5lib/CMakeLists.txt
index 9506fc1..c171ea8 100644
--- a/java/src/hdf/hdf5lib/CMakeLists.txt
+++ b/java/src/hdf/hdf5lib/CMakeLists.txt
@@ -1,14 +1,9 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDF5_JAVA_HDF_HDF5 Java)
+project (HDF5_JAVA_HDF_HDF5 Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_HDF_HDF5_SOURCE_DIR}
- ${HDF5_JAVA_HDF_HDF5_BINARY_DIR}
- ${HDF5_JAVA_LIB_DIR}
- ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${HDF5_JAVA_HDF5_LIB_CORENAME}.dir/hdf/hdf5lib
-)
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${HDF5_JAVA_HDF_HDF5_SOURCE_DIR};${HDF5_JAVA_HDF_HDF5_BINARY_DIR};${HDF5_JAVA_LIB_DIR};${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${HDF5_JAVA_HDF5_LIB_CORENAME}.dir/hdf/hdf5lib")
SET_GLOBAL_VARIABLE (HDF5_JAVA_SOURCE_PACKAGES
"${HDF5_JAVA_SOURCE_PACKAGES};hdf.hdf5lib.callbacks;hdf.hdf5lib.exceptions;hdf.hdf5lib.structs;hdf.hdf5lib"
diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java
index 7c1ff5b..9c62538 100644
--- a/java/src/hdf/hdf5lib/H5.java
+++ b/java/src/hdf/hdf5lib/H5.java
@@ -214,7 +214,7 @@ import hdf.hdf5lib.structs.H5O_info_t;
* exception handlers to print out the HDF-5 error stack.
* <hr>
*
- * @version HDF5 1.10.2 <BR>
+ * @version HDF5 1.10.3 <BR>
* <b>See also: <a href ="./hdf.hdf5lib.HDFArray.html"> hdf.hdf5lib.HDFArray</a> </b><BR>
* <a href ="./hdf.hdf5lib.HDF5Constants.html"> hdf.hdf5lib.HDF5Constants</a><BR>
* <a href ="./hdf.hdf5lib.HDF5CDataTypes.html"> hdf.hdf5lib.HDF5CDataTypes</a><BR>
@@ -237,7 +237,7 @@ public class H5 implements java.io.Serializable {
*
* Make sure to update the versions number when a different library is used.
*/
- public final static int LIB_VERSION[] = { 1, 10, 2 };
+ public final static int LIB_VERSION[] = { 1, 10, 3 };
public final static String H5PATH_PROPERTY_KEY = "hdf.hdf5lib.H5.hdf5lib";
@@ -1276,6 +1276,38 @@ public class H5 implements java.io.Serializable {
// ////////////////////////////////////////////////////////////
// //
+ // H5AC: Cache Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5B: B-link-tree Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5B2: v2 B-tree Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5C: Cache Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
// H5D: Datasets Interface Functions //
// //
// ////////////////////////////////////////////////////////////
@@ -1714,20 +1746,15 @@ public class H5 implements java.io.Serializable {
status = H5Dread_double(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
(double[]) obj, isCriticalPinning);
}
- else if (H5.H5Tequal(mem_type_id, HDF5Constants.H5T_STD_REF_DSETREG)) {
+ else if ((H5.H5Tdetect_class(mem_type_id, HDF5Constants.H5T_REFERENCE) && (is1D && (dataClass.getComponentType() == String.class))) || H5.H5Tequal(mem_type_id, HDF5Constants.H5T_STD_REF_DSETREG)) {
log.trace("H5Dread_reg_ref");
status = H5Dread_reg_ref(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
(String[]) obj);
}
else if (is1D && (dataClass.getComponentType() == String.class)) {
log.trace("H5Dread_string type");
- if (H5.H5Tis_variable_str(mem_type_id)) {
- status = H5Dread_VLStrings(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, (Object[]) obj);
- }
- else {
- status = H5Dread_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
+ status = H5Dread_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
(String[]) obj);
- }
}
else {
// Create a data buffer to hold the data into a Java Array
@@ -1947,7 +1974,7 @@ public class H5 implements java.io.Serializable {
Class dataClass = obj.getClass();
if (!dataClass.isArray()) {
- throw (new HDF5JavaException("H5Dread: data is not an array"));
+ throw (new HDF5JavaException("H5Dwrite: data is not an array"));
}
String cname = dataClass.getName();
@@ -1980,13 +2007,8 @@ public class H5 implements java.io.Serializable {
}
else if (is1D && (dataClass.getComponentType() == String.class)) {
log.trace("H5Dwrite_string type");
- if (H5.H5Tis_variable_str(mem_type_id)) {
- status = H5Dwrite_VLStrings(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, (Object[]) obj);
- }
- else {
- status = H5Dwrite_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
+ status = H5Dwrite_string(dataset_id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id,
(String[]) obj);
- }
}
else {
HDFArray theArray = new HDFArray(obj);
@@ -2052,6 +2074,9 @@ public class H5 implements java.io.Serializable {
public synchronized static native int H5Dwrite_string(long dataset_id, long mem_type_id, long mem_space_id,
long file_space_id, long xfer_plist_id, String[] buf) throws HDF5LibraryException, NullPointerException;
+ public synchronized static native int H5DwriteVL(long dataset_id, long mem_type_id, long mem_space_id,
+ long file_space_id, long xfer_plist_id, Object[] buf) throws HDF5LibraryException, NullPointerException;
+
/**
* H5Dwrite_VLStrings writes a (partial) variable length String dataset, specified by its identifier dataset_id, from
* the application memory buffer buf into the file.
@@ -2109,6 +2134,10 @@ public class H5 implements java.io.Serializable {
// /////// unimplemented ////////
// H5_DLL herr_t H5Ddebug(hid_t dset_id);
+ // H5_DLL herr_t H5Dget_chunk_storage_size(hid_t dset_id, const hsize_t *offset, hsize_t *chunk_bytes);
+ // H5_DLL herr_t H5Dformat_convert(hid_t dset_id);
+ // H5_DLL herr_t H5Dget_chunk_index_type(hid_t did, H5D_chunk_index_t *idx_type);
+
// herr_t H5Dgather(hid_t src_space_id, const void *src_buf, hid_t type_id,
// size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data);
// herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id, hid_t dst_space_id, void *dst_buf);
@@ -2912,12 +2941,22 @@ public class H5 implements java.io.Serializable {
public synchronized static native void H5Fget_mdc_logging_status(long file_id, boolean[] mdc_logging_status)
throws HDF5LibraryException, NullPointerException;
-
-
// /////// unimplemented ////////
+ // H5_DLL herr_t H5Fget_eoa(hid_t file_id, haddr_t *eoa);
+ // H5_DLL herr_t H5Fincrement_filesize(hid_t file_id, hsize_t increment);
// ssize_t H5Fget_file_image(hid_t file_id, void * buf_ptr, size_t buf_len);
// herr_t H5Fget_metadata_read_retry_info(hid_t file_id, H5F_retry_info_t *info);
// ssize_t H5Fget_free_sections(hid_t file_id, H5F_mem_t type, size_t nsects, H5F_sect_info_t *sect_info/*out*/);
+ // H5_DLL herr_t H5Fset_libver_bounds(hid_t file_id, H5F_libver_t low, H5F_libver_t high);
+ // H5_DLL herr_t H5Fformat_convert(hid_t fid);
+ // H5_DLL herr_t H5Freset_page_buffering_stats(hid_t file_id);
+ // H5_DLL herr_t H5Fget_page_buffering_stats(hid_t file_id, unsigned accesses[2],
+ // unsigned hits[2], unsigned misses[2], unsigned evictions[2], unsigned bypasses[2]);
+ // H5_DLL herr_t H5Fget_mdc_image_info(hid_t file_id, haddr_t *image_addr, hsize_t *image_size);
+ // #ifdef H5_HAVE_PARALLEL
+ // H5_DLL herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag);
+ // H5_DLL herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag);
+ // #endif /* H5_HAVE_PARALLEL */
// /**
// * H5Fget_vfd_handle returns a pointer to the file handle from the
@@ -2971,6 +3010,41 @@ public class H5 implements java.io.Serializable {
// ////////////////////////////////////////////////////////////
// //
+ // H5FD: File Driver Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // /////// unimplemented ////////
+ // H5_DLL hid_t H5FDregister(const H5FD_class_t *cls);
+ // H5_DLL herr_t H5FDunregister(hid_t driver_id);
+ // H5_DLL H5FD_t *H5FDopen(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr);
+ // H5_DLL herr_t H5FDclose(H5FD_t *file);
+ // H5_DLL int H5FDcmp(const H5FD_t *f1, const H5FD_t *f2);
+ // H5_DLL int H5FDquery(const H5FD_t *f, unsigned long *flags);
+ // H5_DLL haddr_t H5FDalloc(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size);
+ // H5_DLL herr_t H5FDfree(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size);
+ // H5_DLL haddr_t H5FDget_eoa(H5FD_t *file, H5FD_mem_t type);
+ // H5_DLL herr_t H5FDset_eoa(H5FD_t *file, H5FD_mem_t type, haddr_t eoa);
+ // H5_DLL haddr_t H5FDget_eof(H5FD_t *file, H5FD_mem_t type);
+ // H5_DLL herr_t H5FDget_vfd_handle(H5FD_t *file, hid_t fapl, void**file_handle);
+ // H5_DLL herr_t H5FDread(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, void *buf/*out*/);
+ // H5_DLL herr_t H5FDwrite(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, const void *buf);
+ // H5_DLL herr_t H5FDflush(H5FD_t *file, hid_t dxpl_id, hbool_t closing);
+ // H5_DLL herr_t H5FDtruncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing);
+ // H5_DLL herr_t H5FDlock(H5FD_t *file, hbool_t rw);
+ // H5_DLL herr_t H5FDunlock(H5FD_t *file);
+ // H5_DLL herr_t H5FDdriver_query(hid_t driver_id, unsigned long *flags/*out*/);
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5FS: File Free Space Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
// H5G: Group Interface Functions //
// //
// ////////////////////////////////////////////////////////////
@@ -3408,6 +3482,30 @@ public class H5 implements java.io.Serializable {
// ////////////////////////////////////////////////////////////
// //
+ // H5HF: Fractal Heap Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5HG: Global Heap Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5HL: Local Heap Interface Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // No public Functions
+
+ // ////////////////////////////////////////////////////////////
+ // //
// H5I: HDF5 1.8 Identifier Interface API Functions //
// //
// ////////////////////////////////////////////////////////////
@@ -4033,6 +4131,15 @@ public class H5 implements java.io.Serializable {
// H5_index_t idx_type, H5_iter_order_t order, hsize_t n,
// void *buf/*out*/, size_t size, hid_t lapl_id);
+ // ////////////////////////////////////////////////////////////
+ // //
+ // H5MM: Memory Management Interface API Functions //
+ // //
+ // ////////////////////////////////////////////////////////////
+
+ // /////// unimplemented ////////
+ // typedef void *(*H5MM_allocate_t)(size_t size, void *alloc_info);
+ // typedef void (*H5MM_free_t)(void *mem, void *free_info);
// ////////////////////////////////////////////////////////////
// //
@@ -4173,7 +4280,27 @@ public class H5 implements java.io.Serializable {
* @exception NullPointerException
* - name is null.
**/
- public synchronized static native H5O_info_t H5Oget_info(long loc_id) throws HDF5LibraryException,
+ public static H5O_info_t H5Oget_info(long loc_id) throws HDF5LibraryException,
+ NullPointerException {
+ return H5Oget_info(loc_id, HDF5Constants.H5O_INFO_ALL);
+ }
+
+ /**
+ * H5Oget_info retrieves the metadata for an object specified by an identifier.
+ *
+ * @param loc_id
+ * IN: Identifier for target object
+ * @param fields
+ * IN: Object fields to select
+ *
+ * @return object information
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - name is null.
+ **/
+ public synchronized static native H5O_info_t H5Oget_info(long loc_id, int fields) throws HDF5LibraryException,
NullPointerException;
/**
@@ -4200,8 +4327,39 @@ public class H5 implements java.io.Serializable {
* @exception NullPointerException
* - name is null.
**/
+ public static H5O_info_t H5Oget_info_by_idx(long loc_id, String group_name, int idx_type,
+ int order, long n, long lapl_id) throws HDF5LibraryException, NullPointerException {
+ return H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, HDF5Constants.H5O_INFO_ALL, lapl_id);
+ }
+
+ /**
+ * H5Oget_info_by_idx retrieves the metadata for an object, identifying the object by an index position.
+ *
+ * @param loc_id
+ * IN: File or group identifier
+ * @param group_name
+ * IN: Name of group, relative to loc_id, in which object is located
+ * @param idx_type
+ * IN: Type of index by which objects are ordered
+ * @param order
+ * IN: Order of iteration within index
+ * @param n
+ * IN: Object to open
+ * @param fields
+ * IN: Object fields to select
+ * @param lapl_id
+ * IN: Access property list identifier for the link pointing to the object (Not currently used; pass as
+ * H5P_DEFAULT.)
+ *
+ * @return object information
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - name is null.
+ **/
public synchronized static native H5O_info_t H5Oget_info_by_idx(long loc_id, String group_name, int idx_type,
- int order, long n, long lapl_id) throws HDF5LibraryException, NullPointerException;
+ int order, long n, int fields, long lapl_id) throws HDF5LibraryException, NullPointerException;
/**
* H5Oget_info_by_name retrieves the metadata for an object, identifying the object by location and relative name.
@@ -4221,7 +4379,32 @@ public class H5 implements java.io.Serializable {
* @exception NullPointerException
* - name is null.
**/
- public synchronized static native H5O_info_t H5Oget_info_by_name(long loc_id, String name, long lapl_id)
+ public static H5O_info_t H5Oget_info_by_name(long loc_id, String name, long lapl_id)
+ throws HDF5LibraryException, NullPointerException {
+ return H5Oget_info_by_name(loc_id, name, HDF5Constants.H5O_INFO_ALL, lapl_id);
+ }
+
+ /**
+ * H5Oget_info_by_name retrieves the metadata for an object, identifying the object by location and relative name.
+ *
+ * @param loc_id
+ * IN: File or group identifier specifying location of group in which object is located
+ * @param name
+ * IN: Relative name of group
+ * @param fields
+ * IN: Object fields to select
+ * @param lapl_id
+ * IN: Access property list identifier for the link pointing to the object (Not currently used; pass as
+ * H5P_DEFAULT.)
+ *
+ * @return object information
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - name is null.
+ **/
+ public synchronized static native H5O_info_t H5Oget_info_by_name(long loc_id, String name, int fields, long lapl_id)
throws HDF5LibraryException, NullPointerException;
/**
@@ -4298,8 +4481,37 @@ public class H5 implements java.io.Serializable {
* @exception NullPointerException
* - name is null.
**/
+ public static int H5Ovisit(long obj_id, int idx_type, int order, H5O_iterate_cb op, H5O_iterate_t op_data)
+ throws HDF5LibraryException, NullPointerException {
+ return H5Ovisit(obj_id, idx_type, order, op, op_data, HDF5Constants.H5O_INFO_ALL);
+ }
+
+ /**
+ * H5Ovisit recursively visits all objects accessible from a specified object.
+ *
+ * @param obj_id
+ * IN: Identifier of the object at which the recursive iteration begins.
+ * @param idx_type
+ * IN: Type of index
+ * @param order
+ * IN: Order of iteration within index
+ * @param op
+ * IN: Callback function passing data regarding the object to the calling application
+ * @param op_data
+ * IN: User-defined pointer to data required by the application for its processing of the object
+ * @param fields
+ * IN: Object fields to select
+ *
+ * @return returns the return value of the first operator that returns a positive value, or zero if all members were
+ * processed with no operator returning non-zero.
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - name is null.
+ **/
public synchronized static native int H5Ovisit(long obj_id, int idx_type, int order, H5O_iterate_cb op,
- H5O_iterate_t op_data) throws HDF5LibraryException, NullPointerException;
+ H5O_iterate_t op_data, int fields) throws HDF5LibraryException, NullPointerException;
/**
* H5Ovisit_by_name recursively visits all objects starting from a specified object.
@@ -4327,8 +4539,41 @@ public class H5 implements java.io.Serializable {
* @exception NullPointerException
* - name is null.
**/
+ public static int H5Ovisit_by_name(long loc_id, String obj_name, int idx_type, int order,
+ H5O_iterate_cb op, H5O_iterate_t op_data, long lapl_id) throws HDF5LibraryException, NullPointerException {
+ return H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, HDF5Constants.H5O_INFO_ALL, lapl_id);
+ }
+
+ /**
+ * H5Ovisit_by_name recursively visits all objects starting from a specified object.
+ *
+ * @param loc_id
+ * IN: File or group identifier
+ * @param obj_name
+ * IN: Relative path to the object
+ * @param idx_type
+ * IN: Type of index
+ * @param order
+ * IN: Order of iteration within index
+ * @param op
+ * IN: Callback function passing data regarding the object to the calling application
+ * @param op_data
+ * IN: User-defined pointer to data required by the application for its processing of the object
+ * @param fields
+ * IN: Object fields to select
+ * @param lapl_id
+ * IN: Link access property list identifier
+ *
+ * @return returns the return value of the first operator that returns a positive value, or zero if all members were
+ * processed with no operator returning non-zero.
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ * @exception NullPointerException
+ * - name is null.
+ **/
public synchronized static native int H5Ovisit_by_name(long loc_id, String obj_name, int idx_type, int order,
- H5O_iterate_cb op, H5O_iterate_t op_data, long lapl_id) throws HDF5LibraryException, NullPointerException;
+ H5O_iterate_cb op, H5O_iterate_t op_data, int fields, long lapl_id) throws HDF5LibraryException, NullPointerException;
/**
@@ -4450,6 +4695,9 @@ public class H5 implements java.io.Serializable {
public synchronized static native void H5Orefresh(long object_id) throws HDF5LibraryException;
// /////// unimplemented ////////
+ // H5_DLL herr_t H5Odisable_mdc_flushes(hid_t object_id);
+ // H5_DLL herr_t H5Oenable_mdc_flushes(hid_t object_id);
+ // H5_DLL herr_t H5Oare_mdc_flushes_disabled(hid_t object_id, hbool_t *are_disabled);
// ////////////////////////////////////////////////////////////
// //
@@ -7273,9 +7521,15 @@ public class H5 implements java.io.Serializable {
// herr_t H5Pset_file_image_callbacks(hid_t fapl_id, H5FD_file_image_callbacks_t *callbacks_ptr);
// herr_t H5Pset_core_write_tracking(hid_t fapl_id, hbool_t is_enabled, size_t page_size);
// herr_t H5Pget_core_write_tracking(hid_t fapl_id, hbool_t *is_enabled, size_t *page_size);
+ // #ifdef H5_HAVE_PARALLEL
// herr_t H5Pset_all_coll_metadata_ops(hid_t accpl_id, hbool_t is_collective);
+ // H5_DLL herr_t H5Pget_all_coll_metadata_ops(hid_t plist_id, hbool_t *is_collective);
// herr_t H5Pset_coll_metadata_write(hid_t fapl_id, hbool_t is_collective);
// herr_t H5Pget_coll_metadata_write(hid_t fapl_id, hbool_t *is_collective);
+ // #endif /* H5_HAVE_PARALLEL */
+ // H5_DLL herr_t H5Pset_mdc_image_config(hid_t plist_id, H5AC_cache_image_config_t *config_ptr);
+ // H5_DLL herr_t H5Pget_mdc_image_config(hid_t plist_id, H5AC_cache_image_config_t *config_ptr /*out*/);
+ // H5_DLL herr_t H5Pset_page_buffer_size(hid_t plist_id, size_t buf_size, unsigned min_meta_per, unsigned min_raw_per);
// herr_t H5Pget_page_buffer_size(hid_t fapl_id, size_t *buf_size, unsigned *min_meta_perc, unsigned *min_raw_perc);
// herr_t H5Pset_object_flush_cb (hid_t fapl_id, H5F_flush_cb_t func, void *user_data);
// herr_t H5Pget_object_flush_cb (hid_t fapl_id, H5F_flush_cb_t *func, void **user_data);
@@ -7297,6 +7551,11 @@ public class H5 implements java.io.Serializable {
// *free_info )
// herr_t H5Pget_type_conv_cb(hid_t plist, H5T_conv_except_func_t *func, void **op_data)
// herr_t H5Pset_type_conv_cb( hid_t plist, H5T_conv_except_func_t func, void *op_data)
+ // #ifdef H5_HAVE_PARALLEL
+ // H5_DLL herr_t H5Pget_mpio_actual_chunk_opt_mode(hid_t plist_id, H5D_mpio_actual_chunk_opt_mode_t *actual_chunk_opt_mode);
+ // H5_DLL herr_t H5Pget_mpio_actual_io_mode(hid_t plist_id, H5D_mpio_actual_io_mode_t *actual_io_mode);
+ // H5_DLL herr_t H5Pget_mpio_no_collective_cause(hid_t plist_id, uint32_t *local_no_collective_cause, uint32_t *global_no_collective_cause);
+ // #endif /* H5_HAVE_PARALLEL */
// Link creation property list (LCPL) routines //
@@ -7314,21 +7573,6 @@ public class H5 implements java.io.Serializable {
// herr_t H5Pget_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t *func, void **op_data);
// herr_t H5Pset_mcdt_search_cb(hid_t plist_id, H5O_mcdt_search_cb_t func, void *op_data);
-
- // Other/Older property list routines //
- // herr_t H5Pget_fapl_mpio( int fapl_id, MPI_Comm *comm, MPI_Info *info )
- // herr_t H5Pset_fapl_mpio( int fapl_id, MPI_Comm comm, MPI_Info info )
-
- // herr_t H5Pget_fapl_mpiposix( int fapl_id, MPI_Comm *comm, hbool_t *use_gpfs_hints )
- // herr_t H5Pset_fapl_mpiposix( int fapl_id, MPI_Comm comm, hbool_t use_gpfs_hints )
-
- // herr_t H5Pget_dxpl_mpio( hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode )
- // herr_t H5Pset_dxpl_mpio( hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode )
- // herr_t H5Pset_dxpl_mpio_chunk_opt (hid_t dxpl_id, H5FD_mpio_chunk_opt_t opt_mode)
- // herr_t H5Pset_dxpl_mpio_chunk_opt_num (hid_t dxpl_id, unsigned num_chunk_per_proc)
- // herr_t H5Pset_dxpl_mpio_chunk_opt_ratio (hid_t dxpl_id, unsigned percent_proc_per_chunk)
- // herr_t H5Pset_dxpl_mpio_collective_opt (hid_t dxpl_id, H5FD_mpio_collective_opt_t opt_mode)
-
// ////////////////////////////////////////////////////////////
// //
// H5PL: HDF5 1.8 Plugin API Functions //
@@ -8252,6 +8496,17 @@ public class H5 implements java.io.Serializable {
public synchronized static native boolean H5Sis_regular_hyperslab(long space_id) throws HDF5LibraryException;
// /////// unimplemented ////////
+ // #ifdef NEW_HYPERSLAB_API
+ // H5_DLL hid_t H5Scombine_hyperslab(hid_t space_id, H5S_seloper_t op,
+ // const hsize_t start[],
+ // const hsize_t _stride[],
+ // const hsize_t count[],
+ // const hsize_t _block[]);
+ // H5_DLL herr_t H5Sselect_select(hid_t space1_id, H5S_seloper_t op,
+ // hid_t space2_id);
+ // H5_DLL hid_t H5Scombine_select(hid_t space1_id, H5S_seloper_t op,
+ // hid_t space2_id);
+ // #endif /* NEW_HYPERSLAB_API */
diff --git a/java/src/hdf/hdf5lib/HDF5Constants.java b/java/src/hdf/hdf5lib/HDF5Constants.java
index eb4055d..7eddac0 100644
--- a/java/src/hdf/hdf5lib/HDF5Constants.java
+++ b/java/src/hdf/hdf5lib/HDF5Constants.java
@@ -330,6 +330,12 @@ public class HDF5Constants {
public static final int H5O_COPY_EXPAND_REFERENCE_FLAG = H5O_COPY_EXPAND_REFERENCE_FLAG();
public static final int H5O_COPY_WITHOUT_ATTR_FLAG = H5O_COPY_WITHOUT_ATTR_FLAG();
public static final int H5O_COPY_PRESERVE_NULL_FLAG = H5O_COPY_PRESERVE_NULL_FLAG();
+ public static final int H5O_INFO_BASIC = H5O_INFO_BASIC();
+ public static final int H5O_INFO_TIME = H5O_INFO_TIME();
+ public static final int H5O_INFO_NUM_ATTRS = H5O_INFO_NUM_ATTRS();
+ public static final int H5O_INFO_HDR = H5O_INFO_HDR();
+ public static final int H5O_INFO_META_SIZE = H5O_INFO_META_SIZE();
+ public static final int H5O_INFO_ALL = H5O_INFO_ALL();
public static final int H5O_SHMESG_NONE_FLAG = H5O_SHMESG_NONE_FLAG();
public static final int H5O_SHMESG_SDSPACE_FLAG = H5O_SHMESG_SDSPACE_FLAG();
public static final int H5O_SHMESG_DTYPE_FLAG = H5O_SHMESG_DTYPE_FLAG();
@@ -617,6 +623,7 @@ public class HDF5Constants {
public static final long H5T_UNIX_D64LE = H5T_UNIX_D64LE();
public static final long H5T_VARIABLE = H5T_VARIABLE();
public static final int H5T_VLEN = H5T_VLEN();
+ public static final int H5T_VL_T = H5T_VL_T();
public static final int H5Z_CB_CONT = H5Z_CB_CONT();
public static final int H5Z_CB_ERROR = H5Z_CB_ERROR();
public static final int H5Z_CB_FAIL = H5Z_CB_FAIL();
@@ -1239,6 +1246,18 @@ public class HDF5Constants {
private static native final int H5O_COPY_PRESERVE_NULL_FLAG();
+ private static native final int H5O_INFO_BASIC();
+
+ private static native final int H5O_INFO_TIME();
+
+ private static native final int H5O_INFO_NUM_ATTRS();
+
+ private static native final int H5O_INFO_HDR();
+
+ private static native final int H5O_INFO_META_SIZE();
+
+ private static native final int H5O_INFO_ALL();
+
private static native final int H5O_SHMESG_NONE_FLAG();
private static native final int H5O_SHMESG_SDSPACE_FLAG();
@@ -1807,6 +1826,8 @@ public class HDF5Constants {
private static native final int H5T_VLEN();
+ private static native final int H5T_VL_T();
+
private static native final int H5Z_CB_CONT();
private static native final int H5Z_CB_ERROR();
diff --git a/java/src/hdf/hdf5lib/HDFArray.java b/java/src/hdf/hdf5lib/HDFArray.java
index 529aecb..30f0fc8 100644
--- a/java/src/hdf/hdf5lib/HDFArray.java
+++ b/java/src/hdf/hdf5lib/HDFArray.java
@@ -1025,8 +1025,11 @@ class ArrayDescriptor {
NTsize = 8;
}
else if (css.startsWith("Ljava.lang.String")) {
+ NT = 'L';
+ className = "java.lang.String";
+ NTsize = 1;
throw new HDF5JavaException(new String(
- "ArrayDesciptor: Error: String array not supported yet"));
+ "ArrayDesciptor: Warning: String array not fully supported yet"));
}
else {
/*
diff --git a/java/src/hdf/hdf5lib/exceptions/HDF5Exception.java b/java/src/hdf/hdf5lib/exceptions/HDF5Exception.java
index 1b55437..1e4b5fd 100644
--- a/java/src/hdf/hdf5lib/exceptions/HDF5Exception.java
+++ b/java/src/hdf/hdf5lib/exceptions/HDF5Exception.java
@@ -30,7 +30,7 @@ package hdf.hdf5lib.exceptions;
* error code returned by the HDF5 library.
*
*/
-public class HDF5Exception extends Exception {
+public class HDF5Exception extends RuntimeException {
protected String detailMessage;
/**
diff --git a/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java b/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java
index 5ae977d..3a1361a 100644
--- a/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java
+++ b/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java
@@ -30,6 +30,9 @@ import hdf.hdf5lib.HDF5Constants;
@SuppressWarnings("serial")
public class HDF5LibraryException extends HDF5Exception {
+ private final long majorErrorNumber;
+ private final long minorErrorNumber;
+
/**
* Constructs an <code>HDF5LibraryException</code> with no specified detail
* message.
@@ -44,9 +47,10 @@ public class HDF5LibraryException extends HDF5Exception {
}
catch (Exception e) {
}
- ;
- detailMessage = getMinorError(getMinorErrorNumber());
+ this.majorErrorNumber = _getMajorErrorNumber();
+ this.minorErrorNumber = _getMinorErrorNumber();
+ detailMessage = getMinorError(minorErrorNumber);
}
/**
@@ -65,7 +69,8 @@ public class HDF5LibraryException extends HDF5Exception {
}
catch (Exception e) {
}
- ;
+ this.majorErrorNumber = _getMajorErrorNumber();
+ this.minorErrorNumber = _getMinorErrorNumber();
}
/**
@@ -74,7 +79,11 @@ public class HDF5LibraryException extends HDF5Exception {
*
* @return the major error number
*/
- public native long getMajorErrorNumber();
+ public long getMajorErrorNumber()
+ {
+ return majorErrorNumber;
+ }
+ private native long _getMajorErrorNumber();
/**
* Get the minor error number of the first error on the HDF5 library error
@@ -82,7 +91,11 @@ public class HDF5LibraryException extends HDF5Exception {
*
* @return the minor error number
*/
- public native long getMinorErrorNumber();
+ public long getMinorErrorNumber()
+ {
+ return minorErrorNumber;
+ }
+ private native long _getMinorErrorNumber();
/**
* Return a error message for the minor error number.
diff --git a/java/src/hdf/overview.html b/java/src/hdf/overview.html
index 9c19442..52dabf7 100644
--- a/java/src/hdf/overview.html
+++ b/java/src/hdf/overview.html
@@ -6,18 +6,19 @@
The <b>Java HD5 Interface (JHI5)</b> is a Java package
(<a href="../../hdf-java-html/javadocs/hdf/hdf5lib/package-summary.html">hdf.hdf5lib</a>)
that ``wraps around'' the HDF5 library.
-<p />There are a large number of functions in the HDF5
+<p>There are a large number of functions in the HDF5
library (version 1.10). Some of the functions are not supported in JHI5. Most
of the unsupported functions have C function pointers, which is not currently
-implemented in JHI5.
+implemented in JHI5.</p>
-<center><table BORDER=1 COLS=1 WIDTH="71%" BGCOLOR="#dbeaf5" >
+<table style="width:71%;text-align:center;background-color:#dbeaf5" border="1">
+<caption>Java HD5 Interface (JHI5)</caption>
<tr>
-<td>
-<center>Note: The JHI5 does not support HDF4 or earlier.</center>
+<td style="text-align:center;">
+Note: The JHI5 does not support HDF4 or earlier.
</td>
</tr>
-</table></center>
+</table>
<p>The JHI5 may be used by any Java application that needs to access HDF5
files. It is extremely important to emphasize that <i>this package is not
@@ -91,6 +92,6 @@ and the HDF5 library.
<h3>
<a NAME="DOWNLOAD"></a>To Obtain</h3>
-The JHI5 is included with the <a href="http://www.hdfgroup.org/HDF5/index.html">HDF5</a> library.
+The JHI5 is included with the <a href="https://portal.hdfgroup.org/display/support/Downloads">HDF5</a> library.
</body>
diff --git a/java/src/jni/CMakeLists.txt b/java/src/jni/CMakeLists.txt
index 96e7035..a0228e1 100644
--- a/java/src/jni/CMakeLists.txt
+++ b/java/src/jni/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDF5_JAVA_JNI C CXX)
+project (HDF5_JAVA_JNI C)
set (HDF5_JAVA_JNI_CSRCS
${HDF5_JAVA_JNI_SOURCE_DIR}/exceptionImp.c
@@ -44,17 +44,16 @@ set (HDF5_JAVA_JNI_CHDRS
${HDF5_JAVA_JNI_SOURCE_DIR}/nativeData.h
)
-INCLUDE_DIRECTORIES( ${HDF5_JAVA_JNI_SOURCE_DIR} )
-
set (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
########### JNI libraries always must be built shared ###############
add_library (${HDF5_JAVA_JNI_LIB_TARGET} SHARED ${HDF5_JAVA_JNI_CSRCS} ${HDF5_JAVA_JNI_CHDRS})
-TARGET_C_PROPERTIES (${HDF5_JAVA_JNI_LIB_TARGET} SHARED " " " ")
+target_include_directories(${HDF5_JAVA_JNI_LIB_TARGET} PRIVATE ${HDF5_BINARY_DIR} ${HDF5_JAVA_JNI_SOURCE_DIR})
+TARGET_C_PROPERTIES (${HDF5_JAVA_JNI_LIB_TARGET} SHARED)
target_link_libraries (${HDF5_JAVA_JNI_LIB_TARGET} PUBLIC ${HDF5_LIB_TARGET})
set_target_properties (${HDF5_JAVA_JNI_LIB_TARGET} PROPERTIES FOLDER libraries/jni)
SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_JAVA_JNI_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_JAVA_JNI_LIB_TARGET} ${HDF5_JAVA_JNI_LIB_NAME} SHARED ${HDF5_JAVA_PACKAGE_SOVERSION})
+H5_SET_LIB_OPTIONS (${HDF5_JAVA_JNI_LIB_TARGET} ${HDF5_JAVA_JNI_LIB_NAME} SHARED "JAVA")
if (WIN32)
get_filename_component (HDF5_JAVA_JNI_DLL_NAME ${HDF5_JAVA_JNI_LIB_TARGET} NAME_WE)
set (HDF5_JAVA_JNI_DLL_NAME "${HDF5_JAVA_JNI_DLL_NAME}$<$<CONFIG:Debug>:_D>")
diff --git a/java/src/jni/Makefile.in b/java/src/jni/Makefile.in
index 683f872..d0862c3 100644
--- a/java/src/jni/Makefile.in
+++ b/java/src/jni/Makefile.in
@@ -540,6 +540,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -587,6 +588,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -732,29 +734,29 @@ TRACE = perl $(top_srcdir)/bin/trace
# .chklog files are output from those tests.
# *.clog and *.clog2 are from the MPE option.
CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
-LT_VERS_INTERFACE = 102
+LT_VERS_INTERFACE = 103
LT_VERS_REVISION = 0
-LT_VERS_AGE = 1
-LT_CXX_VERS_INTERFACE = 102
+LT_VERS_AGE = 0
+LT_CXX_VERS_INTERFACE = 103
LT_CXX_VERS_REVISION = 0
LT_CXX_VERS_AGE = 0
LT_F_VERS_INTERFACE = 101
-LT_F_VERS_REVISION = 1
+LT_F_VERS_REVISION = 2
LT_F_VERS_AGE = 1
LT_HL_VERS_INTERFACE = 101
-LT_HL_VERS_REVISION = 0
+LT_HL_VERS_REVISION = 1
LT_HL_VERS_AGE = 1
LT_HL_CXX_VERS_INTERFACE = 101
-LT_HL_CXX_VERS_REVISION = 1
+LT_HL_CXX_VERS_REVISION = 2
LT_HL_CXX_VERS_AGE = 1
LT_HL_F_VERS_INTERFACE = 100
-LT_HL_F_VERS_REVISION = 2
+LT_HL_F_VERS_REVISION = 3
LT_HL_F_VERS_AGE = 0
-LT_JAVA_VERS_INTERFACE = 102
+LT_JAVA_VERS_INTERFACE = 103
LT_JAVA_VERS_REVISION = 0
-LT_JAVA_VERS_AGE = 2
+LT_JAVA_VERS_AGE = 3
LT_TOOLS_VERS_INTERFACE = 101
-LT_TOOLS_VERS_REVISION = 0
+LT_TOOLS_VERS_REVISION = 1
LT_TOOLS_VERS_AGE = 1
# Mark this directory as part of the JNI API
diff --git a/java/src/jni/exceptionImp.c b/java/src/jni/exceptionImp.c
index afad5d5..ccda0d2 100644
--- a/java/src/jni/exceptionImp.c
+++ b/java/src/jni/exceptionImp.c
@@ -83,11 +83,16 @@ typedef struct H5E_num_t {
} \
jm = ENVPTR->GetMethodID(ENVPAR jc, "<init>", "(Ljava/lang/String;)V"); \
if (jm == NULL) { \
+ printf("THROWEXCEPTION FATAL ERROR: GetMethodID failed\n"); \
return JNI_FALSE; \
} \
ex = ENVPTR->NewObjectA (ENVPAR jc, jm, (jvalue*)(args)); \
+ if (ex == NULL) { \
+ printf("THROWEXCEPTION FATAL ERROR: %s: Creation failed\n", (className)); \
+ return JNI_FALSE; \
+ } \
if (ENVPTR->Throw(ENVPAR (jthrowable)ex) < 0) { \
- printf("FATAL ERROR: %s: Throw failed\n", (className)); \
+ printf("THROWEXCEPTION FATAL ERROR: %s: Throw failed\n", (className)); \
return JNI_FALSE; \
} \
return JNI_TRUE; \
@@ -174,13 +179,13 @@ Java_hdf_hdf5lib_exceptions_HDF5LibraryException_printStackTrace0
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException
- * Method: getMajorErrorNumber
+ * Method: _getMajorErrorNumber
* Signature: ()J
*
* Extract the HDF-5 major error number from the HDF-5 error stack.
*/
JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMajorErrorNumber
+Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMajorErrorNumber
(JNIEnv *env, jobject obj)
{
H5E_num_t err_nums;
@@ -190,17 +195,17 @@ Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMajorErrorNumber
H5Ewalk2(H5E_DEFAULT, H5E_WALK_DOWNWARD, walk_error_callback, &err_nums);
return err_nums.maj_num;
-} /* end Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMajorErrorNumber() */
+} /* end Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMajorErrorNumber() */
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException
- * Method: getMinorErrorNumber
+ * Method: _getMinorErrorNumber
* Signature: ()J
*
* Extract the HDF-5 minor error number from the HDF-5 error stack.
*/
JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMinorErrorNumber
+Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMinorErrorNumber
(JNIEnv *env, jobject obj)
{
H5E_num_t err_nums;
@@ -210,7 +215,7 @@ Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMinorErrorNumber
H5Ewalk2(H5E_DEFAULT, H5E_WALK_DOWNWARD, walk_error_callback, &err_nums);
return err_nums.min_num;
-} /* end Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMinorErrorNumber() */
+} /* end Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMinorErrorNumber() */
/*
* Routine to raise particular Java exceptions from C
diff --git a/java/src/jni/exceptionImp.h b/java/src/jni/exceptionImp.h
index 423e537..5873202 100644
--- a/java/src/jni/exceptionImp.h
+++ b/java/src/jni/exceptionImp.h
@@ -55,20 +55,20 @@ Java_hdf_hdf5lib_exceptions_HDF5LibraryException_printStackTrace0
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException
- * Method: getMajorErrorNumber
+ * Method: _getMajorErrorNumber
* Signature: ()J
*/
JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMajorErrorNumber
+Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMajorErrorNumber
(JNIEnv *env, jobject obj);
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException
- * Method: getMinorErrorNumber
+ * Method: _getMinorErrorNumber
* Signature: ()J
*/
JNIEXPORT jlong JNICALL
-Java_hdf_hdf5lib_exceptions_HDF5LibraryException_getMinorErrorNumber
+Java_hdf_hdf5lib_exceptions_HDF5LibraryException__1getMinorErrorNumber
(JNIEnv *env, jobject obj);
#ifdef __cplusplus
diff --git a/java/src/jni/h5Constants.c b/java/src/jni/h5Constants.c
index 900316e..c99745d 100644
--- a/java/src/jni/h5Constants.c
+++ b/java/src/jni/h5Constants.c
@@ -643,6 +643,18 @@ Java_hdf_hdf5lib_HDF5Constants_H5O_1COPY_1WITHOUT_1ATTR_1FLAG(JNIEnv *env, jclas
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5O_1COPY_1PRESERVE_1NULL_1FLAG(JNIEnv *env, jclass cls){return H5O_COPY_PRESERVE_NULL_FLAG; }
JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1BASIC(JNIEnv *env, jclass cls) { return H5O_INFO_BASIC; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1TIME(JNIEnv *env, jclass cls) { return H5O_INFO_TIME; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1NUM_1ATTRS(JNIEnv *env, jclass cls) { return H5O_INFO_NUM_ATTRS; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1HDR(JNIEnv *env, jclass cls) { return H5O_INFO_HDR; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1META_1SIZE(JNIEnv *env, jclass cls) { return H5O_INFO_META_SIZE; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5O_1INFO_1ALL(JNIEnv *env, jclass cls) { return H5O_INFO_ALL; }
+JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5O_1SHMESG_1NONE_1FLAG(JNIEnv *env, jclass cls){return H5O_SHMESG_NONE_FLAG; }
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5O_1SHMESG_1SDSPACE_1FLAG(JNIEnv *env, jclass cls){return H5O_SHMESG_SDSPACE_FLAG; }
@@ -1219,6 +1231,8 @@ JNIEXPORT jlong JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5T_1VARIABLE(JNIEnv *env, jclass cls) { return (int)H5T_VARIABLE; }
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5T_1VLEN(JNIEnv *env, jclass cls) { return H5T_VLEN; }
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_HDF5Constants_H5T_1VL_1T(JNIEnv *env, jclass cls) { return sizeof(hvl_t); }
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_HDF5Constants_H5Z_1CB_1CONT(JNIEnv *env, jclass cls) { return H5Z_CB_CONT; }
diff --git a/java/src/jni/h5aImp.c b/java/src/jni/h5aImp.c
index 26ec4fc..c0dc182 100644
--- a/java/src/jni/h5aImp.c
+++ b/java/src/jni/h5aImp.c
@@ -49,6 +49,10 @@ extern jobject visit_callback;
/* Local Prototypes */
/********************/
+static herr_t H5AwriteVL_asstr (JNIEnv *env, hid_t attr_id, hid_t mem_id, jobjectArray buf);
+static herr_t H5AwriteVL_str (JNIEnv *env, hid_t attr_id, hid_t mem_id, jobjectArray buf);
+static herr_t H5AreadVL_asstr (JNIEnv *env, hid_t attr_id, hid_t mem_id, jobjectArray buf);
+static herr_t H5AreadVL_str (JNIEnv *env, hid_t attr_id, hid_t mem_id, jobjectArray buf);
static herr_t H5A_iterate_cb(hid_t g_id, const char *name, const H5A_info_t *info, void *op_data);
@@ -178,7 +182,6 @@ Java_hdf_hdf5lib_H5_H5Aread
} /* end if */
else {
status = H5Aread((hid_t)attr_id, (hid_t)mem_type_id, byteP);
-
if (status < 0) {
ENVPTR->ReleaseByteArrayElements(ENVPAR buf, byteP, JNI_ABORT);
h5libraryError(env);
@@ -194,6 +197,323 @@ Java_hdf_hdf5lib_H5_H5Aread
/*
* Class: hdf_hdf5lib_H5
+ * Method: H5AwriteVL
+ * Signature: (JJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5AwriteVL
+ (JNIEnv *env, jclass clss, jlong attr_id, jlong mem_type_id, jobjectArray buf)
+{
+ herr_t status = -1;
+ htri_t isStr = 0;
+ htri_t isVlenStr = 0;
+ htri_t isComplex = 0;
+
+ if (buf == NULL) {
+ h5nullArgument(env, "H5AwriteVL: buf is NULL");
+ } /* end if */
+ else {
+ isStr = H5Tdetect_class((hid_t)mem_type_id, H5T_STRING);
+ if (H5Tget_class((hid_t)mem_type_id) == H5T_COMPOUND) {
+ unsigned i;
+ int nm = H5Tget_nmembers(mem_type_id);
+ for(i = 0; i <nm; i++) {
+ hid_t nested_tid = H5Tget_member_type((hid_t)mem_type_id, i);
+ isComplex = H5Tdetect_class((hid_t)nested_tid, H5T_COMPOUND) ||
+ H5Tdetect_class((hid_t)nested_tid, H5T_VLEN);
+ H5Tclose(nested_tid);
+ }
+ }
+ else if (H5Tget_class((hid_t)mem_type_id) == H5T_VLEN) {
+ isVlenStr = 1; /* strings created by H5Tvlen_create(H5T_C_S1) */
+ }
+ if (isStr == 0 || isComplex>0 || isVlenStr) {
+ status = H5AwriteVL_asstr(env, (hid_t)attr_id, (hid_t)mem_type_id, buf);
+ }
+ else if (isStr > 0) {
+ status = H5AwriteVL_str(env, (hid_t)attr_id, (hid_t)mem_type_id, buf);
+ }
+ } /* end else */
+
+ return (jint)status;
+} /* end Java_hdf_hdf5lib_H5_H5Awrite_1VL */
+
+herr_t
+H5AwriteVL_str
+ (JNIEnv *env, hid_t aid, hid_t tid, jobjectArray buf)
+{
+ herr_t status = -1;
+ char **wdata;
+ jsize size;
+ jint i;
+
+ size = ENVPTR->GetArrayLength(ENVPAR (jarray) buf);
+
+ wdata = (char**)HDcalloc((size_t)size + 1, sizeof(char*));
+ if (!wdata) {
+ h5JNIFatalError(env, "H5AwriteVL_str: cannot allocate buffer");
+ } /* end if */
+ else {
+ HDmemset(wdata, 0, (size_t)size * sizeof(char*));
+ for (i = 0; i < size; ++i) {
+ jstring obj = (jstring) ENVPTR->GetObjectArrayElement(ENVPAR (jobjectArray) buf, i);
+ if (obj != 0) {
+ jsize length = ENVPTR->GetStringUTFLength(ENVPAR obj);
+ const char *utf8 = ENVPTR->GetStringUTFChars(ENVPAR obj, 0);
+
+ if (utf8) {
+ wdata[i] = (char*)HDmalloc((size_t)length + 1);
+ if (wdata[i]) {
+ HDmemset(wdata[i], 0, ((size_t)length + 1));
+ HDstrncpy(wdata[i], utf8, (size_t)length);
+ } /* end if */
+ } /* end if */
+
+ ENVPTR->ReleaseStringUTFChars(ENVPAR obj, utf8);
+ ENVPTR->DeleteLocalRef(ENVPAR obj);
+ } /* end if */
+ } /* end for (i = 0; i < size; ++i) */
+
+ status = H5Awrite((hid_t)aid, (hid_t)tid, wdata);
+
+ for (i = 0; i < size; i++) {
+ if(wdata[i]) {
+ HDfree(wdata[i]);
+ } /* end if */
+ } /* end for */
+ HDfree(wdata);
+
+ if (status < 0)
+ h5libraryError(env);
+ } /* end else */
+
+ return (jint)status;
+}
+
+herr_t
+H5AwriteVL_asstr
+ (JNIEnv *env, hid_t aid, hid_t tid, jobjectArray buf)
+{
+ char **strs;
+ jstring jstr;
+ jint i;
+ jint n;
+ hid_t sid;
+ hsize_t dims[H5S_MAX_RANK];
+ herr_t status = -1;
+
+ n = ENVPTR->GetArrayLength(ENVPAR buf);
+ strs =(hvl_t*)HDcalloc((size_t)n, sizeof(hvl_t));
+
+ if (strs == NULL) {
+ h5JNIFatalError(env, "H5AwriteVL_asstr: failed to allocate buff for read variable length strings");
+ } /* end if */
+ else {
+ status = H5Awrite(aid, tid, strs);
+
+ if (status < 0) {
+ dims[0] = (hsize_t)n;
+ sid = H5Screate_simple(1, dims, NULL);
+ H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, strs);
+ H5Sclose(sid);
+ HDfree(strs);
+ h5JNIFatalError(env, "H5AwriteVL_str: failed to read variable length strings");
+ } /* end if */
+ else {
+ for (i=0; i < n; i++) {
+ jstr = ENVPTR->NewStringUTF(ENVPAR strs[i]);
+ ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
+ H5free_memory (strs[i]);
+ } /* end for */
+
+ /*
+ for repeatedly reading a dataset with a large number of strs (e.g., 1,000,000 strings,
+ H5Dvlen_reclaim() may crash on Windows because the Java GC will not be able to collect
+ free space in time. Instead, use "H5free_memory(strs[i])" above to free individual strings
+ after it is done.
+ H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, strs);
+ */
+
+ HDfree(strs);
+ } /* end else */
+ } /* end else */
+
+ return status;
+} /* end H5AwriteVL_str */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5AreadVL
+ * Signature: (JJJJJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5AreadVL
+ (JNIEnv *env, jclass clss, jlong attr_id, jlong mem_type_id, jobjectArray buf)
+{
+ herr_t status = -1;
+ htri_t isStr = 0;
+ htri_t isVlenStr = 0;
+ htri_t isComplex = 0;
+
+ if (buf == NULL) {
+ h5nullArgument(env, "H5AreadVL: buf is NULL");
+ } /* end if */
+ else {
+ isStr = H5Tdetect_class((hid_t)mem_type_id, H5T_STRING);
+ if (H5Tget_class((hid_t)mem_type_id) == H5T_COMPOUND) {
+ unsigned i;
+ int nm = H5Tget_nmembers(mem_type_id);
+ for(i = 0; i <nm; i++) {
+ hid_t nested_tid = H5Tget_member_type((hid_t)mem_type_id, i);
+ isComplex = H5Tdetect_class((hid_t)nested_tid, H5T_COMPOUND) ||
+ H5Tdetect_class((hid_t)nested_tid, H5T_VLEN);
+ H5Tclose(nested_tid);
+ }
+ }
+ else if (H5Tget_class((hid_t)mem_type_id) == H5T_VLEN) {
+ isVlenStr = 1; /* strings created by H5Tvlen_create(H5T_C_S1) */
+ }
+ if (isStr == 0 || isComplex>0 || isVlenStr) {
+ status = H5AreadVL_asstr(env, (hid_t)attr_id, (hid_t)mem_type_id, buf);
+ }
+ else if (isStr > 0) {
+ status = H5AreadVL_str(env, (hid_t)attr_id, (hid_t)mem_type_id, buf);
+ }
+ } /* end else */
+
+ return (jint)status;
+} /* end Java_hdf_hdf5lib_H5_H5Aread_1VL */
+
+herr_t
+H5AreadVL_asstr
+ (JNIEnv *env, hid_t aid, hid_t tid, jobjectArray buf)
+{
+ jint i;
+ jint n;
+ hid_t sid;
+ jstring jstr;
+ h5str_t h5str;
+ hvl_t *rdata;
+ hsize_t dims[H5S_MAX_RANK];
+ size_t size;
+ size_t max_len = 0;
+ herr_t status = -1;
+
+ /* Get size of string array */
+ n = ENVPTR->GetArrayLength(ENVPAR buf);
+ /* we will need to read n number of hvl_t structures */
+ rdata = (hvl_t*)HDcalloc((size_t)n, sizeof(hvl_t));
+ if (rdata == NULL) {
+ h5JNIFatalError(env, "H5AreadVL_asstr: failed to allocate buff for read");
+ } /* end if */
+ else {
+ status = H5Aread(aid, tid, rdata);
+
+ if (status < 0) {
+ dims[0] = (hsize_t)n;
+ sid = H5Screate_simple(1, dims, NULL);
+ H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, rdata);
+ H5Sclose(sid);
+ HDfree(rdata);
+ h5JNIFatalError(env, "H5AreadVL_asstr: failed to read data");
+ } /* end if */
+ else {
+ /* calculate the largest size of all the hvl_t structures read */
+ max_len = 1;
+ for (i=0; i < n; i++) {
+ if ((rdata + i)->len > max_len)
+ max_len = (rdata + i)->len;
+ }
+
+ /* create one malloc to hold largest element */
+ size = H5Tget_size(tid) * max_len;
+ HDmemset(&h5str, 0, sizeof(h5str_t));
+ h5str_new(&h5str, 4 * size);
+
+ if (h5str.s == NULL) {
+ dims[0] = (hsize_t)n;
+ sid = H5Screate_simple(1, dims, NULL);
+ H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, rdata);
+ H5Sclose(sid);
+ HDfree(rdata);
+ h5JNIFatalError(env, "H5AreadVL_asstr: failed to allocate buf");
+ } /* end if */
+ else {
+ H5T_class_t tclass = H5Tget_class(tid);
+ /* convert each element to char string */
+ for (i=0; i < n; i++) {
+ h5str.s[0] = '\0';
+ h5str_vlsprintf(&h5str, aid, tid, rdata+i, 0);
+ jstr = ENVPTR->NewStringUTF(ENVPAR h5str.s);
+ ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
+ } /* end for */
+ h5str_free(&h5str);
+
+ dims[0] = (hsize_t)n;
+ sid = H5Screate_simple(1, dims, NULL);
+ H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, rdata);
+ H5Sclose(sid);
+ HDfree(rdata);
+ } /* end else */
+ } /* end else */
+ } /* end else */
+
+ return status;
+}
+
+herr_t
+H5AreadVL_str
+ (JNIEnv *env, hid_t aid, hid_t tid, jobjectArray buf)
+{
+ char **strs;
+ jstring jstr;
+ jint i;
+ jint n;
+ hid_t sid;
+ hsize_t dims[H5S_MAX_RANK];
+ herr_t status = -1;
+
+ n = ENVPTR->GetArrayLength(ENVPAR buf);
+ strs =(char**)HDcalloc((size_t)n, sizeof(char*));
+
+ if (strs == NULL) {
+ h5JNIFatalError(env, "H5AreadVL_str: failed to allocate buff for read variable length strings");
+ } /* end if */
+ else {
+ status = H5Aread(aid, tid, strs);
+
+ if (status < 0) {
+ dims[0] = (hsize_t)n;
+ sid = H5Screate_simple(1, dims, NULL);
+ H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, strs);
+ H5Sclose(sid);
+ HDfree(strs);
+ h5JNIFatalError(env, "H5AreadVL_str: failed to read variable length strings");
+ } /* end if */
+ else {
+ for (i=0; i < n; i++) {
+ jstr = ENVPTR->NewStringUTF(ENVPAR strs[i]);
+ ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
+ H5free_memory (strs[i]);
+ } /* end for */
+
+ /*
+ for repeatedly reading a dataset with a large number of strs (e.g., 1,000,000 strings,
+ H5Dvlen_reclaim() may crash on Windows because the Java GC will not be able to collect
+ free space in time. Instead, use "H5free_memory(strs[i])" above to free individual strings
+ after it is done.
+ H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, strs);
+ */
+
+ HDfree(strs);
+ } /* end else */
+ } /* end else */
+
+ return status;
+} /* end H5AreadVL_str */
+
+/*
+ * Class: hdf_hdf5lib_H5
* Method: H5Aget_space
* Signature: (J)J
*/
@@ -646,7 +966,7 @@ Java_hdf_hdf5lib_H5_H5Aget_1info_1by_1idx
UNPIN_JAVA_STRING(obj_name, aName);
if (status < 0) {
- h5libraryError(env);
+ h5libraryError(env);
} /* end if */
else {
args[0].z = ainfo.corder_valid;
@@ -682,7 +1002,7 @@ Java_hdf_hdf5lib_H5_H5Aget_1info_1by_1name
UNPIN_JAVA_STRING_TWO(obj_name, aName, attr_name, attrName);
if (status < 0) {
- h5libraryError(env);
+ h5libraryError(env);
} /* end if */
else {
args[0].z = ainfo.corder_valid;
@@ -846,8 +1166,12 @@ H5A_iterate_cb
constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(ZJIJ)V");
if (constructor != 0) {
cb_info_t = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ if (cb_info_t == NULL) {
+ printf("FATAL ERROR: hdf/hdf5lib/structs/H5A_info_t: Creation failed\n");
+ }
+ else {
+ status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ }
} /* end if (constructor != 0) */
} /* end if (cls != 0) */
} /* end if (mid != 0) */
diff --git a/java/src/jni/h5aImp.h b/java/src/jni/h5aImp.h
index 62769fd..f3758eb 100644
--- a/java/src/jni/h5aImp.h
+++ b/java/src/jni/h5aImp.h
@@ -69,6 +69,24 @@ Java_hdf_hdf5lib_H5_H5Aread
/*
* Class: hdf_hdf5lib_H5
+ * Method: H5AwriteVL
+ * Signature: (JJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5AwriteVL
+ (JNIEnv *, jclass, jlong, jlong, jobjectArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5AreadVL
+ * Signature: (JJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5AreadVL
+ (JNIEnv *, jclass, jlong, jlong, jobjectArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
* Method: H5Aget_space
* Signature: (J)J
*/
diff --git a/java/src/jni/h5dImp.c b/java/src/jni/h5dImp.c
index 9784055..205e9fb 100644
--- a/java/src/jni/h5dImp.c
+++ b/java/src/jni/h5dImp.c
@@ -56,6 +56,7 @@ extern jobject visit_callback;
static herr_t H5DreadVL_asstr (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
static herr_t H5DreadVL_str (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
static herr_t H5DreadVL_array (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
+static herr_t H5DwriteVL_asstr (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
static herr_t H5DwriteVL_str (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
static herr_t H5DwriteVL_array (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf);
@@ -993,96 +994,6 @@ Java_hdf_hdf5lib_H5_H5Dwrite_1double
/*
* Class: hdf_hdf5lib_H5
- * Method: H5DreadVL
- * Signature: (JJJJJ[Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL
-Java_hdf_hdf5lib_H5_H5DreadVL
- (JNIEnv *env, jclass clss, jlong dataset_id, jlong mem_type_id, jlong mem_space_id,
- jlong file_space_id, jlong xfer_plist_id, jobjectArray buf)
-{
- herr_t status = -1;
- htri_t isVlenStr=0;
-
- if (buf == NULL) {
- h5nullArgument(env, "H5DreadVL: buf is NULL");
- } /* end if */
- else {
- isVlenStr = H5Tdetect_class((hid_t)mem_type_id, H5T_STRING);
-
- if (isVlenStr)
- h5badArgument(env, "H5DreadVL: type is not variable length non-string");
- else
- status = H5DreadVL_asstr(env, (hid_t)dataset_id, (hid_t)mem_type_id,
- (hid_t)mem_space_id, (hid_t)file_space_id,
- (hid_t)xfer_plist_id, buf);
- } /* end else */
-
- return (jint)status;
-} /* end Java_hdf_hdf5lib_H5_H5Dread_1VL */
-
-herr_t
-H5DreadVL_asstr
- (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf)
-{
- jint i;
- jint n;
- jstring jstr;
- h5str_t h5str;
- hvl_t *rdata;
- size_t size;
- size_t max_len = 0;
- herr_t status = -1;
-
- n = ENVPTR->GetArrayLength(ENVPAR buf);
- rdata = (hvl_t*)HDcalloc((size_t)n, sizeof(hvl_t));
- if (rdata == NULL) {
- h5JNIFatalError(env, "H5DreadVL_notstr: failed to allocate buff for read");
- } /* end if */
- else {
- status = H5Dread(did, tid, mem_sid, file_sid, xfer_plist_id, rdata);
-
- if (status < 0) {
- H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
- HDfree(rdata);
- h5JNIFatalError(env, "H5DreadVL_notstr: failed to read data");
- } /* end if */
- else {
- max_len = 1;
- for (i=0; i < n; i++) {
- if ((rdata + i)->len > max_len)
- max_len = (rdata + i)->len;
- }
-
- size = H5Tget_size(tid) * max_len;
- HDmemset(&h5str, 0, sizeof(h5str_t));
- h5str_new(&h5str, 4 * size);
-
- if (h5str.s == NULL) {
- H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
- HDfree(rdata);
- h5JNIFatalError(env, "H5DreadVL_notstr: failed to allocate buf");
- } /* end if */
- else {
- for (i=0; i < n; i++) {
- h5str.s[0] = '\0';
- h5str_sprintf(&h5str, did, tid, rdata+i, 0);
- jstr = ENVPTR->NewStringUTF(ENVPAR h5str.s);
- ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
- } /* end for */
- h5str_free(&h5str);
-
- H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
- HDfree(rdata);
- } /* end else */
- } /* end else */
- } /* end else */
-
- return status;
-}
-
-/*
- * Class: hdf_hdf5lib_H5
* Method: H5Dread_string
* Signature: (JJJJJ[Ljava/lang/String;)I
*/
@@ -1218,6 +1129,120 @@ Java_hdf_hdf5lib_H5_H5Dwrite_1string
return (jint)status;
} /* end Java_hdf_hdf5lib_H5_H5Dwrite_1string */
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5DreadVL
+ * Signature: (JJJJJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5DreadVL
+ (JNIEnv *env, jclass clss, jlong dataset_id, jlong mem_type_id, jlong mem_space_id,
+ jlong file_space_id, jlong xfer_plist_id, jobjectArray buf)
+{
+ herr_t status = -1;
+ htri_t isStr = 0;
+ htri_t isVlenStr = 0;
+ htri_t isComplex = 0;
+
+ if (buf == NULL) {
+ h5nullArgument(env, "H5DreadVL: buf is NULL");
+ } /* end if */
+ else {
+ isStr = H5Tdetect_class((hid_t)mem_type_id, H5T_STRING);
+ if (H5Tget_class((hid_t)mem_type_id) == H5T_COMPOUND) {
+ unsigned i;
+ int nm = H5Tget_nmembers(mem_type_id);
+ for(i = 0; i <nm; i++) {
+ hid_t nested_tid = H5Tget_member_type((hid_t)mem_type_id, i);
+ isComplex = H5Tdetect_class((hid_t)nested_tid, H5T_COMPOUND) ||
+ H5Tdetect_class((hid_t)nested_tid, H5T_VLEN);
+ H5Tclose(nested_tid);
+ }
+ }
+ else if (H5Tget_class((hid_t)mem_type_id) == H5T_VLEN) {
+ isVlenStr = 1; /* strings created by H5Tvlen_create(H5T_C_S1) */
+ }
+ if (isStr == 0 || isComplex>0 || isVlenStr) {
+ status = H5DreadVL_asstr(env, (hid_t)dataset_id, (hid_t)mem_type_id,
+ (hid_t)mem_space_id, (hid_t)file_space_id,
+ (hid_t)xfer_plist_id, buf);
+ }
+ else if (isStr > 0) {
+ status = H5DreadVL_str(env, (hid_t)dataset_id, (hid_t)mem_type_id,
+ (hid_t)mem_space_id, (hid_t)file_space_id,
+ (hid_t)xfer_plist_id, buf);
+ }
+ } /* end else */
+
+ return (jint)status;
+} /* end Java_hdf_hdf5lib_H5_H5Dread_1VL */
+
+herr_t
+H5DreadVL_asstr
+ (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf)
+{
+ jint i;
+ jint n;
+ jstring jstr;
+ h5str_t h5str;
+ hvl_t *rdata;
+ size_t size;
+ size_t max_len = 0;
+ herr_t status = -1;
+
+ /* Get size of string array */
+ n = ENVPTR->GetArrayLength(ENVPAR buf);
+ /* we will need to read n number of hvl_t structures */
+ rdata = (hvl_t*)HDcalloc((size_t)n, sizeof(hvl_t));
+ if (rdata == NULL) {
+ h5JNIFatalError(env, "H5DreadVL_asstr: failed to allocate buff for read");
+ } /* end if */
+ else {
+ status = H5Dread(did, tid, mem_sid, file_sid, xfer_plist_id, rdata);
+
+ if (status < 0) {
+ H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
+ HDfree(rdata);
+ h5JNIFatalError(env, "H5DreadVL_asstr: failed to read data");
+ } /* end if */
+ else {
+ /* calculate the largest size of all the hvl_t structures read */
+ max_len = 1;
+ for (i=0; i < n; i++) {
+ if ((rdata + i)->len > max_len)
+ max_len = (rdata + i)->len;
+ }
+
+ /* create one malloc to hold largest element */
+ size = H5Tget_size(tid) * max_len;
+ HDmemset(&h5str, 0, sizeof(h5str_t));
+ h5str_new(&h5str, 4 * size);
+
+ if (h5str.s == NULL) {
+ H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
+ HDfree(rdata);
+ h5JNIFatalError(env, "H5DreadVL_asstr: failed to allocate buf");
+ } /* end if */
+ else {
+ H5T_class_t tclass = H5Tget_class(tid);
+ /* convert each element to char string */
+ for (i=0; i < n; i++) {
+ h5str.s[0] = '\0';
+ h5str_vlsprintf(&h5str, did, tid, rdata+i, 0);
+ jstr = ENVPTR->NewStringUTF(ENVPAR h5str.s);
+ ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
+ } /* end for */
+ h5str_free(&h5str);
+
+ H5Dvlen_reclaim(tid, mem_sid, xfer_plist_id, rdata);
+ HDfree(rdata);
+ } /* end else */
+ } /* end else */
+ } /* end else */
+
+ return status;
+}
+
/**
* Read VLEN data into array of arrays.
* Object[] buf contains VL arrays of data points
@@ -1305,6 +1330,108 @@ H5DreadVL_str
/*
* Class: hdf_hdf5lib_H5
+ * Method: H5DwriteVL
+ * Signature: (JJJJJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5DwriteVL
+ (JNIEnv *env, jclass clss, jlong dataset_id, jlong mem_type_id, jlong mem_space_id,
+ jlong file_space_id, jlong xfer_plist_id, jobjectArray buf)
+{
+ herr_t status = -1;
+ htri_t isStr = 0;
+ htri_t isVlenStr = 0;
+ htri_t isComplex = 0;
+
+ if (buf == NULL) {
+ h5nullArgument(env, "H5DwriteVL: buf is NULL");
+ } /* end if */
+ else {
+ isStr = H5Tdetect_class((hid_t)mem_type_id, H5T_STRING);
+ if (H5Tget_class((hid_t)mem_type_id) == H5T_COMPOUND) {
+ unsigned i;
+ int nm = H5Tget_nmembers(mem_type_id);
+ for(i = 0; i <nm; i++) {
+ hid_t nested_tid = H5Tget_member_type((hid_t)mem_type_id, i);
+ isComplex = H5Tdetect_class((hid_t)nested_tid, H5T_COMPOUND) ||
+ H5Tdetect_class((hid_t)nested_tid, H5T_VLEN);
+ H5Tclose(nested_tid);
+ }
+ }
+ else if (H5Tget_class((hid_t)mem_type_id) == H5T_VLEN) {
+ isVlenStr = 1; /* strings created by H5Tvlen_create(H5T_C_S1) */
+ }
+ if (isStr == 0 || isComplex>0 || isVlenStr) {
+ h5unimplemented(env, "H5DwriteVL: VL types, which are not string type, not implemented");
+ status = -1;
+#ifdef notdef
+ status = H5DwriteVL_asstr(env, (hid_t)dataset_id, (hid_t)mem_type_id,
+ (hid_t)mem_space_id, (hid_t)file_space_id,
+ (hid_t)xfer_plist_id, buf);
+#endif
+ }
+ else if (isStr > 0) {
+ status = H5DwriteVL_str(env, (hid_t)dataset_id, (hid_t)mem_type_id,
+ (hid_t)mem_space_id, (hid_t)file_space_id,
+ (hid_t)xfer_plist_id, buf);
+ }
+ } /* end else */
+
+ return (jint)status;
+} /* end Java_hdf_hdf5lib_H5_H5Dwrite_1VL */
+
+herr_t
+H5DwriteVL_asstr
+ (JNIEnv *env, hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hid_t xfer_plist_id, jobjectArray buf)
+{
+ herr_t status = -1;
+ hvl_t *wdata;
+ jsize size;
+ jint i;
+ jint n;
+
+ /* Get size of string array */
+ n = ENVPTR->GetArrayLength(ENVPAR buf);
+ wdata = (hvl_t*)HDcalloc((size_t)n, sizeof(hvl_t));
+
+ if (wdata == NULL) {
+ h5JNIFatalError(env, "H5DwriteVL_asstr: failed to allocate buff for write");
+ } /* end if */
+ else {
+ for (i = 0; i < n; ++i) {
+ jstring obj = (jstring) ENVPTR->GetObjectArrayElement(ENVPAR (jobjectArray)buf, i);
+ if (obj != 0) {
+ jsize length = ENVPTR->GetStringUTFLength(ENVPAR obj);
+ const char *utf8 = ENVPTR->GetStringUTFChars(ENVPAR obj, 0);
+
+ if (utf8) {
+ h5str_vlconvert(utf8, did, tid, wdata+i, 0);
+ } /* end if */
+
+ ENVPTR->ReleaseStringUTFChars(ENVPAR obj, utf8);
+ ENVPTR->DeleteLocalRef(ENVPAR obj);
+ } /* end if */
+ } /* end for (i = 0; i < size; ++i) */
+
+ status = H5Dwrite(did, tid, mem_sid, file_sid, xfer_plist_id, wdata);
+
+ /* now free memory*/
+ for (i = 0; i < n; i++) {
+ if(wdata+i) {
+ HDfree(wdata+i);
+ } /* end if */
+ } /* end for */
+ HDfree(wdata);
+
+ if (status < 0)
+ h5libraryError(env);
+ } /* end else */
+
+ return status;
+} /* end H5DwriteVL_asstr */
+
+/*
+ * Class: hdf_hdf5lib_H5
* Method: H5Dwrite_VLStrings
* Signature: (JJJJJ[Ljava/lang/String;)I
*/
@@ -1347,7 +1474,7 @@ H5DwriteVL_str
wdata = (char**)HDmalloc((size_t)size * sizeof (char*));
if (!wdata) {
- h5JNIFatalError(env, "H5DwriteVL_string: cannot allocate buffer");
+ h5JNIFatalError(env, "H5DwriteVL_str: cannot allocate buffer");
} /* end if */
else {
HDmemset(wdata, 0, (size_t)size * sizeof(char*));
@@ -1433,7 +1560,7 @@ Java_hdf_hdf5lib_H5_H5Dread_1reg_1ref
h5str_new(&h5str, 1024);
for (i=0; i<n; i++) {
h5str.s[0] = '\0';
- h5str_sprintf(&h5str, did, tid, ref_data[i], 0);
+ h5str_sprintf(&h5str, did, tid, ref_data[i], 0, 0);
jstr = ENVPTR->NewStringUTF(ENVPAR h5str.s);
ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
diff --git a/java/src/jni/h5dImp.h b/java/src/jni/h5dImp.h
index 3cf24fe..1fe71a8 100644
--- a/java/src/jni/h5dImp.h
+++ b/java/src/jni/h5dImp.h
@@ -213,6 +213,15 @@ Java_hdf_hdf5lib_H5_H5DreadVL
/*
* Class: hdf_hdf5lib_H5
+ * Method: H5DwriteVL
+ * Signature: (JJJJJ[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5DwriteVL
+(JNIEnv*, jclass, jlong, jlong, jlong, jlong, jlong, jobjectArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
* Method: H5Dread_string
* Signature: (JJJJJ[Ljava/lang/String;)I
*/
diff --git a/java/src/jni/h5eImp.c b/java/src/jni/h5eImp.c
index 24ddcbc..10a02b0 100644
--- a/java/src/jni/h5eImp.c
+++ b/java/src/jni/h5eImp.c
@@ -508,8 +508,12 @@ H5E_walk_cb
constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(JJJILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
if (constructor != 0) {
cb_info_t = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, nindx, cb_info_t, op_data);
+ if (cb_info_t == NULL) {
+ printf("FATAL ERROR: hdf/hdf5lib/structs/H5E_error2_t: Creation failed\n");
+ }
+ else {
+ status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, nindx, cb_info_t, op_data);
+ }
} /* end if (constructor != 0) */
} /* end if(cls != 0) */
} /* end if (mid != 0) */
diff --git a/java/src/jni/h5lImp.c b/java/src/jni/h5lImp.c
index ac71845..f1734fd 100644
--- a/java/src/jni/h5lImp.c
+++ b/java/src/jni/h5lImp.c
@@ -574,8 +574,12 @@ H5L_iterate_cb
constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(IZJIJ)V");
if (constructor != 0) {
cb_info_t = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ if (cb_info_t == NULL) {
+ printf("FATAL ERROR: hdf/hdf5lib/structs/H5L_info_t: Creation failed\n");
+ }
+ else {
+ status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ }
} /* end if */
} /* end if */
} /* end if */
diff --git a/java/src/jni/h5oImp.c b/java/src/jni/h5oImp.c
index e8abead..6093e46 100644
--- a/java/src/jni/h5oImp.c
+++ b/java/src/jni/h5oImp.c
@@ -105,11 +105,11 @@ Java_hdf_hdf5lib_H5_H5Ocopy
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info
- * Signature: (J)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JI)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info
- (JNIEnv *env, jclass clss, jlong loc_id)
+ (JNIEnv *env, jclass clss, jlong loc_id, jint fields)
{
herr_t status = -1;
H5O_info_t infobuf;
@@ -119,7 +119,7 @@ Java_hdf_hdf5lib_H5_H5Oget_1info
jobject ihinfobuf2;
jobject ret_obj = NULL;
- status = H5Oget_info((hid_t)loc_id, &infobuf);
+ status = H5Oget_info2((hid_t)loc_id, &infobuf, (unsigned)fields);
if (status < 0) {
h5libraryError(env);
@@ -168,11 +168,11 @@ Java_hdf_hdf5lib_H5_H5Oget_1info
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info_by_name
- * Signature: (JLjava/lang/String;J)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JLjava/lang/String;IJ)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1name
- (JNIEnv *env, jclass clss, jlong loc_id, jstring name, jlong access_id)
+ (JNIEnv *env, jclass clss, jlong loc_id, jstring name, jint fields, jlong access_id)
{
const char *lName;
herr_t status = -1;
@@ -185,7 +185,7 @@ Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1name
PIN_JAVA_STRING(name, lName);
if (lName != NULL) {
- status = H5Oget_info_by_name((hid_t)loc_id, lName, &infobuf, (hid_t)access_id);
+ status = H5Oget_info_by_name2((hid_t)loc_id, lName, &infobuf, (unsigned)fields, (hid_t)access_id);
UNPIN_JAVA_STRING(name, lName);
@@ -237,12 +237,12 @@ Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1name
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info_by_idx
- * Signature: (JLjava/lang/String;IIJJ)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JLjava/lang/String;IIJIJ)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1idx
(JNIEnv *env, jclass clss, jlong loc_id,
- jstring name, jint index_field, jint order, jlong link_n, jlong access_id)
+ jstring name, jint index_field, jint order, jlong link_n, jint fields, jlong access_id)
{
const char *lName;
herr_t status;
@@ -255,7 +255,7 @@ Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1idx
PIN_JAVA_STRING(name, lName);
if (lName != NULL) {
- status = H5Oget_info_by_idx((hid_t)loc_id, lName, (H5_index_t)index_field, (H5_iter_order_t)order, (hsize_t)link_n, &infobuf, (hid_t)access_id);
+ status = H5Oget_info_by_idx2((hid_t)loc_id, lName, (H5_index_t)index_field, (H5_iter_order_t)order, (hsize_t)link_n, &infobuf, (unsigned)fields, (hid_t)access_id);
UNPIN_JAVA_STRING(name, lName);
@@ -372,41 +372,58 @@ H5O_iterate_cb
constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(IIIIJJJJJJ)V");
if (constructor != 0) {
hdrinfobuf = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- args[0].j = (jlong)info->meta_size.obj.index_size;
- args[1].j = (jlong)info->meta_size.obj.heap_size;
- // get a reference to the H5_ih_info_t class
- cls = CBENVPTR->FindClass(CBENVPAR "hdf/hdf5lib/structs/H5_ih_info_t");
- if (cls != 0) {
- // get a reference to the constructor; the name is <init>
- constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(JJ)V");
- if (constructor != 0) {
- ihinfobuf1 = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
- args[0].j = (jlong)info->meta_size.attr.index_size;
- args[1].j = (jlong)info->meta_size.attr.heap_size;
- ihinfobuf2 = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- args[0].j = (jlong)info->fileno;
- args[1].j = (jlong)info->addr;
- args[2].i = info->type;
- args[3].i = (jint)info->rc;
- args[4].j = (jlong)info->num_attrs;
- args[5].j = info->atime;
- args[6].j = info->mtime;
- args[7].j = info->ctime;
- args[8].j = info->btime;
- args[9].l = hdrinfobuf;
- args[10].l = ihinfobuf1;
- args[11].l = ihinfobuf2;
- // get a reference to the H5O_info_t class
- cls = CBENVPTR->FindClass(CBENVPAR "hdf/hdf5lib/structs/H5O_info_t");
- if (cls != 0) {
- // get a reference to the constructor; the name is <init>
- constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(JJIIJJJJJLhdf/hdf5lib/structs/H5O_hdr_info_t;Lhdf/hdf5lib/structs/H5_ih_info_t;Lhdf/hdf5lib/structs/H5_ih_info_t;)V");
- if (constructor != 0) {
- cb_info_t = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
-
- status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ if (hdrinfobuf == NULL) {
+ printf("H5O_iterate_cb ERROR: hdf/hdf5lib/structs/H5O_hdr_info_t: Creation failed\n");
+ }
+ else {
+ args[0].j = (jlong)info->meta_size.obj.index_size;
+ args[1].j = (jlong)info->meta_size.obj.heap_size;
+ // get a reference to the H5_ih_info_t class
+ cls = CBENVPTR->FindClass(CBENVPAR "hdf/hdf5lib/structs/H5_ih_info_t");
+ if (cls != 0) {
+ // get a reference to the constructor; the name is <init>
+ constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(JJ)V");
+ if (constructor != 0) {
+ ihinfobuf1 = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
+ if (ihinfobuf1 == NULL) {
+ printf("H5O_iterate_cb ERROR: hdf/hdf5lib/structs/H5_ih_info_t: Creation failed\n");
+ }
+ else {
+ args[0].j = (jlong)info->meta_size.attr.index_size;
+ args[1].j = (jlong)info->meta_size.attr.heap_size;
+ ihinfobuf2 = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
+ if (ihinfobuf2 == NULL) {
+ printf("H5O_iterate_cb ERROR: hdf/hdf5lib/structs/H5_ih_info_t: Creation failed\n");
+ }
+ else {
+ args[0].j = (jlong)info->fileno;
+ args[1].j = (jlong)info->addr;
+ args[2].i = info->type;
+ args[3].i = (jint)info->rc;
+ args[4].j = (jlong)info->num_attrs;
+ args[5].j = info->atime;
+ args[6].j = info->mtime;
+ args[7].j = info->ctime;
+ args[8].j = info->btime;
+ args[9].l = hdrinfobuf;
+ args[10].l = ihinfobuf1;
+ args[11].l = ihinfobuf2;
+ // get a reference to the H5O_info_t class
+ cls = CBENVPTR->FindClass(CBENVPAR "hdf/hdf5lib/structs/H5O_info_t");
+ if (cls != 0) {
+ // get a reference to the constructor; the name is <init>
+ constructor = CBENVPTR->GetMethodID(CBENVPAR cls, "<init>", "(JJIIJJJJJLhdf/hdf5lib/structs/H5O_hdr_info_t;Lhdf/hdf5lib/structs/H5_ih_info_t;Lhdf/hdf5lib/structs/H5_ih_info_t;)V");
+ if (constructor != 0) {
+ cb_info_t = CBENVPTR->NewObjectA(CBENVPAR cls, constructor, args);
+ if (cb_info_t == NULL) {
+ printf("H5O_iterate_cb ERROR: hdf/hdf5lib/structs/H5O_info_t: Creation failed\n");
+ }
+ else {
+ status = CBENVPTR->CallIntMethod(CBENVPAR visit_callback, mid, g_id, str, cb_info_t, op_data);
+ }
+ }
+ }
+ }
}
}
}
@@ -423,12 +440,12 @@ H5O_iterate_cb
/*
* Class: hdf_hdf5lib_H5
* Method: H5Ovisit
- * Signature: (JIILjava/lang/Object;Ljava/lang/Object;)I
+ * Signature: (JIILjava/lang/Object;Ljava/lang/Object;I)I
*/
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5Ovisit
(JNIEnv *env, jclass clss, jlong grp_id, jint idx_type, jint order,
- jobject callback_op, jobject op_data)
+ jobject callback_op, jobject op_data, jint fields)
{
herr_t status = -1;
@@ -442,7 +459,7 @@ Java_hdf_hdf5lib_H5_H5Ovisit
h5nullArgument(env, "H5Ovisit: callback_op is NULL");
} /* end if */
else {
- status = H5Ovisit((hid_t)grp_id, (H5_index_t)idx_type, (H5_iter_order_t)order, (H5O_iterate_t)H5O_iterate_cb, (void*)op_data);
+ status = H5Ovisit2((hid_t)grp_id, (H5_index_t)idx_type, (H5_iter_order_t)order, (H5O_iterate_t)H5O_iterate_cb, (void*)op_data, (unsigned)fields);
if (status < 0)
h5libraryError(env);
@@ -454,12 +471,12 @@ Java_hdf_hdf5lib_H5_H5Ovisit
/*
* Class: hdf_hdf5lib_H5
* Method: H5Ovisit_by_name
- * Signature: (JLjava/lang/String;IILjava/lang/Object;Ljava/lang/Object;J)I
+ * Signature: (JLjava/lang/String;IILjava/lang/Object;Ljava/lang/Object;IJ)I
*/
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5Ovisit_1by_1name
(JNIEnv *env, jclass clss, jlong grp_id, jstring name, jint idx_type, jint order,
- jobject callback_op, jobject op_data, jlong access_id)
+ jobject callback_op, jobject op_data, jint fields, jlong access_id)
{
herr_t status = -1;
const char *lName;
@@ -478,7 +495,7 @@ Java_hdf_hdf5lib_H5_H5Ovisit_1by_1name
else {
PIN_JAVA_STRING(name, lName);
if (lName != NULL) {
- status = H5Ovisit_by_name((hid_t)grp_id, lName, (H5_index_t)idx_type, (H5_iter_order_t)order, (H5O_iterate_t)H5O_iterate_cb, (void*)op_data, (hid_t)access_id);
+ status = H5Ovisit_by_name2((hid_t)grp_id, lName, (H5_index_t)idx_type, (H5_iter_order_t)order, (H5O_iterate_t)H5O_iterate_cb, (void*)op_data, (unsigned)fields, (hid_t)access_id);
UNPIN_JAVA_STRING(name, lName);
diff --git a/java/src/jni/h5oImp.h b/java/src/jni/h5oImp.h
index 224f298..cb8c776 100644
--- a/java/src/jni/h5oImp.h
+++ b/java/src/jni/h5oImp.h
@@ -52,29 +52,29 @@ Java_hdf_hdf5lib_H5_H5Ocopy
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info
- * Signature: (J)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JI)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info
-(JNIEnv*, jclass, jlong);
+(JNIEnv*, jclass, jlong, jint fields);
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info_by_name
- * Signature: (JLjava/lang/String;J)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JLjava/lang/String;IJ)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1name
-(JNIEnv*, jclass, jlong, jstring, jlong);
+(JNIEnv*, jclass, jlong, jstring, jint fields, jlong);
/*
* Class: hdf_hdf5lib_H5
* Method: H5Oget_info_by_idx
- * Signature: (JLjava/lang/String;IIJJ)Lhdf/hdf5lib/structs/H5O_info_t;
+ * Signature: (JLjava/lang/String;IIJIJ)Lhdf/hdf5lib/structs/H5O_info_t;
*/
JNIEXPORT jobject JNICALL
Java_hdf_hdf5lib_H5_H5Oget_1info_1by_1idx
-(JNIEnv*, jclass, jlong, jstring, jint, jint, jlong, jlong);
+(JNIEnv*, jclass, jlong, jstring, jint, jint, jlong, jint fields, jlong);
/*
* Class: hdf_hdf5lib_H5
@@ -88,20 +88,20 @@ Java_hdf_hdf5lib_H5_H5Olink
/*
* Class: hdf_hdf5lib_H5
* Method: H5Ovisit
- * Signature: (JIILjava/lang/Object;Ljava/lang/Object;)I
+ * Signature: (JIILjava/lang/Object;Ljava/lang/Object;I)I
*/
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5Ovisit
- (JNIEnv*, jclass, jlong, jint, jint, jobject, jobject);
+ (JNIEnv*, jclass, jlong, jint, jint, jobject, jobject, jint);
/*
* Class: hdf_hdf5lib_H5
* Method: H5Ovisit_by_name
- * Signature: (JLjava/lang/String;IILjava/lang/Object;Ljava/lang/Object;J)I
+ * Signature: (JLjava/lang/String;IILjava/lang/Object;Ljava/lang/Object;IJ)I
*/
JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5Ovisit_1by_1name
- (JNIEnv*, jclass, jlong, jstring, jint, jint, jobject, jobject, jlong);
+ (JNIEnv*, jclass, jlong, jstring, jint, jint, jobject, jobject, jint, jlong);
/*
* Class: hdf_hdf5lib_H5
diff --git a/java/src/jni/h5pImp.c b/java/src/jni/h5pImp.c
index 49cfeb9..3ff7436 100644
--- a/java/src/jni/h5pImp.c
+++ b/java/src/jni/h5pImp.c
@@ -5204,10 +5204,10 @@ Java_hdf_hdf5lib_H5_H5Pset_1append_1flush
visit_callback = callback_op;
if (op_data == NULL) {
- h5nullArgument(env, "H5Ovisit: op_data is NULL");
+ h5nullArgument(env, "H5Pset_append_flush: op_data is NULL");
} /* end if */
else if (callback_op == NULL) {
- h5nullArgument(env, "H5Ovisit: callback_op is NULL");
+ h5nullArgument(env, "H5Pset_append_flush: callback_op is NULL");
} /* end if */
else {
status = H5Pset_append_flush((hid_t)plist_id, (unsigned)ndims, (const hsize_t*)boundary, (H5D_append_cb_t)H5D_append_cb, (void*)op_data);
diff --git a/java/src/jni/h5util.c b/java/src/jni/h5util.c
index fdabd76..33dca7f 100644
--- a/java/src/jni/h5util.c
+++ b/java/src/jni/h5util.c
@@ -21,6 +21,7 @@
extern "C" {
#endif /* __cplusplus */
+#include <jni.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -152,6 +153,513 @@ h5str_append
return HDstrcat(str->s, cstr);
} /* end h5str_append */
+/** print value of a vlen data point into string.
+ Return Value:
+ On success, the total number of characters printed is returned.
+ On error, a negative number is returned.
+ */
+size_t
+h5str_vlconvert
+ (char *str, hid_t container, hid_t tid, hvl_t *ptr, int expand_data)
+{
+ unsigned char tmp_uchar = 0;
+ char tmp_char = 0;
+ unsigned short tmp_ushort = 0;
+ short tmp_short = 0;
+ unsigned int tmp_uint = 0;
+ int tmp_int = 0;
+ unsigned long tmp_ulong = 0;
+ long tmp_long = 0;
+ unsigned long long tmp_ullong = 0;
+ long long tmp_llong = 0;
+ float tmp_float = 0.0;
+ double tmp_double = 0.0;
+ long double tmp_ldouble = 0.0;
+ static char fmt_llong[8], fmt_ullong[8];
+
+ hid_t mtid = -1;
+ size_t offset;
+ size_t nll;
+ char *this_str;
+ size_t this_strlen;
+ int n;
+ H5T_class_t tclass = H5Tget_class(tid);
+ size_t size = H5Tget_size(tid);
+ H5T_sign_t nsign = H5Tget_sign(tid);
+ int bdata_print = 0;
+
+ if (!str || !ptr)
+ return 0;
+
+ this_str = NULL;
+ this_strlen = 0;
+
+ switch (tclass) {
+ case H5T_COMPOUND:
+ {
+ unsigned i;
+ n = H5Tget_nmembers(tid);
+
+ /* remove compound indicators */
+ if (str[0] == ' ')
+ str++;
+ if (str[0] == '{')
+ str++;
+
+ ptr->p = HDcalloc((size_t)1, size);
+ ptr->len = size;
+ for (i = 0; i < n; i++) {
+ offset = H5Tget_member_offset(tid, i);
+ mtid = H5Tget_member_type(tid, i);
+ str += offset;
+ h5str_convert(&str, container, mtid, ptr, 0, expand_data);
+ /* remove compound indicators */
+ if (str[0] == ',')
+ str++;
+ if (str[0] == ' ')
+ str++;
+ H5Tclose(mtid);
+ }
+ /* remove compound indicators */
+ if (str[0] == '}')
+ str++;
+ if (str[0] == ' ')
+ str++;
+ }
+ break;
+ case H5T_ARRAY:
+ {
+ int rank = 0;
+ hsize_t i, dims[H5S_MAX_RANK], total_elmts;
+
+ /* remove array indicators */
+ if (str[0] == '[')
+ str++;
+ if (str[0] == ' ')
+ str++;
+
+ mtid = H5Tget_super(tid);
+ size = H5Tget_size(mtid);
+ rank = H5Tget_array_ndims(tid);
+
+ H5Tget_array_dims2(tid, dims);
+
+ total_elmts = 1;
+ for (i = 0; i < rank; i++)
+ total_elmts *= dims[i];
+
+ ptr->p = HDcalloc((size_t)total_elmts, size);
+ ptr->len = total_elmts;
+ h5str_convert(&str, container, mtid, ptr, 0, expand_data);
+ H5Tclose(mtid);
+ /* remove array indicators */
+ if (str[0] == ' ')
+ str++;
+ if (str[0] == ']')
+ str++;
+ if (str[0] == ' ')
+ str++;
+ }
+ break;
+ default:
+ ptr->len = size;
+ ptr->p = HDcalloc(1, size);
+ this_strlen = h5str_convert(&str, container, tid, ptr, 0, expand_data);
+ break;
+ } /* end switch */
+
+ return this_strlen;
+} /* end h5str_vlconvert */
+
+/** print value of a data point into string.
+ Return Value:
+ On success, the total number of characters printed is returned.
+ On error, a negative number is returned.
+ */
+size_t
+h5str_convert
+ (char **str, hid_t container, hid_t tid, hvl_t *ptr, int ptroffset, int expand_data)
+{
+ unsigned char tmp_uchar = 0;
+ char tmp_char = 0;
+ unsigned short tmp_ushort = 0;
+ short tmp_short = 0;
+ unsigned int tmp_uint = 0;
+ int tmp_int = 0;
+ unsigned long tmp_ulong = 0;
+ long tmp_long = 0;
+ unsigned long long tmp_ullong = 0;
+ long long tmp_llong = 0;
+ float tmp_float = 0.0;
+ double tmp_double = 0.0;
+ long double tmp_ldouble = 0.0;
+ static char fmt_llong[8], fmt_ullong[8];
+ const char delimiter[] = " ,}]";
+
+ char *token;
+ hid_t mtid = -1;
+ size_t offset;
+ size_t nll;
+ char *this_str = *str;
+ size_t this_strlen;
+ int n;
+ char *cptr = ((char*) ((hvl_t *) ptr)->p) + ptroffset;
+ unsigned char *ucptr = ((unsigned char*) ((hvl_t *) ptr)->p) + ptroffset;
+ H5T_class_t tclass = H5Tget_class(tid);
+ size_t size = H5Tget_size(tid);
+ H5T_sign_t nsign = H5Tget_sign(tid);
+ int bdata_print = 0;
+
+ if (!str || !ptr)
+ return 0;
+
+ /* Build default formats for long long types */
+ if (!fmt_llong[0]) {
+ sprintf(fmt_llong, "%%%sd", H5_PRINTF_LL_WIDTH);
+ sprintf(fmt_ullong, "%%%su", H5_PRINTF_LL_WIDTH);
+ } /* end if */
+
+ this_strlen = HDstrlen(this_str);
+
+ switch (tclass) {
+ case H5T_FLOAT:
+ token = HDstrtok (this_str, delimiter);
+ if (sizeof(float) == size) {
+ /* if (H5Tequal(tid, H5T_NATIVE_FLOAT)) */
+ tmp_float = 0;
+ sscanf(token, "%f", &tmp_float);
+ HDmemcpy(cptr, &tmp_float, sizeof(float));
+ }
+ else if (sizeof(double) == size) {
+ /* if (H5Tequal(tid, H5T_NATIVE_DOUBLE)) */
+ tmp_double = 0;
+ sscanf(token, "%%lf", &tmp_double);
+ HDmemcpy(cptr, &tmp_double, sizeof(double));
+ }
+#if H5_SIZEOF_LONG_DOUBLE !=0
+ else if (sizeof(long double) == size) {
+ /* if (H5Tequal(tid, H5T_NATIVE_LDOUBLE)) */
+ tmp_ldouble = 0;
+ sscanf(token, "%Lf", &tmp_ldouble);
+ HDmemcpy(cptr, &tmp_ldouble, sizeof(long double));
+ }
+#endif
+ break;
+ case H5T_STRING:
+ {
+ if (this_strlen > 0) {
+ HDstrncpy(cptr, this_str, size);
+ }
+ else {
+ cptr = NULL;
+ }
+ }
+ break;
+ case H5T_INTEGER:
+ token = HDstrtok (this_str, delimiter);
+ if (sizeof(char) == size) {
+ if(H5T_SGN_NONE == nsign) {
+ /* if (H5Tequal(tid, H5T_NATIVE_UCHAR)) */
+ tmp_uchar = 0;
+ sscanf(token, "%hu", &tmp_uchar);
+ HDmemcpy(cptr, &tmp_uchar, sizeof(unsigned char));
+ }
+ else {
+ /* if (H5Tequal(tid, H5T_NATIVE_SCHAR)) */
+ tmp_char = 0;
+ sscanf(token, "%hd", &tmp_char);
+ HDmemcpy(cptr, &tmp_char, sizeof(char));
+ }
+ }
+ else if (sizeof(int) == size) {
+ if(H5T_SGN_NONE == nsign) {
+ /* if (H5Tequal(tid, H5T_NATIVE_UINT)) */
+ tmp_uint = 0;
+ sscanf(token, "%u", &tmp_uint);
+ HDmemcpy(cptr, &tmp_uint, sizeof(unsigned int));
+ }
+ else {
+ /* if (H5Tequal(tid, H5T_NATIVE_INT)) */
+ tmp_int = 0;
+ sscanf(token, "%d", &tmp_int);
+ HDmemcpy(cptr, &tmp_int, sizeof(int));
+ }
+ }
+ else if (sizeof(short) == size) {
+ if(H5T_SGN_NONE == nsign) {
+ /* if (H5Tequal(tid, H5T_NATIVE_USHORT)) */
+ tmp_ushort = 0;
+ sscanf(token, "%u", &tmp_ushort);
+ HDmemcpy(&tmp_ushort, cptr, sizeof(unsigned short));
+ }
+ else {
+ /* if (H5Tequal(tid, H5T_NATIVE_SHORT)) */
+ tmp_short = 0;
+ sscanf(token, "%d", &tmp_short);
+ HDmemcpy(&tmp_short, cptr, sizeof(short));
+ }
+ }
+ else if (sizeof(long) == size) {
+ if(H5T_SGN_NONE == nsign) {
+ /* if (H5Tequal(tid, H5T_NATIVE_ULONG)) */
+ tmp_ulong = 0;
+ sscanf(token, "%lu", &tmp_ulong);
+ HDmemcpy(cptr, &tmp_ulong, sizeof(unsigned long));
+ }
+ else {
+ /* if (H5Tequal(tid, H5T_NATIVE_LONG)) */
+ tmp_long = 0;
+ sscanf(token, "%ld", &tmp_long);
+ HDmemcpy(cptr, &tmp_long, sizeof(long));
+ }
+ }
+ else if (sizeof(long long) == size) {
+ if(H5T_SGN_NONE == nsign) {
+ /* if (H5Tequal(tid, H5T_NATIVE_ULLONG)) */
+ tmp_ullong = 0;
+ sscanf(token, fmt_ullong, &tmp_ullong);
+ HDmemcpy(cptr, &tmp_ullong, sizeof(unsigned long long));
+ }
+ else {
+ /* if (H5Tequal(tid, H5T_NATIVE_LLONG)) */
+ tmp_llong = 0;
+ sscanf(token, fmt_llong, &tmp_llong);
+ HDmemcpy(cptr, &tmp_llong, sizeof(long long));
+ }
+ }
+ break;
+ case H5T_COMPOUND:
+ {
+ unsigned i;
+ n = H5Tget_nmembers(tid);
+ /* remove compound indicators */
+ if ((*str)[0] == ' ')
+ (*str)++;
+ if ((*str)[0] == '{')
+ (*str)++;
+
+ for (i = 0; i < n; i++) {
+ offset = H5Tget_member_offset(tid, i);
+ mtid = H5Tget_member_type(tid, i);
+ h5str_convert(str, container, mtid, ptr, offset, expand_data);
+ /* remove compound indicators */
+ if ((*str)[0] == ',')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+ H5Tclose(mtid);
+ }
+ /* remove compound indicators */
+ if ((*str)[0] == '}')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+ }
+ break;
+ case H5T_ENUM:
+ {
+ char enum_name[1024];
+ void *value;
+ if (sizeof(char) == size) {
+ tmp_uchar = 0;
+ value = &tmp_uchar;
+ }
+ else if (sizeof(short) == size) {
+ tmp_ushort = 0;
+ value = &tmp_ushort;
+ }
+ else if (sizeof(long) == size) {
+ tmp_ulong = 0;
+ value = &tmp_ulong;
+ }
+ else if (sizeof(long long) == size) {
+ tmp_ullong = 0;
+ value = &tmp_ullong;
+ }
+ else {
+ tmp_uint = 0;
+ value = &tmp_uint;
+ }
+ token = HDstrtok (this_str, delimiter);
+ H5Tenum_valueof(tid, token, value);
+ HDmemcpy(ucptr, value, size);
+ }
+ break;
+ case H5T_REFERENCE:
+ /* TODO handle reference writing */
+ cptr = NULL;
+ break;
+ case H5T_ARRAY:
+ {
+ int rank = 0;
+ hsize_t i, dims[H5S_MAX_RANK], total_elmts;
+ /* remove array indicators */
+ if ((*str)[0] == '[')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+
+ mtid = H5Tget_super(tid);
+ offset = H5Tget_size(mtid);
+ rank = H5Tget_array_ndims(tid);
+
+ H5Tget_array_dims2(tid, dims);
+
+ total_elmts = 1;
+ for (i = 0; i < rank; i++)
+ total_elmts *= dims[i];
+
+ cptr = HDcalloc((size_t)total_elmts, offset);
+ for (i = 0; i < total_elmts; i++) {
+ h5str_convert(str, container, mtid, cptr + (i*offset), offset, expand_data);
+ /* remove array indicators */
+ if ((*str)[0] == ',')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+ }
+ H5Tclose(mtid);
+ /* remove array indicators */
+ if ((*str)[0] == ' ')
+ (*str)++;
+ if ((*str)[0] == ']')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+ }
+ break;
+ case H5T_VLEN:
+ {
+ unsigned int i;
+ mtid = H5Tget_super(tid);
+ offset = H5Tget_size(mtid);
+
+ /* remove vlen indicators */
+ if ((*str)[0] == '{')
+ (*str)++;
+ cptr = HDcalloc(offset, sizeof(hvl_t));
+ for (i = 0; (i*offset) < (int)size; i++) {
+ h5str_convert(str, container, mtid, cptr + (i*offset), offset, expand_data);
+ /* remove vlen indicators */
+ if ((*str)[0] == ',')
+ (*str)++;
+ if ((*str)[0] == ' ')
+ (*str)++;
+ if ((*str)[0] == '}')
+ break;
+ }
+ H5Tclose(mtid);
+ /* remove vlen indicators */
+ if ((*str)[0] == '}')
+ (*str)++;
+ }
+ break;
+
+ default:
+ {
+ /* All other types get copied raw */
+ HDmemcpy(ucptr, this_str, size);
+ }
+ break;
+ } /* end switch */
+
+ return this_strlen;
+} /* end h5str_convert */
+
+/** print value of a vlen data point into string.
+ Return Value:
+ On success, the total number of characters printed is returned.
+ On error, a negative number is returned.
+ */
+size_t
+h5str_vlsprintf
+ (h5str_t *str, hid_t container, hid_t tid, hvl_t *ptr, int expand_data)
+{
+ unsigned char tmp_uchar = 0;
+ char tmp_char = 0;
+ unsigned short tmp_ushort = 0;
+ short tmp_short = 0;
+ unsigned int tmp_uint = 0;
+ int tmp_int = 0;
+ unsigned long tmp_ulong = 0;
+ long tmp_long = 0;
+ unsigned long long tmp_ullong = 0;
+ long long tmp_llong = 0;
+ float tmp_float = 0.0;
+ double tmp_double = 0.0;
+ long double tmp_ldouble = 0.0;
+ static char fmt_llong[8], fmt_ullong[8];
+
+ hid_t mtid = -1;
+ size_t offset;
+ size_t nll;
+ char *this_str;
+ size_t this_strlen;
+ int n;
+ H5T_class_t tclass = H5Tget_class(tid);
+ size_t size = H5Tget_size(tid);
+ H5T_sign_t nsign = H5Tget_sign(tid);
+ int bdata_print = 0;
+
+ if (!str || !ptr)
+ return 0;
+
+ /* Build default formats for long long types */
+ if (!fmt_llong[0]) {
+ sprintf(fmt_llong, "%%%sd", H5_PRINTF_LL_WIDTH);
+ sprintf(fmt_ullong, "%%%su", H5_PRINTF_LL_WIDTH);
+ } /* end if */
+
+ this_str = NULL;
+ this_strlen = 0;
+
+ switch (tclass) {
+ case H5T_COMPOUND:
+ {
+ unsigned i;
+ n = H5Tget_nmembers(tid);
+ h5str_append(str, " {");
+
+ for (i = 0; i < n; i++) {
+ offset = H5Tget_member_offset(tid, i);
+ mtid = H5Tget_member_type(tid, i);
+ h5str_sprintf(str, container, mtid, ((char *) (ptr->p)) + offset, ptr->len, expand_data);
+ if ((i + 1) < n)
+ h5str_append(str, ", ");
+ H5Tclose(mtid);
+ }
+ h5str_append(str, "} ");
+ }
+ break;
+ case H5T_ARRAY:
+ {
+ int rank = 0;
+ hsize_t i, dims[H5S_MAX_RANK], total_elmts;
+ h5str_append(str, "[ ");
+
+ mtid = H5Tget_super(tid);
+ size = H5Tget_size(mtid);
+ rank = H5Tget_array_ndims(tid);
+
+ H5Tget_array_dims2(tid, dims);
+
+ total_elmts = 1;
+ for (i = 0; i < rank; i++)
+ total_elmts *= dims[i];
+
+ h5str_sprintf(str, container, mtid, ((char *) (ptr->p)), ptr->len, expand_data);
+ H5Tclose(mtid);
+ h5str_append(str, " ] ");
+ }
+ break;
+ default:
+ this_strlen = h5str_sprintf(str, container, tid, ((char *) (ptr->p)), ptr->len, expand_data);
+ break;
+ } /* end switch */
+
+ return this_strlen;
+} /* end h5str_vlsprintf */
+
/** print value of a data point into string.
Return Value:
On success, the total number of characters printed is returned.
@@ -159,7 +667,7 @@ h5str_append
*/
size_t
h5str_sprintf
- (h5str_t *str, hid_t container, hid_t tid, void *ptr, int expand_data)
+ (h5str_t *str, hid_t container, hid_t tid, void *ptr, int ptr_len, int expand_data)
{
unsigned char tmp_uchar = 0;
char tmp_char = 0;
@@ -182,9 +690,8 @@ h5str_sprintf
char *this_str;
size_t this_strlen;
int n;
- hvl_t *vlptr;
- char *cptr = (char*) ptr;
- unsigned char *ucptr = (unsigned char*) ptr;
+ char *cptr = (char*) (ptr);
+ unsigned char *ucptr = (unsigned char*) (ptr);
H5T_class_t tclass = H5Tget_class(tid);
size_t size = H5Tget_size(tid);
H5T_sign_t nsign = H5Tget_sign(tid);
@@ -206,20 +713,20 @@ h5str_sprintf
case H5T_FLOAT:
if (sizeof(float) == size) {
/* if (H5Tequal(tid, H5T_NATIVE_FLOAT)) */
- HDmemcpy(&tmp_float, ptr, sizeof(float));
+ HDmemcpy(&tmp_float, cptr, sizeof(float));
this_str = (char*)HDmalloc(25);
sprintf(this_str, "%g", tmp_float);
}
else if (sizeof(double) == size) {
/* if (H5Tequal(tid, H5T_NATIVE_DOUBLE)) */
- HDmemcpy(&tmp_double, ptr, sizeof(double));
+ HDmemcpy(&tmp_double, cptr, sizeof(double));
this_str = (char*)HDmalloc(25);
sprintf(this_str, "%g", tmp_double);
}
#if H5_SIZEOF_LONG_DOUBLE !=0
else if (sizeof(long double) == size) {
/* if (H5Tequal(tid, H5T_NATIVE_LDOUBLE)) */
- HDmemcpy(&tmp_ldouble, ptr, sizeof(long double));
+ HDmemcpy(&tmp_ldouble, cptr, sizeof(long double));
this_str = (char*)HDmalloc(27);
sprintf(this_str, "%Lf", tmp_ldouble);
}
@@ -256,13 +763,13 @@ h5str_sprintf
if (sizeof(char) == size) {
if(H5T_SGN_NONE == nsign) {
/* if (H5Tequal(tid, H5T_NATIVE_UCHAR)) */
- HDmemcpy(&tmp_uchar, ptr, sizeof(unsigned char));
+ HDmemcpy(&tmp_uchar, cptr, sizeof(unsigned char));
this_str = (char*)HDmalloc(7);
sprintf(this_str, "%u", tmp_uchar);
}
else {
/* if (H5Tequal(tid, H5T_NATIVE_SCHAR)) */
- HDmemcpy(&tmp_char, ptr, sizeof(char));
+ HDmemcpy(&tmp_char, cptr, sizeof(char));
this_str = (char*)HDmalloc(7);
sprintf(this_str, "%hhd", tmp_char);
}
@@ -270,13 +777,13 @@ h5str_sprintf
else if (sizeof(int) == size) {
if(H5T_SGN_NONE == nsign) {
/* if (H5Tequal(tid, H5T_NATIVE_UINT)) */
- HDmemcpy(&tmp_uint, ptr, sizeof(unsigned int));
+ HDmemcpy(&tmp_uint, cptr, sizeof(unsigned int));
this_str = (char*)HDmalloc(14);
sprintf(this_str, "%u", tmp_uint);
}
else {
/* if (H5Tequal(tid, H5T_NATIVE_INT)) */
- HDmemcpy(&tmp_int, ptr, sizeof(int));
+ HDmemcpy(&tmp_int, cptr, sizeof(int));
this_str = (char*)HDmalloc(14);
sprintf(this_str, "%d", tmp_int);
}
@@ -284,13 +791,13 @@ h5str_sprintf
else if (sizeof(short) == size) {
if(H5T_SGN_NONE == nsign) {
/* if (H5Tequal(tid, H5T_NATIVE_USHORT)) */
- HDmemcpy(&tmp_ushort, ptr, sizeof(unsigned short));
+ HDmemcpy(&tmp_ushort, cptr, sizeof(unsigned short));
this_str = (char*)HDmalloc(9);
sprintf(this_str, "%u", tmp_ushort);
}
else {
/* if (H5Tequal(tid, H5T_NATIVE_SHORT)) */
- HDmemcpy(&tmp_short, ptr, sizeof(short));
+ HDmemcpy(&tmp_short, cptr, sizeof(short));
this_str = (char*)HDmalloc(9);
sprintf(this_str, "%d", tmp_short);
}
@@ -298,13 +805,13 @@ h5str_sprintf
else if (sizeof(long) == size) {
if(H5T_SGN_NONE == nsign) {
/* if (H5Tequal(tid, H5T_NATIVE_ULONG)) */
- HDmemcpy(&tmp_ulong, ptr, sizeof(unsigned long));
+ HDmemcpy(&tmp_ulong, cptr, sizeof(unsigned long));
this_str = (char*)HDmalloc(23);
sprintf(this_str, "%lu", tmp_ulong);
}
else {
/* if (H5Tequal(tid, H5T_NATIVE_LONG)) */
- HDmemcpy(&tmp_long, ptr, sizeof(long));
+ HDmemcpy(&tmp_long, cptr, sizeof(long));
this_str = (char*)HDmalloc(23);
sprintf(this_str, "%ld", tmp_long);
}
@@ -312,13 +819,13 @@ h5str_sprintf
else if (sizeof(long long) == size) {
if(H5T_SGN_NONE == nsign) {
/* if (H5Tequal(tid, H5T_NATIVE_ULLONG)) */
- HDmemcpy(&tmp_ullong, ptr, sizeof(unsigned long long));
+ HDmemcpy(&tmp_ullong, cptr, sizeof(unsigned long long));
this_str = (char*)HDmalloc(25);
sprintf(this_str, fmt_ullong, tmp_ullong);
}
else {
/* if (H5Tequal(tid, H5T_NATIVE_LLONG)) */
- HDmemcpy(&tmp_llong, ptr, sizeof(long long));
+ HDmemcpy(&tmp_llong, cptr, sizeof(long long));
this_str = (char*)HDmalloc(25);
sprintf(this_str, fmt_llong, tmp_llong);
}
@@ -333,8 +840,8 @@ h5str_sprintf
for (i = 0; i < n; i++) {
offset = H5Tget_member_offset(tid, i);
mtid = H5Tget_member_type(tid, i);
- h5str_sprintf(str, container, mtid, cptr + offset, expand_data);
- if (i < n - 1)
+ h5str_sprintf(str, container, mtid, cptr + offset, ptr_len, expand_data);
+ if ((i + 1) < n)
h5str_append(str, ", ");
H5Tclose(mtid);
}
@@ -344,7 +851,7 @@ h5str_sprintf
case H5T_ENUM:
{
char enum_name[1024];
- if (H5Tenum_nameof(tid, ptr, enum_name, sizeof enum_name) >= 0) {
+ if (H5Tenum_nameof(tid, cptr, enum_name, sizeof enum_name) >= 0) {
h5str_append(str, enum_name);
}
else {
@@ -363,7 +870,7 @@ h5str_sprintf
}
break;
case H5T_REFERENCE:
- if (h5str_is_zero(ptr, size)) {
+ if (h5str_is_zero(cptr, size)) {
h5str_append(str, "NULL");
}
else {
@@ -379,9 +886,9 @@ h5str_sprintf
H5S_sel_type region_type;
/* get name of the dataset the region reference points to using H5Rget_name */
- region_obj = H5Rdereference2(container, H5P_DEFAULT, H5R_DATASET_REGION, ptr);
+ region_obj = H5Rdereference2(container, H5P_DEFAULT, H5R_DATASET_REGION, cptr);
if (region_obj >= 0) {
- region = H5Rget_region(container, H5R_DATASET_REGION, ptr);
+ region = H5Rget_region(container, H5R_DATASET_REGION, cptr);
if (region >= 0) {
if(expand_data) {
region_type = H5Sget_select_type(region);
@@ -393,7 +900,7 @@ h5str_sprintf
}
}
else {
- if(H5Rget_name(region_obj, H5R_DATASET_REGION, ptr, (char*)ref_name, 1024) >= 0) {
+ if(H5Rget_name(region_obj, H5R_DATASET_REGION, cptr, (char*)ref_name, 1024) >= 0) {
h5str_append(str, ref_name);
}
@@ -424,8 +931,8 @@ h5str_sprintf
hid_t obj;
this_str = (char*)HDmalloc(64);
- obj = H5Rdereference2(container, H5P_DEFAULT, H5R_OBJECT, ptr);
- H5Oget_info(obj, &oi);
+ obj = H5Rdereference2(container, H5P_DEFAULT, H5R_OBJECT, cptr);
+ H5Oget_info2(obj, &oi, H5O_INFO_ALL);
/* Print object data and close object */
sprintf(this_str, "%u-%lu", (unsigned) oi.type, oi.addr);
@@ -450,31 +957,30 @@ h5str_sprintf
total_elmts *= dims[i];
for (i = 0; i < total_elmts; i++) {
- h5str_sprintf(str, container, mtid, cptr + i * size, expand_data);
- if (i < total_elmts - 1)
+ h5str_sprintf(str, container, mtid, cptr + i * size, ptr_len, expand_data);
+ if ((i + 1) < total_elmts)
h5str_append(str, ", ");
}
H5Tclose(mtid);
- h5str_append(str, "] ");
+ h5str_append(str, " ] ");
}
break;
case H5T_VLEN:
- {
- unsigned int i;
- mtid = H5Tget_super(tid);
- size = H5Tget_size(mtid);
-
- vlptr = (hvl_t *) cptr;
-
- nll = vlptr->len;
- for (i = 0; i < (int)nll; i++) {
- h5str_sprintf(str, container, mtid, ((char *) (vlptr->p)) + i * size, expand_data);
- if (i < (int)nll - 1)
- h5str_append(str, ", ");
+ {
+ unsigned int i;
+ mtid = H5Tget_super(tid);
+ size = H5Tget_size(mtid);
+
+ h5str_append(str, "{");
+ for (i = 0; i < (int)ptr_len; i++) {
+ h5str_sprintf(str, container, mtid, cptr + i * size, ptr_len, expand_data);
+ if ((i + 1) < (int)ptr_len)
+ h5str_append(str, ", ");
+ }
+ H5Tclose(mtid);
+ h5str_append(str, "}");
}
- H5Tclose(mtid);
- }
- break;
+ break;
default:
{
@@ -563,7 +1069,7 @@ h5str_print_region_data_blocks
if(H5Dread(region_id, type_id, mem_space, sid1, H5P_DEFAULT, region_buf) >= 0) {
if(H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
for (numindex = 0; numindex < numelem; numindex++) {
- h5str_sprintf(str, region_id, type_id, ((char*)region_buf + numindex * type_size), 1);
+ h5str_sprintf(str, region_id, type_id, ((char*)region_buf + numindex * type_size), 0, 1);
if (numindex + 1 < numelem)
h5str_append(str, ", ");
@@ -763,7 +1269,7 @@ h5str_print_region_data_points
for (jndx = 0; jndx < npoints; jndx++) {
if(H5Sget_simple_extent_dims(mem_space, total_size, NULL) >= 0) {
- h5str_sprintf(str, region_id, type_id, ((char*)region_buf + jndx * type_size), 1);
+ h5str_sprintf(str, region_id, type_id, ((char*)region_buf + jndx * type_size), 0, 1);
if (jndx + 1 < npoints)
h5str_append(str, ", ");
@@ -1883,7 +2389,7 @@ h5tools_dump_simple_data
/* Render the data element*/
h5str_new(&buffer, 32 * size);
- bytes_in = h5str_sprintf(&buffer, container, type, memref, 1);
+ bytes_in = h5str_sprintf(&buffer, container, type, memref, 0, 1);
if(i > 0) {
HDfprintf(stream, ", ");
if (line_count >= H5TOOLS_TEXT_BLOCK) {
@@ -1909,116 +2415,6 @@ h5tools_dump_simple_data
/*
* Class: hdf_hdf5lib_H5
- * Method: H5AwriteVL
- * Signature: (JJ[Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL
-Java_hdf_hdf5lib_H5_H5AwriteVL
- (JNIEnv *env, jclass clss, jlong attr_id, jlong mem_type_id, jobjectArray buf)
-{
- herr_t status = -1;
- char **wdata;
- jsize size;
- jint i;
-
- size = ENVPTR->GetArrayLength(ENVPAR (jarray) buf);
-
- wdata = (char**)HDcalloc((size_t)size + 1, sizeof(char*));
- if (!wdata) {
- h5JNIFatalError(env, "H5AwriteVL: cannot allocate buffer");
- } /* end if */
- else {
- HDmemset(wdata, 0, (size_t)size * sizeof(char*));
- for (i = 0; i < size; ++i) {
- jstring obj = (jstring) ENVPTR->GetObjectArrayElement(ENVPAR (jobjectArray) buf, i);
- if (obj != 0) {
- jsize length = ENVPTR->GetStringUTFLength(ENVPAR obj);
- const char *utf8 = ENVPTR->GetStringUTFChars(ENVPAR obj, 0);
-
- if (utf8) {
- wdata[i] = (char*)HDmalloc((size_t)length + 1);
- if (wdata[i]) {
- HDmemset(wdata[i], 0, ((size_t)length + 1));
- HDstrncpy(wdata[i], utf8, (size_t)length);
- } /* end if */
- } /* end if */
-
- ENVPTR->ReleaseStringUTFChars(ENVPAR obj, utf8);
- ENVPTR->DeleteLocalRef(ENVPAR obj);
- } /* end if */
- } /* end for (i = 0; i < size; ++i) */
-
- status = H5Awrite((hid_t)attr_id, (hid_t)mem_type_id, wdata);
-
- for (i = 0; i < size; i++) {
- if(wdata[i]) {
- HDfree(wdata[i]);
- } /* end if */
- } /* end for */
- HDfree(wdata);
-
- if (status < 0)
- h5libraryError(env);
- } /* end else */
-
- return (jint)status;
-} /* end Java_hdf_hdf5lib_H5_H5AwriteVL */
-
-/*
- * Class: hdf_hdf5lib_H5
- * Method: H5AreadVL
- * Signature: (JJ[Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL
-Java_hdf_hdf5lib_H5_H5AreadVL
- (JNIEnv *env, jclass clss, jlong attr_id, jlong mem_type_id, jobjectArray buf)
-{
- herr_t status = -1;
- jstring jstr;
- char **strs;
- int i, n;
- hid_t sid;
- hsize_t dims[H5S_MAX_RANK];
-
- n = ENVPTR->GetArrayLength(ENVPAR buf);
-
- strs =(char **)HDmalloc((size_t)n * sizeof(char *));
- if (strs == NULL) {
- h5JNIFatalError( env, "H5AreadVL: failed to allocate buff for read variable length strings");
- } /* end if */
- else {
- status = H5Aread(attr_id, mem_type_id, strs);
- if (status < 0) {
- dims[0] = (hsize_t)n;
- sid = H5Screate_simple(1, dims, NULL);
- H5Dvlen_reclaim(mem_type_id, sid, H5P_DEFAULT, strs);
- H5Sclose(sid);
- HDfree(strs);
- h5JNIFatalError(env, "H5AreadVL: failed to read variable length strings");
- } /* end if */
- else {
- for (i=0; i<n; i++) {
- jstr = ENVPTR->NewStringUTF(ENVPAR strs[i]);
- ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
- HDfree (strs[i]);
- } /* end for */
-
- /*
- for repeatedly reading an attribute with a large number of strs (e.g., 1,000,000 strings,
- H5Dvlen_reclaim() may crash on Windows because the Java GC will not be able to collect
- free space in time. Instead, use "free(strs[i])" to free individual strings
- after it is done.
- H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, strs);
- */
-
- HDfree(strs);
- } /* end else */
- } /* end else */
- return status;
-} /* end Java_hdf_hdf5lib_H5_H5AreadVL */
-
-/*
- * Class: hdf_hdf5lib_H5
* Method: H5AreadComplex
* Signature: (JJ[Ljava/lang/String;)I
*/
@@ -2059,7 +2455,7 @@ Java_hdf_hdf5lib_H5_H5AreadComplex
else {
for (i = 0; i < n; i++) {
h5str.s[0] = '\0';
- h5str_sprintf(&h5str, attr_id, mem_type_id, rdata + ((size_t)i * size), 0);
+ h5str_sprintf(&h5str, attr_id, mem_type_id, rdata + ((size_t)i * size), 0, 0);
jstr = ENVPTR->NewStringUTF(ENVPAR h5str.s);
ENVPTR->SetObjectArrayElement(ENVPAR buf, i, jstr);
} /* end for */
@@ -2552,7 +2948,7 @@ obj_info_all
info_all_t *datainfo = (info_all_t*)op_data;
H5O_info_t object_info;
- retVal = H5Oget_info_by_name(loc_id, name, &object_info, H5P_DEFAULT);
+ retVal = H5Oget_info_by_name2(loc_id, name, &object_info, H5O_INFO_ALL, H5P_DEFAULT);
if (retVal < 0) {
*(datainfo->otype+datainfo->count) = -1;
@@ -2591,7 +2987,7 @@ obj_info_max
info_all_t *datainfo = (info_all_t*)op_data;
H5O_info_t object_info;
- retVal = H5Oget_info(loc_id, &object_info);
+ retVal = H5Oget_info2(loc_id, &object_info, H5O_INFO_ALL);
if (retVal < 0) {
*(datainfo->otype+datainfo->count) = -1;
*(datainfo->ltype+datainfo->count) = -1;
diff --git a/java/src/jni/h5util.h b/java/src/jni/h5util.h
index 434a107..23bc424 100644
--- a/java/src/jni/h5util.h
+++ b/java/src/jni/h5util.h
@@ -39,7 +39,10 @@ extern void h5str_new (h5str_t *str, size_t len);
extern void h5str_free (h5str_t *str);
extern void h5str_resize (h5str_t *str, size_t new_len);
extern char* h5str_append (h5str_t *str, const char* cstr);
-extern size_t h5str_sprintf(h5str_t *str, hid_t container, hid_t tid, void *buf, int expand_data);
+extern size_t h5str_vlsprintf(h5str_t *str, hid_t container, hid_t tid, hvl_t *buf, int expand_data);
+extern size_t h5str_sprintf(h5str_t *str, hid_t container, hid_t tid, void *buf, int ptrlen, int expand_data);
+extern size_t h5str_vlsconvert(char *str, hid_t container, hid_t tid, hvl_t *buf, int expand_data);
+extern size_t h5str_convert(char **str, hid_t container, hid_t tid, hvl_t *buf, int ptroffset, int expand_data);
extern void h5str_array_free(char **strs, size_t len);
extern int h5str_dump_simple_dset(FILE *stream, hid_t dset, int binary_order);
extern int h5str_dump_region_blocks_data(h5str_t *str, hid_t region, hid_t region_obj);
@@ -47,24 +50,6 @@ extern int h5str_dump_region_points_data(h5str_t *str, hid_t region, hid_t r
/*
* Class: hdf_hdf5lib_H5
- * Method: H5AwriteVL
- * Signature: (JJ[Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL
-Java_hdf_hdf5lib_H5_H5AwriteVL
- (JNIEnv *, jclass, jlong, jlong, jobjectArray);
-
-/*
- * Class: hdf_hdf5lib_H5
- * Method: H5AreadVL
- * Signature: (JJ[Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL
-Java_hdf_hdf5lib_H5_H5AreadVL
- (JNIEnv *, jclass, jlong, jlong, jobjectArray);
-
-/*
- * Class: hdf_hdf5lib_H5
* Method: H5AreadComplex
* Signature: (JJ[Ljava/lang/String;)I
*/
diff --git a/java/test/CMakeLists.txt b/java/test/CMakeLists.txt
index 6158055..b76f572 100644
--- a/java/test/CMakeLists.txt
+++ b/java/test/CMakeLists.txt
@@ -1,78 +1,84 @@
cmake_minimum_required (VERSION 3.10)
-PROJECT (HDF5_JAVA_TEST Java)
+project (HDF5_JAVA_TEST Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
-INCLUDE_DIRECTORIES (
- ${HDF5_JAVA_JNI_BINARY_DIR}
- ${HDF5_JAVA_HDF5_LIB_DIR}
-)
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${HDF5_JAVA_JNI_BINARY_DIR};${HDF5_JAVA_HDF5_LIB_DIR}")
set (HDF5_JAVA_TEST_SOURCES
- TestH5.java
- TestH5E.java
- TestH5Edefault.java
- TestH5Eregister.java
- TestH5Fparams.java
- TestH5Fbasic.java
- TestH5F.java
- TestH5Fswmr.java
- TestH5Gbasic.java
- TestH5G.java
- TestH5Giterate.java
- TestH5Sbasic.java
- TestH5S.java
- TestH5Tparams.java
- TestH5Tbasic.java
- TestH5T.java
- TestH5Dparams.java
- TestH5D.java
- TestH5Dplist.java
- TestH5Lparams.java
- TestH5Lbasic.java
- TestH5Lcreate.java
- TestH5R.java
- TestH5P.java
- TestH5PData.java
- TestH5Pfapl.java
- TestH5Pvirtual.java
- TestH5Plist.java
- TestH5A.java
- TestH5Oparams.java
- TestH5Obasic.java
- TestH5Ocreate.java
- TestH5Ocopy.java
- TestH5PL.java
- TestH5Z.java
- TestAll.java
+ TestH5
+ TestH5Eparams
+ TestH5Eregister
+ TestH5Fparams
+ TestH5Fbasic
+ TestH5F
+ TestH5Fswmr
+ TestH5Gbasic
+ TestH5G
+ TestH5Sbasic
+ TestH5S
+ TestH5Tparams
+ TestH5Tbasic
+ TestH5T
+ TestH5Dparams
+ TestH5D
+ TestH5Dplist
+ TestH5Lparams
+ TestH5Lbasic
+ TestH5Lcreate
+ TestH5R
+ TestH5P
+ TestH5PData
+ TestH5Pfapl
+ TestH5Pvirtual
+ TestH5Plist
+ TestH5A
+ TestH5Oparams
+ TestH5Obasic
+ TestH5Ocreate
+ TestH5Ocopy
+ TestH5PL
+ TestH5Z
)
-file (WRITE ${PROJECT_BINARY_DIR}/Manifest.txt
-"Main-Class: test.TestAll
-"
-)
+if (NOT HDF5_ENABLE_DEBUG_APIS)
+ set (HDF5_JAVA_TEST_SOURCES
+ ${HDF5_JAVA_TEST_SOURCES}
+ TestH5E
+ TestH5Edefault
+ TestH5Giterate
+ )
+endif ()
set (CMAKE_JAVA_INCLUDE_PATH "${HDF5_JAVA_LIB_DIR}/junit.jar;${HDF5_JAVA_LIB_DIR}/hamcrest-core.jar;${HDF5_JAVA_JARS};${HDF5_JAVA_LOGGING_JAR};${HDF5_JAVA_LOGGING_SIMPLE_JAR}")
-add_jar (${HDF5_JAVA_TEST_LIB_TARGET} MANIFEST ${PROJECT_BINARY_DIR}/Manifest.txt ${HDF5_JAVA_TEST_SOURCES})
+foreach (test_file ${HDF5_JAVA_TEST_SOURCES})
-get_target_property (${HDF5_JAVA_TEST_LIB_TARGET}_JAR_FILE ${HDF5_JAVA_TEST_LIB_TARGET} JAR_FILE)
-#install_jar (${HDF5_JAVA_TEST_LIB_TARGET} ${HJAVA_INSTALL_DATA_DIR}/tests tests)
-#get_target_property (${HDF5_JAVA_TEST_LIB_TARGET}_CLASSPATH ${HDF5_JAVA_TEST_LIB_TARGET} CLASSDIR)
+ file (WRITE ${PROJECT_BINARY_DIR}/${test_file}Manifest.txt
+ "Main-Class: test.${test_file}
+"
+ )
-add_dependencies (${HDF5_JAVA_TEST_LIB_TARGET} ${HDF5_JAVA_HDF5_LIB_TARGET})
-set_target_properties (${HDF5_JAVA_TEST_LIB_TARGET} PROPERTIES FOLDER test/java)
+ add_jar (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} MANIFEST ${PROJECT_BINARY_DIR}/${test_file}Manifest.txt ${test_file}.java)
-set (HDF_JAVA_TEST_FILES
- JUnit-interface.txt
- JUnit-interface.ert
-)
+ get_target_property (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file}_JAR_FILE ${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} JAR_FILE)
+ #install_jar (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} ${HJAVA_INSTALL_DATA_DIR}/tests tests)
+ #get_target_property (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file}_CLASSPATH ${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} CLASSDIR)
+
+ add_dependencies (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} ${HDF5_JAVA_HDF5_LIB_TARGET})
+ set_target_properties (${HDF5_JAVA_TEST_LIB_TARGET}_${test_file} PROPERTIES FOLDER test/java)
+endforeach ()
-foreach (h5_file ${HDF_JAVA_TEST_FILES})
- HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/${h5_file}" "${PROJECT_BINARY_DIR}/${h5_file}" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+foreach (h5_file ${HDF5_JAVA_TEST_SOURCES})
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/JUnit-${h5_file}.txt" "${PROJECT_BINARY_DIR}/JUnit-${h5_file}.txt" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
endforeach ()
HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterate.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterateL1.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterateL2.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterateO1.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterateO2.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+
add_custom_target(${HDF5_JAVA_TEST_LIB_TARGET}_files ALL COMMENT "Copying files needed by ${HDF5_JAVA_TEST_LIB_TARGET} tests" DEPENDS ${${HDF5_JAVA_TEST_LIB_TARGET}_files_list})
if (WIN32)
@@ -81,41 +87,44 @@ else ()
set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":")
endif ()
-set (CMAKE_JAVA_CLASSPATH ".")
-foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH})
- set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}")
-endforeach ()
-set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${HDF5_JAVA_TEST_LIB_TARGET}_JAR_FILE}")
-set (testfilter "OK (598 tests)")
-
- set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=$<TARGET_PROPERTY:${HDF5_JAVA_JNI_LIB_TARGET},OUTPUT_NAME$<$<CONFIG:Debug>:_DEBUG>>;")
-add_test (
- NAME JUnit-interface-clearall-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- JUnit-interface.out
- JUnit-interface.out.err
-)
+set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=$<TARGET_PROPERTY:${HDF5_JAVA_JNI_LIB_TARGET},OUTPUT_NAME$<$<CONFIG:Debug>:_DEBUG>>;")
-add_test (
- NAME JUnit-interface
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}"
- -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}"
- -D "TEST_ARGS:STRING=${CMD_ARGS}-ea;org.junit.runner.JUnitCore"
- -D "TEST_PROGRAM=test.TestAll"
- -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}"
- -D "TEST_FOLDER=${HDF5_BINARY_DIR}/java/test"
- -D "TEST_OUTPUT=JUnit-interface.out"
-# -D "TEST_LOG_LEVEL=trace"
- -D "TEST_EXPECT=0"
- -D "SKIP_APPEND=1"
- -D "TEST_MASK_ERROR=TRUE"
- -D "TEST_FILTER:STRING=${testfilter}"
- -D "TEST_REFERENCE=JUnit-interface.txt"
- -P "${HDF_RESOURCES_DIR}/jrunTest.cmake"
-)
-set_tests_properties (JUnit-interface PROPERTIES
- ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir2"
- DEPENDS "JUnit-interface-clearall-objects"
-)
+foreach (test_file ${HDF5_JAVA_TEST_SOURCES})
+
+ set (CMAKE_JAVA_CLASSPATH ".")
+ foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH})
+ set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}")
+ endforeach ()
+ set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${HDF5_JAVA_TEST_LIB_TARGET}_${test_file}_JAR_FILE}")
+
+ add_test (
+ NAME JUnit-${test_file}-clearall-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ JUnit-${test_file}.out
+ JUnit-${test_file}.out.err
+ )
+ add_test (
+ NAME JUnit-${test_file}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}"
+ -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}"
+ -D "TEST_ARGS:STRING=${CMD_ARGS}-ea;org.junit.runner.JUnitCore"
+ -D "TEST_PROGRAM=test.${test_file}"
+ -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}"
+ -D "TEST_FOLDER=${HDF5_BINARY_DIR}/java/test"
+ -D "TEST_OUTPUT=JUnit-${test_file}.out"
+# -D "TEST_LOG_LEVEL=trace"
+ -D "TEST_EXPECT=0"
+ -D "SKIP_APPEND=1"
+ -D "TEST_MASK_ERROR=TRUE"
+# -D "TEST_FILTER:STRING=${testfilter}"
+ -D "TEST_REFERENCE=JUnit-${test_file}.txt"
+ -P "${HDF_RESOURCES_DIR}/jrunTest.cmake"
+ )
+
+ set_tests_properties (JUnit-${test_file} PROPERTIES
+ ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir2"
+ DEPENDS "JUnit-${test_file}-clearall-objects"
+ )
+endforeach ()
diff --git a/java/test/JUnit-interface.ert b/java/test/JUnit-interface.ert
deleted file mode 100644
index 5771a4f..0000000
--- a/java/test/JUnit-interface.ert
+++ /dev/null
@@ -1,2 +0,0 @@
-[main] INFO hdf.hdf5lib.H5 - HDF5 library: hdf5_java
-[main] INFO hdf.hdf5lib.H5 - successfully loaded from java.library.path
diff --git a/java/test/JUnit-interface.txt b/java/test/JUnit-interface.txt
deleted file mode 100644
index 91ea286..0000000
--- a/java/test/JUnit-interface.txt
+++ /dev/null
@@ -1,671 +0,0 @@
-JUnit version 4.11
-.testJ2C
-.testIsSerializable
-.testH5garbage_collect
-.testH5error_off
-.serializeToDisk
-.testH5open
-.testH5check_version
-.testH5get_libversion
-.testH5set_free_list_limits
-.testH5Eregister_class_lib_name_null
-.testH5Eregister_class_version_null
-.testH5Eunregister_class_invalid_classid
-.testH5Eregister_class
-.testH5Eregister_class_cls_name_null
-.testH5EprintInt
-.testH5Eset_current_stack_invalid_stkid
-.testH5Eset_current_stack
-.testH5Eget_num
-.testH5Eclear
-.testH5Eprint
-.testH5Epush_null_name
-.testH5Eget_num_with_msg
-.testH5Eclear2_with_msg
-.testH5Epush_invalid_stkid
-.testH5Eget_current_stack
-.testH5Ecreate_stack
-.testH5Eget_msg_invalid_msgid
-.testH5Eauto_is_v2
-.testH5EclearInt
-.testH5Eauto_is_v2_invalid_stkid
-.testH5Eclose_msg_invalid_errid
-.testH5Eclose_stack_invalid_stackid
-.testH5Eget_class_name_invalid_classname
-.testH5Eget_num_invalid_stkid
-.testH5EprintInt_invalid_classid
-.testH5Epop
-.testH5Epop_invalid_stkid
-.testH5Eget_current_stack_pop
-.testH5Eget_class_name_invalid_classid
-.testH5Ecreate_msg_invalid_errid
-.testH5Eclear2_invalid_stkid
-.testH5Eprint2_invalid_classid
-.testH5EprintInt
-.testH5Eget_msg_major
-.testH5Eget_msg_minor
-.testH5Eget_msg
-.testH5Eget_num
-.testH5Epush
-.testH5Ewalk
-.testH5Eget_class_name
-.testH5Eget_num_with_msg
-.testH5Eclear2
-.testH5Eprint2
-.testH5Ecreate_msg_major
-.testH5Ecreate_msg_minor
-.testH5Ecreate_stack
-.testH5Ecreate_msg_name_null
-.testH5Eauto_is_v2
-.testH5EclearInt
-.testH5Epop
-.testH5Fcreate_null
-.testH5Fflush_local
-.testH5Fget_info
-.testH5Fmount_null
-.testH5Fcreate
-.testH5Fflush_global
-.testH5Funmount_null
-.testH5Fclose_negative
-.testH5Fopen_null
-.testH5Fis_hdf5_null
-.testH5Fis_hdf5_text
-.testH5Fget_mdc_size
-.testH5Fget_mdc_hit_rate
-.testH5Fis_hdf5
-.testH5Fget_freespace
-.testH5Fclose
-.testH5Fget_filesize
-.testH5Fcreate_EXCL
-.testH5Freopen_closed
-.testH5Freset_mdc_hit_rate_stats
-.testH5Fget_name
-.testH5Fcreate
-.testH5Fclear_elink_file_cache
-.testH5Fclose_twice
-.testH5Freopen
-.testH5Fopen_read_only
-.testH5Fget_access_plist
-.testH5Fget_obj_ids
-.testH5Fget_intent_rdwr
-.testH5Fget_access_plist_closed
-.testH5Fget_create_plist_closed
-.testH5Fget_intent_rdonly
-.testH5Fget_create_plist
-.testH5Fget_obj_count
-.testH5Fstart_swmr_write
-.testH5Fswmr_read_attempts
-.testH5Gget_info_by_name_not_exists
-.testH5Gget_info_by_idx_not_exists
-.testH5Gget_info_by_name
-.testH5Gget_create_plist
-.testH5Gopen
-.testH5Gget_info_by_idx_null
-.testH5Gopen_not_exists
-.testH5Gclose
-.testH5Gcreate_anon
-.testH5Gcreate_null
-.testH5Gget_info_by_idx_fileid
-.testH5Gclose_invalid
-.testH5Gflush_invalid
-.testH5Gopen_invalid
-.testH5Grefresh_invalid
-.testH5Gget_info_invalid
-.testH5Gcreate_invalid
-.testH5Gcreate_exists
-.testH5Gget_info_by_name_null
-.testH5Gget_info_by_name_invalid
-.testH5Gget_create_plist_invalid
-.testH5Gcreate
-.testH5Gget_info_by_name_fileid
-.testH5Gget_info_by_idx_invalid
-.testH5Gopen_null
-.testH5Gget_info_by_idx
-.testH5Gget_info
-.testH5Gget_info_by_name
-.testH5Gget_create_plist
-.testH5Gopen
-.testH5Gget_obj_info_all_gid2
-.testH5Gget_obj_info_all_byIndexType
-.testH5Gget_obj_info_max_limit
-.testH5Gget_obj_info_all
-.testH5Gget_obj_info_max
-.testH5Gget_obj_info_all_gid
-.testH5Gget_info_by_idx
-.testH5Gget_info
-.testH5Gget_obj_info_all
-.testH5Sclose_invalid
-.testH5Screate_simple_max_default
-.testH5Screate_simple_dims_null
-.testH5Sdecode_null
-.testH5Screate_simple_dims_exceed
-.testH5Screate_simple_unlimted_1d
-.testH5Screate_simple_dims_invalid
-.testH5Screate_scalar
-.testH5Screate_simple
-.testH5Screate_simple_rank_invalid
-.testH5Sget_simple_extent_type_invalid
-.testH5Sencode_invalid
-.testH5Screate_null
-.testH5Screate_simple_extent
-.testH5Screate_invalid
-.testH5Screate_simple_unlimted
-.testH5Sget_select_npoints
-.testH5Sget_select_type
-.testH5Sset_extent_simple
-.testH5Sget_select_hyper
-.testH5Sget_select_valid
-.testH5Sget_select_elem_pointlist
-.testH5Sset_extent_none
-.testH5Sencode_decode_scalar_dataspace
-.testH5Soffset_simple
-.testH5Scopy
-.testH5Sget_simple_extent_ndims
-.testH5Sextent_equal
-.testH5Sget_simple_extent_dims
-.testH5Sget_simple_extent_type
-.testH5Shyper_regular
-.testH5Sget_select_bounds
-.testH5Sget_select_elem_pointlist_invalid
-.testH5Sget_simple_extent_npoints
-.testH5Sextent_copy
-.testH5Sencode_decode_null_dataspace
-.testH5Sis_simple
-.testH5Sget_simple_extent_dims_null
-.testH5Sselect_none
-.testH5Tget_member_type_invalid
-.testH5Tenum_insert_null
-.testH5Tget_offset_invalid
-.testH5Tset_precision_invalid
-.testH5Tget_inpad_invalid
-.testH5Tenum_nameof_invalid
-.testH5Tget_member_value_invalid
-.testH5Tenum_nameof_value_null
-.testH5Tcreate_invalid
-.testH5Tget_strpad_invalid
-.testH5Tenum_valueof_invalid
-.testH5Tget_fields_null
-.testH5Topen_null
-.testH5Tpack_invalid
-.testH5Tcommit_null
-.testH5Tinsert_invalid
-.testH5Tenum_valueof_null
-.testH5Tset_norm_invalid
-.testH5Tlock_invalid
-.testH5Tarray_create_invalid
-.testH5Tget_member_value_null
-.testH5Tset_offset_invalid
-.testH5Tget_fields_invalid
-.testH5Tequal_invalid
-.testH5Tget_ebias_long_invalid
-.testH5Tget_cset_invalid
-.testH5Tget_size_invalid
-.testH5Tset_strpad_invalid
-.testH5Tset_ebias_invalid
-.testH5Tget_sign_invalid
-.testH5Tget_member_index_invalid
-.testH5Tget_precision_invalid
-.testH5Tset_fields_invalid
-.testH5Tcopy_invalid
-.testH5Tget_pad_invalid
-.testH5Tset_order_invalid
-.testH5Tget_member_class_invalid
-.testH5Tget_super_invalid
-.testH5Tget_class_invalid
-.testH5Topen_invalid
-.testH5Tget_precision_long_invalid
-.testH5Tget_ebias_invalid
-.testH5Tget_native_type_invalid
-.testH5Tget_fields_length_invalid
-.testH5Tget_norm_invalid
-.testH5Tenum_nameof_invalid_size
-.testH5Tset_pad_invalid
-.testH5Tget_pad_null
-.testH5Tset_tag_null
-.testH5Tget_order_invalid
-.testH5Tcommit_invalid
-.testH5Tget_array_ndims_invalid
-.testH5Tset_tag_invalid
-.testH5Tvlen_create_invalid
-.testH5Tenum_create_invalid
-.testH5Tinsert_null
-.testH5Tset_inpad_invalid
-.testH5Tenum_valueof_name_null
-.testH5Tset_cset_invalid
-.testH5Tclose_invalid
-.testH5Tget_nmembers_invalid
-.testH5Tarray_create_value_null
-.testH5Tset_size_invalid
-.testH5Tflush_invalid
-.testH5Tenum_insert_invalid
-.testH5Tget_array_dims_null
-.testH5Tget_member_index_null
-.testH5Trefresh_invalid
-.testH5Tset_sign_invalid
-.testH5Tenum_insert_name_null
-.testH5Tequal_not
-.testH5Tcopy
-.testH5Tequal
-.testH5Torder_size
-.testH5Tconvert
-.testH5Tvlen_create
-.testH5Tenum_create_functions
-.testH5Tenum_functions
-.testH5Tget_class
-.testH5Tget_array_ndims
-.testH5Tequal_type_error
-.testH5Tget_array_dims
-.testH5Tset_size
-.testH5Tis_variable_str
-.testH5Tcompound_functions
-.testH5Tget_size
-.testH5Tarray_create
-.testH5Topaque_functions
-.testH5Dget_space_status_invalid
-.testH5Dget_access_plist_invalid
-.testH5Dget_type_invalid
-.testH5Dget_create_plist_invalid
-.testH5Dget_offset_invalid
-.testH5Dvlen_get_buf_size_invalid
-.testH5Dcreate_null
-.testH5Dset_extent_status_null
-.testH5Dvlen_reclaim_null
-.testH5Dcreate_invalid
-.testH5Dcreate_anon_invalid
-.testH5Dset_extent_status_invalid
-.testH5Dvlen_reclaim_invalid
-.testH5Dopen_invalid
-.testH5Dclose_invalid
-.testH5Dflush_invalid
-.testH5Drefresh_invalid
-.testH5Dget_storage_size_invalid
-.testH5Dget_space_invalid
-.testH5Dopen_null
-.testH5Dget_storage_size
-.testH5Diterate_write
-.testH5Dcreate
-.testH5Dget_offset
-.testH5Dget_type
-.testH5Dfill
-.testH5Dopen
-.testH5Dcreate_anon
-.testH5Dfill_null
-.testH5Dget_storage_size_empty
-.testH5Diterate
-.testH5Dget_access_plist
-.testH5Dvlen_read_invalid_buffer
-.testH5Dvlen_get_buf_size
-.testH5Dget_space_closed
-.testH5Dget_space_status
-.testH5Dvlen_write_read
-.testH5Dget_space
-.testH5Dget_type_closed
-.testH5Dset_extent
-.testH5Lcopy_invalid
-.testH5Lget_value_by_idx_null
-.testH5Lcreate_external_invalid
-.testH5Lexists_null
-.testH5Lget_info_invalid
-.testH5Lget_name_by_idx_invalid
-.testH5Lmove_null_current
-.testH5Literate_by_name_nullname
-.testH5Lvisit_by_name_nullname
-.testH5Lvisit_null
-.testH5Lget_name_by_idx_null
-.testH5Lcreate_hard_null_dest
-.testH5Lget_value_null
-.testH5Lcreate_external_null_dest
-.testH5Lcreate_external_null_file
-.testH5Lcreate_external_null_current
-.testH5Ldelete_null
-.testH5Lexists_invalid
-.testH5Lmove_invalid
-.testH5Lcreate_hard_invalid
-.testH5Lcopy_null_dest
-.testH5Lcreate_soft_null_current
-.testH5Lcopy_null_current
-.testH5Lget_info_by_idx_null
-.testH5Literate_null
-.testH5Ldelete_invalid
-.testH5Lvisit_by_name_null
-.testH5Ldelete_by_idx_invalid
-.testH5Lget_info_by_idx_invalid
-.testH5Ldelete_by_idx_null
-.testH5Lcreate_soft_invalid
-.testH5Lcreate_hard_null_current
-.testH5Lget_value_by_idx_invalid
-.testH5Lmove_null_dest
-.testH5Lget_info_null
-.testH5Literate_by_name_null
-.testH5Lcreate_soft_null_dest
-.testH5Lget_value_invalid
-.testH5Lget_info_by_idx_not_exist_name
-.testH5Lget_name_by_idx_not_exist
-.testH5Lvisit
-.testH5Lget_name_by_idx_n0
-.testH5Lget_name_by_idx_n3
-.testH5Lvisit_by_name
-.testH5Literate_by_name
-.testH5Lget_info_hardlink
-.testH5Literate
-.testH5Lget_info_by_idx_n0
-.testH5Lget_info_by_idx_n3
-.testH5Lget_info_by_idx_name_not_exist_create
-.testH5Lexists
-.testH5Lget_info_by_idx_name_not_exist_name
-.testH5Lget_info_by_idx_not_exist_create
-.testH5Lget_info_not_exist
-.testH5Lget_info_dataset
-.testH5Lget_info_by_idx_n0_create
-.testH5Ldelete_soft_link_dangle
-.testH5Lget_value_by_idx_external_create
-.testH5Ldelete_by_idx_not_exist_create
-.testH5Lvisit_create
-.testH5Lmove_dst_link_exists
-.testH5Lcreate_soft_dangle
-.testH5Literate_create
-.testH5Lcopy_cur_not_exists
-.testH5Lcopy
-.testH5Lmove
-.testH5Lget_value_by_idx_n2_create
-.testH5Lget_value_soft
-.testH5Ldelete_by_idx_n2_name
-.testH5Lget_info_by_idx_n1_create
-.testH5Lcreate_external
-.testH5Lget_value_dangle
-.testH5Lcreate_hard_dst_link_exists
-.testH5Lget_value_by_idx_n2_name
-.testH5Lcreate_soft_dst_link_exists
-.testH5Lcreate_hard
-.testH5Lcreate_soft
-.testH5Lmove_cur_not_exists
-.testH5Lcreate_hard_cur_not_exists
-.testH5Lget_info_softlink_dangle
-.testH5Ldelete_by_idx_n2_create
-.testH5Ldelete_soft_link
-.testH5Lget_info_externallink
-.testH5Lcopy_dst_link_exists
-.testH5Lget_value_by_idx_external_name
-.testH5Ldelete_by_idx_not_exist_name
-.testH5Lget_info_softlink
-.testH5Lget_value_external
-.testH5Lget_value_by_idx_not_exist_create
-.testH5Lget_value_by_idx_not_exist_name
-.testH5Ldelete_hard_link
-.testH5Rgetregion_Nullreference
-.testH5Rget_obj_type2_Invalidreftype
-.testH5Rdereference
-.testH5Rget_name
-.testH5Rcreate_Invalidreftype
-.testH5Rget_name_NULLreference
-.testH5Rget_region
-.testH5Rdereference_Nullreference
-.testH5Rcreate_refobj
-.testH5Rcreate_Invalidspace_id
-.testH5Rdereference_Invalidreference
-.testH5Rgetregion_Badreferencetype
-.testH5Rcreate_regionrefobj
-.testH5Rget_name_Invalidreftype
-.testH5Rgetregion_Invalidreftype
-.testH5Rget_obj_type2
-.testH5Rcreate_InvalidObjectName
-.testH5Pset_nbit
-.testH5Pset_shared_mesg_index_InvalidFlag
-.testH5Pset_shared_mesg_phase_change
-.testH5PH5Pset_shared_mesg_phase_change_HighMaxlistValue
-.testH5P_layout
-.testH5Pget_link_creation_order
-.testH5Pget_efile_prefix
-.testH5Pset_shared_mesg_nindexes_InvalidHIGHnindexes
-.testH5P_file_space_page_size
-.testH5Pget_shared_mesg_index_Invalid_indexnum
-.testH5Pset_data_transform_NullExpression
-.testH5Pset_elink_prefix_null
-.testH5Pget_elink_prefix
-.testH5Pget_nlinks
-.testH5Pset_libver_bounds_invalidhigh
-.testH5Pget_char_encoding
-.testH5P_istore_k
-.testH5Pget_link_phase_change
-.testH5Pset_link_phase_change_max_compactLESSTHANmin_dense
-.testH5Pget_shared_mesg_phase_change_EqualsSET
-.testH5Pset_scaleoffset_Invalidscale_type
-.testH5Pget_istore_k_null
-.testH5Pset_libver_bounds_invalidlow
-.testH5Pset_est_link_info
-.testH5Pget_link_phase_change_Null
-.testH5P_fill_time
-.testH5Pget_userblock_null
-.testH5Pset_link_creation_order_tracked
-.testH5Pset_shared_mesg_index
-.testH5Pset_copy_object
-.testH5Pset_link_creation_order_trackedPLUSindexed
-.testH5P_file_space_strategy
-.testH5Pset_copy_object_invalidobject
-.testH5Pset_est_link_info_InvalidValues
-.testH5Pset_local_heap_size_hint
-.testH5Pget_est_link_info
-.testH5Pset_efile_prefix_null
-.testH5Pset_scaleoffset
-.testH5Pset_create_intermediate_group_invalidobject
-.testH5PH5Pset_shared_mesg_phase_change_HighMinbtreeValue
-.testH5Pset_create_intermediate_group
-.testH5P_alloc_time
-.testH5Pset_elink_acc_flags
-.testH5Pset_link_phase_change_Highmax_Compact
-.testH5P_chunk
-.testH5P_sizes
-.testH5Pset_link_creation_order_invalidvalue
-.testH5P_sym_k
-.testH5PH5Pset_shared_mesg_phase_change_MinbtreeGreaterThanMaxlist
-.testH5Pget_version_null
-.testH5Pset_scaleoffset_Invalidscale_factor
-.testH5Pget_elink_prefix_null
-.testH5Pget_data_transform_IllegalSize
-.testH5Pget_create_intermediate_group
-.testH5Pset_shared_mesg_nindexes
-.testH5Pset_attr_creation_order_trackedPLUSindexed
-.testH5Pget_sym_k_null
-.testH5Pset_nlinks
-.testH5P_obj_track_times
-.testH5Pset_efile_prefix
-.testH5P_userblock
-.testH5Pget_local_heap_size_hint
-.testH5Pset_shared_mesg_index_Invalid_indexnum
-.testH5Pset_data_transform_InvalidExpression1
-.testH5Pset_data_transform_InvalidExpression2
-.testH5Pget_attr_phase_change
-.testH5Pget_data_transform
-.testH5Pget_create_intermediate_group_notcreated
-.testH5Pset_elink_prefix
-.testH5Pget_attr_creation_order
-.testH5Pset_attr_creation_order_invalidvalue
-.testH5Pget_shared_mesg_phase_change
-.testH5Pget_shared_mesg_index
-.testH5Pset_link_phase_change
-.testH5Pget_shared_mesg_nindexes
-.testH5Pget_version
-.testH5Pset_elink_acc_flags_InvalidFlag1
-.testH5Pset_elink_acc_flags_InvalidFlag2
-.testH5Pget_link_phase_change_EqualsSet
-.testH5Pget_elink_acc_flags
-.testH5Pget_data_transform_ExpressionNotSet
-.testH5P_fill_value
-.testH5Pget_sizes_null
-.testH5Pset_data_transform
-.testH5Pset_attr_creation_order_tracked
-.testH5P_buffer
-.testH5Pdata_transform
-.testH5P_elink_fapl
-.testH5P_fapl_direct
-.testH5P_alignment
-.testH5P_fapl_family
-.testH5P_chunk_cache
-.testH5P_meta_block_size
-.testH5Fmdc_logging
-.testH5Pget_elink_fapl
-.testH5Pset_mdc_config
-.testH5P_small_data_block_size
-.testH5Pset_fapl_log
-.testH5P_evict_on_close
-.testH5Pset_libver_bounds
-.testH5P_sieve_buf_size
-.testH5P_elink_file_cache_size
-.testH5P_cache
-.testH5Pget_mdc_config
-.testH5P_fapl_muti_defaults
-.testH5Pget_libver_bounds
-.testH5P_btree_ratios
-.testH5P_fapl_muti_nulls
-.testH5Pset_fapl_sec2
-.testH5Pmulti_transform
-.testH5Pset_elink_fapl_NegativeID
-.testH5Pset_fapl_stdio
-.testH5P_edc_check
-.testH5Pset_elink_fapl
-.testH5P_hyper_vector_size
-.testH5P_gc_references
-.testH5P_family_offset
-.testH5P_fapl_core
-.testH5P_fapl_muti
-.testH5P_fapl_split
-.testH5Pset_fapl_windows
-.testH5P_fclose_degree
-.testH5Pget_source_datasetname
-.testH5Pvirtual_storage
-.testH5Pget_selection_source_dataset
-.testH5Pget_virtual_prefix
-.testH5Pget_source_filename
-.testH5Pset_get_virtual_printf_gap
-.testH5Pget_virtual_count
-.testH5Pset_virtual_prefix
-.testH5Pset_get_virtual_view
-.testH5Pget_mapping_parameters
-.testH5Pset_virtual_prefix_null
-.testH5P_genprop_basic_class
-.testH5P_genprop_class_iter
-.testH5P_genprop_basic_class_prop
-.testH5P_genprop_basic_list_prop
-.testH5Acreate2_nullname
-.testH5Acreate_by_name
-.testH5Aget_name_by_idx
-.testH5Aget_storage_size
-.testH5Aiterate
-.testH5Aopen_by_idx
-.testH5Aopen_invalidname
-.testH5Aopen
-.testH5Aget_info_by_name
-.testH5Aget_create_plist
-.testH5Adelete_by_name
-.testH5Aopen_by_name
-.testH5Aget_info
-.testH5Aget_name
-.testH5Aexists
-.testH5Aget_info_by_idx
-.testH5Arename
-.testH5Adelete_by_idx_name1
-.testH5Adelete_by_idx_name2
-.testH5Adelete_by_idx_order
-.testH5Arename_by_name
-.testH5Acreate2_invalidobject
-.testH5Acreate2
-.testH5Aiterate_by_name
-.testH5Adelete_by_idx_null
-.testH5Adelete_by_idx_invalidobject
-.testH5Awrite_readVL
-.testH5Aget_info1
-.testH5Oget_comment_by_name_null
-.testH5Ovisit_by_name_nullname
-.testH5Oget_info_invalid
-.testH5Ovisit_by_name_null
-.testH5Oget_comment_invalid
-.testH5Oset_comment_by_name_invalid
-.testH5Oopen_null
-.testH5Oclose_invalid
-.testH5Oflush_invalid
-.testH5Oget_comment_by_name_invalid
-.testH5Orefresh_invalid
-.testH5Ocopy_null_dest
-.testH5Olink_invalid
-.testH5Oget_info_by_idx_invalid
-.testH5Oget_info_by_idx_null
-.testH5Olink_null_dest
-.testH5Oget_info_by_name_invalid
-.testH5Oget_info_by_name_null
-.testH5Ocopy_invalid
-.testH5Oset_comment_by_name_null
-.testH5Ocopy_null_current
-.testH5Oset_comment_invalid
-.testH5Oopen_invalid
-.testH5Ovisit_null
-.testH5Oexists_by_name
-.testH5Oget_info_by_idx_n0
-.testH5Oget_info_by_idx_n3
-.testH5Oget_info_by_name_not_exist_name
-.testH5Ovisit_by_name
-.testH5Oget_info_by_idx_name_not_exist_name
-.testH5Oget_info_datatype
-.testH5Oget_info_by_idx_not_exist_name
-.testH5Oopen_by_idx_n0
-.testH5Oopen_by_idx_n3
-.testH5Oopen_not_exists
-.testH5Ovisit
-.testH5Oget_info_by_idx_not_exist_create
-.testH5Oget_info_by_name_hardlink
-.testH5Oget_info_by_name_group
-.testH5Oopen_by_addr
-.testH5Oget_info_by_name_not_exists
-.testH5Oget_info_by_name_dataset
-.testH5Oget_info_group
-.testH5Oget_info_by_name_datatype
-.testH5Oget_info_hardlink
-.testH5Oget_info_by_idx_name_not_exist_create
-.testH5Oget_info_dataset
-.testH5OcopyRefsDatasettosameFile
-.testH5OcopyRefsDatasettodiffFile
-.testH5OcopyRefsAttr
-.testH5Oget_info_by_idx_n0_create
-.testH5Oget_info_softlink_dangle
-.testH5Oget_info_softlink
-.testH5Oget_info_externallink
-.testH5Ocopy
-.testH5Olink
-.testH5Ocomment_by_name
-.testH5Oget_info_by_idx_n1_create
-.testH5Ocomment
-.testH5Oinc_dec_count
-.testH5Ocomment_by_name_clear
-.testH5Ovisit_create
-.testH5Ocopy_dst_link_exists
-.testH5Ocomment_clear
-.testH5Ocopy_cur_not_exists
-.TestH5PLplugins
-.TestH5PLpaths
-.testH5Zfilter_avail
-.testH5Zunregister_predefined
-.testH5Zget_filter_info
-
-Time: XXXX
-
-OK (645 tests)
-
-HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
- #000: (file name) line (number) in H5Fopen(): can't set access and transfer property lists
- major: File accessibilty
- minor: Can't set value
- #001: (file name) line (number) in H5P_verify_apl_and_dxpl(): not the required access property list
- major: Property lists
- minor: Inappropriate type
- #002: (file name) line (number) in H5P_isa_class(): not a property list
- major: Invalid arguments to routine
- minor: Inappropriate type
-HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
- #000: (file name) line (number) in H5Fopen(): can't set access and transfer property lists
- major: File accessibilty
- minor: Can't set value
- #001: (file name) line (number) in H5P_verify_apl_and_dxpl(): not the required access property list
- major: Property lists
- minor: Inappropriate type
- #002: (file name) line (number) in H5P_isa_class(): not a property list
- major: Invalid arguments to routine
- minor: Inappropriate type
diff --git a/java/test/Makefile.am b/java/test/Makefile.am
index b7409cf..6635ef7 100644
--- a/java/test/Makefile.am
+++ b/java/test/Makefile.am
@@ -28,15 +28,17 @@ classes:
pkgpath = test
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
+
jarfile = jar$(PACKAGE_TARNAME)test.jar
-CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
AM_JAVACFLAGS = $(H5_JAVACFLAGS) -deprecation
+TESTPACKAGE =
+
noinst_JAVA = \
TestH5.java \
- TestH5E.java \
- TestH5Edefault.java \
+ TestH5Eparams.java \
TestH5Eregister.java \
TestH5Fparams.java \
TestH5Fbasic.java \
@@ -44,7 +46,6 @@ noinst_JAVA = \
TestH5Fswmr.java \
TestH5Gbasic.java \
TestH5G.java \
- TestH5Giterate.java \
TestH5Sbasic.java \
TestH5S.java \
TestH5Tparams.java \
@@ -69,7 +70,9 @@ noinst_JAVA = \
TestH5Ocopy.java \
TestH5PL.java \
TestH5Z.java \
- TestAll.java
+ TestH5E.java \
+ TestH5Edefault.java \
+ TestH5Giterate.java
$(jarfile): classnoinst.stamp classes
$(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
@@ -83,17 +86,6 @@ TEST_SCRIPT = $(check_SCRIPTS)
CLEANFILES = classnoinst.stamp $(jarfile) $(JAVAROOT)/$(pkgpath)/*.class junit.sh
-#JAVA_JUNIT = $(JAVA_SRCS)
-#noinst_JAVA = @JAVA_JUNIT@
-#EXTRA_JAVA = $(JAVA_JUNIT)
-TESTS_JUNIT = AllJunitTests
-#EXTRA_TEST = $(TESTS_JUNIT)
-
-AllJunitTests :
- echo "#! /bin/sh" > $@
- echo "exec @JUNIT@ test.TestAll" >> $@
- chmod +x $@
-
clean:
rm -rf $(JAVAROOT)/*
rm -f $(jarfile)
diff --git a/java/test/Makefile.in b/java/test/Makefile.in
index cfab0a0..c30554a 100644
--- a/java/test/Makefile.in
+++ b/java/test/Makefile.in
@@ -481,6 +481,7 @@ JAVA_PATH_NAME = @JAVA_PATH_NAME@
JAVA_VERSION = @JAVA_VERSION@
JNIFLAGS = @JNIFLAGS@
JUNIT = @JUNIT@
+LARGE_PARALLEL_IO = @LARGE_PARALLEL_IO@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
@@ -528,6 +529,7 @@ PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PAC_FORTRAN_NUM_INTEGER_KINDS = @PAC_FORTRAN_NUM_INTEGER_KINDS@
PARALLEL = @PARALLEL@
+PARALLEL_FILTERED_WRITES = @PARALLEL_FILTERED_WRITES@
PATH_SEPARATOR = @PATH_SEPARATOR@
PROFILING = @PROFILING@
RANLIB = @RANLIB@
@@ -547,11 +549,7 @@ STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@
STRIP = @STRIP@
SYMBOLS = @SYMBOLS@
TESTPARALLEL = @TESTPARALLEL@
-
-#JAVA_JUNIT = $(JAVA_SRCS)
-#noinst_JAVA = @JAVA_JUNIT@
-#EXTRA_JAVA = $(JAVA_JUNIT)
-TESTS_JUNIT = AllJunitTests
+TESTS_JUNIT = @TESTS_JUNIT@
THREADSAFE = @THREADSAFE@
TIME = @TIME@
TR = @TR@
@@ -683,12 +681,12 @@ JAVA_API = yes
JAVAROOT = .classes
pkgpath = test
hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)test.jar
-CLASSPATH_ENV = CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.5.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.5.jar:$$CLASSPATH
+TESTPACKAGE =
noinst_JAVA = \
TestH5.java \
- TestH5E.java \
- TestH5Edefault.java \
+ TestH5Eparams.java \
TestH5Eregister.java \
TestH5Fparams.java \
TestH5Fbasic.java \
@@ -696,7 +694,6 @@ noinst_JAVA = \
TestH5Fswmr.java \
TestH5Gbasic.java \
TestH5G.java \
- TestH5Giterate.java \
TestH5Sbasic.java \
TestH5S.java \
TestH5Tparams.java \
@@ -721,7 +718,9 @@ noinst_JAVA = \
TestH5Ocopy.java \
TestH5PL.java \
TestH5Z.java \
- TestAll.java
+ TestH5E.java \
+ TestH5Edefault.java \
+ TestH5Giterate.java
noinst_DATA = $(jarfile)
check_SCRIPTS = junit.sh
@@ -1127,12 +1126,6 @@ $(jarfile): classnoinst.stamp classes
$(JAR) cvf $@ -C $(JAVAROOT)/ $(pkgpath)
.PHONY: classes
-#EXTRA_TEST = $(TESTS_JUNIT)
-
-AllJunitTests :
- echo "#! /bin/sh" > $@
- echo "exec @JUNIT@ test.TestAll" >> $@
- chmod +x $@
clean:
rm -rf $(JAVAROOT)/*
diff --git a/java/test/TestAll.java b/java/test/TestAll.java
index de5d333..13cb597 100644
--- a/java/test/TestAll.java
+++ b/java/test/TestAll.java
@@ -18,9 +18,7 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses( { TestH5.class,
- TestH5Eregister.class,
- TestH5Edefault.class,
- TestH5E.class,
+ TestH5Eparams.class, TestH5Eregister.class, TestH5Edefault.class, TestH5E.class,
TestH5Fparams.class, TestH5Fbasic.class, TestH5F.class, TestH5Fswmr.class,
TestH5Gbasic.class, TestH5G.class, TestH5Giterate.class,
TestH5Sbasic.class, TestH5S.class,
diff --git a/java/test/TestH5.java b/java/test/TestH5.java
index 9c3d8dc..154390d 100644
--- a/java/test/TestH5.java
+++ b/java/test/TestH5.java
@@ -162,7 +162,7 @@ public class TestH5 {
*/
@Test
public void testH5get_libversion() {
- int libversion[] = { 1, 10, 2 };
+ int libversion[] = { 1, 10, 3 };
try {
H5.H5get_libversion(libversion);
@@ -184,7 +184,7 @@ public class TestH5 {
*/
@Test
public void testH5check_version() {
- int majnum = 1, minnum = 10, relnum = 2;
+ int majnum = 1, minnum = 10, relnum = 3;
try {
H5.H5check_version(majnum, minnum, relnum);
diff --git a/java/test/TestH5A.java b/java/test/TestH5A.java
index 5e1e3f6..536364c 100644
--- a/java/test/TestH5A.java
+++ b/java/test/TestH5A.java
@@ -40,7 +40,7 @@ import org.junit.rules.TestName;
public class TestH5A {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testA.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
long H5fid = -1;
diff --git a/java/test/TestH5D.java b/java/test/TestH5D.java
index 372fdba..5d0e405 100644
--- a/java/test/TestH5D.java
+++ b/java/test/TestH5D.java
@@ -35,7 +35,7 @@ import org.junit.rules.TestName;
public class TestH5D {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testD.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
private static final int RANK = 2;
diff --git a/java/test/TestH5Dplist.java b/java/test/TestH5Dplist.java
index 6feaa23..406a1d3 100644
--- a/java/test/TestH5Dplist.java
+++ b/java/test/TestH5Dplist.java
@@ -31,7 +31,7 @@ import org.junit.rules.TestName;
public class TestH5Dplist {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testDp.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 7;
private static final int EDIM_X = 6;
diff --git a/java/test/TestH5E.java b/java/test/TestH5E.java
index 9a36365..656069a 100644
--- a/java/test/TestH5E.java
+++ b/java/test/TestH5E.java
@@ -47,8 +47,7 @@ public class TestH5E {
hdf_java_classid = -1;
try {
- hdf_java_classid = H5.H5Eregister_class("HDF-Java-Error",
- "hdf-java", "2.5");
+ hdf_java_classid = H5.H5Eregister_class("HDF-Java-Error", "hdf-java", "2.5");
current_stackid = H5.H5Eget_current_stack();
}
catch (Throwable err) {
@@ -73,128 +72,29 @@ public class TestH5E {
}
@Test
- public void testH5Eget_class_name() {
- try {
- String class_name = H5.H5Eget_class_name(hdf_java_classid);
- assertNotNull("H5.H5Eget_class_name: " + class_name, class_name);
- assertEquals("H5.H5Eget_class_name: ", "HDF-Java-Error", class_name);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eget_class_name: " + err);
- }
- }
-
- @Test
- public void testH5Eprint2() {
- try {
- assertFalse(current_stackid < 0);
- H5.H5Eprint2(current_stackid, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eprint2: " + err);
- }
- }
-
- @Ignore("Tested with create_msg_major[minor]")
- public void testH5Eclose_msg() {
- fail("Not yet implemented");
- }
-
- @Test(expected = NullPointerException.class)
- public void testH5Ecreate_msg_name_null() throws Throwable {
- H5.H5Ecreate_msg(hdf_java_classid, HDF5Constants.H5E_MAJOR, null);
- }
-
- @Test
- public void testH5Ecreate_msg_major() {
- try {
- long err_id = H5.H5Ecreate_msg(hdf_java_classid,
- HDF5Constants.H5E_MAJOR, "Error in Test");
- assertFalse("H5.H5Ecreate_msg_major: " + err_id, err_id < 0);
- H5.H5Eclose_msg(err_id);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Ecreate_msg_major: " + err);
- }
- }
-
- @Test
- public void testH5Ecreate_msg_minor() {
- try {
- long err_id = H5.H5Ecreate_msg(hdf_java_classid,
- HDF5Constants.H5E_MINOR, "Error in Test Function");
- assertFalse("H5.H5Ecreate_msg_minor: " + err_id, err_id < 0);
- H5.H5Eclose_msg(err_id);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Ecreate_msg_minor: " + err);
- }
- }
-
- @Test
- public void testH5Eget_msg() {
- int[] error_msg_type = { HDF5Constants.H5E_MINOR };
- long err_id = -1;
- String msg = null;
- try {
- err_id = H5.H5Ecreate_msg(hdf_java_classid,
- HDF5Constants.H5E_MAJOR, "Error in Test");
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eget_msg: " + err);
- }
- assertFalse("H5.H5Eget_msg: H5Ecreate_msg - " + err_id, err_id < 0);
- try {
- msg = H5.H5Eget_msg(err_id, error_msg_type);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eget_msg: " + err);
- }
- assertNotNull("H5.H5Eget_msg: " + msg, msg);
- assertEquals("H5.H5Eget_msg: ", "Error in Test", msg);
- assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR,
- error_msg_type[0]);
- try {
- H5.H5Eclose_msg(err_id);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eget_msg: " + err);
- }
- }
-
- @Test
public void testH5Eget_msg_major() {
try {
H5.H5Fopen("test", 0, 1);
}
catch (HDF5LibraryException hdferr) {
+ long errnum = hdferr.getMajorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MAJOR };
String msg = null;
try {
- msg = H5.H5Eget_msg(hdferr.getMajorErrorNumber(),
- error_msg_type);
+ msg = H5.H5Eget_msg(errnum, error_msg_type);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Eget_msg: " + err);
+ fail("H5.H5Eget_msg(Throwable): " + err);
}
assertNotNull("H5.H5Eget_msg: " + msg, msg);
- assertEquals("H5.H5Eget_msg: ", "Invalid arguments to routine",
- msg);
- assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR,
- error_msg_type[0]);
+ assertEquals("H5.H5Eget_msg: ", "Object atom", msg);
+ assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR, error_msg_type[0]);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Eget_msg: " + err);
+ fail("H5.H5Eget_msg(Other): " + err);
}
}
@@ -204,20 +104,19 @@ public class TestH5E {
H5.H5Fopen("test", 0, 1);
}
catch (HDF5LibraryException hdferr) {
+ long errnum = hdferr.getMinorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MINOR };
String msg = null;
try {
- msg = H5.H5Eget_msg(hdferr.getMinorErrorNumber(),
- error_msg_type);
+ msg = H5.H5Eget_msg(errnum, error_msg_type);
}
catch (Throwable err) {
err.printStackTrace();
fail("H5.H5Eget_msg: " + err);
}
assertNotNull("H5.H5Eget_msg: " + msg, msg);
- assertEquals("H5.H5Eget_msg: ", "Inappropriate type", msg);
- assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MINOR,
- error_msg_type[0]);
+ assertEquals("H5.H5Eget_msg: ", "Unable to find atom information (already closed?)", msg);
+ assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MINOR, error_msg_type[0]);
}
catch (Throwable err) {
err.printStackTrace();
@@ -226,26 +125,6 @@ public class TestH5E {
}
@Test
- public void testH5Ecreate_stack() {
- long stk_id = -1;
- try {
- stk_id = H5.H5Ecreate_stack();
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Ecreate_stack: " + err);
- }
- assertFalse("H5.H5Ecreate_stack: " + stk_id, stk_id < 0);
- try {
- H5.H5Eclose_stack(stk_id);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Ecreate_stack: " + err);
- }
- }
-
- @Test
public void testH5Epop() {
try {
H5.H5Eset_current_stack(current_stackid);
@@ -289,7 +168,7 @@ public class TestH5E {
fail("H5.H5Epop: " + err);
}
- assertTrue("H5.H5Epop #:" + num_msg, num_msg == 3);
+ assertTrue("H5.H5Epop #:" + num_msg, num_msg == 4);
try {
H5.H5Epop(current_stackid, 1);
@@ -307,7 +186,7 @@ public class TestH5E {
fail("H5.H5Epop: " + err);
}
- assertTrue("H5.H5Epop", num_msg == 2);
+ assertTrue("H5.H5Epop", num_msg == 3);
}
@Test
@@ -381,101 +260,6 @@ public class TestH5E {
} /* end test_create() */
@Test
- public void testH5EprintInt() {
- assertFalse(current_stackid < 0);
- try {
- H5.H5Eprint2(current_stackid, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5EprintInt: " + err);
- }
- }
-
- @Test
- public void testH5EclearInt() {
- try {
- H5.H5Eclear(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5EclearInt: " + err);
- }
- }
-
- @Test
- public void testH5Eclear2() {
- try {
- H5.H5Eclear2(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eclear2: " + err);
- }
- }
-
- @Test
- public void testH5Eauto_is_v2() {
- boolean is_v2 = false;
- try {
- is_v2 = H5.H5Eauto_is_v2(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eauto_is_v2: " + err);
- }
- assertTrue("H5.H5Eauto_is_v2: ", is_v2);
- }
-
- @Test
- public void testH5Eget_num() {
- long num_msg = -1;
- try {
- num_msg = H5.H5Eget_num(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eget_num: " + err);
- }
- assertTrue("H5.H5Eget_num", num_msg == 0);
- }
-
- @Test
- public void testH5Eget_num_with_msg() {
- try {
- H5.H5Eset_current_stack(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Epop: " + err);
- }
- try {
- H5.H5Fopen("test", 0, 1);
- }
- catch (Throwable err) {
- }
-
- // save current stack contents
- try {
- current_stackid = H5.H5Eget_current_stack();
- }
- catch (HDF5LibraryException err) {
- err.printStackTrace();
- fail("H5.H5Epop: " + err);
- }
-
- long num_msg = -1;
- try {
- num_msg = H5.H5Eget_num(current_stackid);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Epop: " + err);
- }
- assertTrue("H5.H5Eget_num_with_msg #:" + num_msg, num_msg > 0);
- }
-
- @Test
public void testH5Ewalk() {
class wdata {
public String err_desc = null;
@@ -530,7 +314,7 @@ public class TestH5E {
err.printStackTrace();
fail("testH5Ewalk:H5Eget_num " + err);
}
- assertTrue("testH5Ewalk #:" + num_msg, num_msg == 3);
+ assertTrue("testH5Ewalk #:" + num_msg, num_msg == 4);
try {
H5.H5Ewalk2(current_stackid, HDF5Constants.H5E_WALK_UPWARD, walk_cb, walk_data);
@@ -540,12 +324,7 @@ public class TestH5E {
fail("testH5Ewalk:H5Ewalk2 " + err);
}
assertFalse("testH5Ewalk:H5Ewalk2 ",((H5E_walk_data)walk_data).walkdata.isEmpty());
- assertTrue("testH5Ewalk:H5Ewalk2 "+((H5E_walk_data)walk_data).walkdata.size(),((H5E_walk_data)walk_data).walkdata.size()==3);
- assertTrue("testH5Ewalk:H5Ewalk2 "+((wdata)((H5E_walk_data)walk_data).walkdata.get(0)).line,((wdata)((H5E_walk_data)walk_data).walkdata.get(0)).line==3765);
- assertTrue("testH5Ewalk:H5Ewalk2 "+((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).line,((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).line==5504);
- assertTrue("testH5Ewalk:H5Ewalk2 "+((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).func_name,((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).func_name.compareToIgnoreCase("H5P_verify_apl_and_dxpl")==0);
- assertTrue("testH5Ewalk:H5Ewalk2 "+((wdata)((H5E_walk_data)walk_data).walkdata.get(0)).err_desc,((wdata)((H5E_walk_data)walk_data).walkdata.get(0)).err_desc.compareToIgnoreCase("not a property list")==0);
- assertTrue("testH5Ewalk:H5Ewalk2 "+((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).err_desc,((wdata)((H5E_walk_data)walk_data).walkdata.get(1)).err_desc.compareToIgnoreCase("not the required access property list")==0);
+ assertTrue("testH5Ewalk:H5Ewalk2 "+((H5E_walk_data)walk_data).walkdata.size(),((H5E_walk_data)walk_data).walkdata.size()==4);
}
}
diff --git a/java/test/TestH5Edefault.java b/java/test/TestH5Edefault.java
index 835ccba..5324d3a 100644
--- a/java/test/TestH5Edefault.java
+++ b/java/test/TestH5Edefault.java
@@ -91,8 +91,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default,
- num_msg_default == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, num_msg_default == 4);
//Save a copy of the current stack and clears the current stack
try {
@@ -102,10 +101,8 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertFalse("H5.H5Eget_current_stack: get_current_stack - "
- + stack_id, stack_id < 0);
- assertFalse("H5.H5Eget_current_stack: get_current_stack - "
- + stack_id, stack_id == stack_id_default);
+ assertFalse("H5.H5Eget_current_stack: get_current_stack - " + stack_id, stack_id < 0);
+ assertFalse("H5.H5Eget_current_stack: get_current_stack - " + stack_id, stack_id == stack_id_default);
// Verify we have the correct number of messages
try {
@@ -115,8 +112,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default,
- num_msg_default == 0);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, num_msg_default == 0);
//Verify the copy has the correct number of messages
try {
@@ -126,8 +122,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, num_msg == 4);
try {
H5.H5Eclose_stack(stack_id);
@@ -158,8 +153,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default,
- num_msg_default == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, num_msg_default == 4);
//Save a copy of the current stack and clears the current stack
try {
@@ -169,10 +163,8 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertFalse("H5.H5Eget_current_stack: get_current_stack - "
- + stack_id, stack_id < 0);
- assertFalse("H5.H5Eget_current_stack: get_current_stack - "
- + stack_id, stack_id == HDF5Constants.H5E_DEFAULT);
+ assertFalse("H5.H5Eget_current_stack: get_current_stack - " + stack_id, stack_id < 0);
+ assertFalse("H5.H5Eget_current_stack: get_current_stack - " + stack_id, stack_id == HDF5Constants.H5E_DEFAULT);
// Verify we have the correct number of messages
try {
@@ -182,8 +174,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default,
- num_msg_default == 0);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, num_msg_default == 0);
//Verify the copy has the correct number of messages
try {
@@ -193,8 +184,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, num_msg == 4);
//Generate errors on default stack
try {
@@ -212,8 +202,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default,
- num_msg_default == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg_default, num_msg_default == 4);
//Remove one message from the current stack
try {
@@ -224,8 +213,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: pop #:" + num_msg_default,
- num_msg_default == 2);
+ assertTrue("H5.H5Eget_current_stack: pop #:" + num_msg_default, num_msg_default == 3);
//Verify the copy still has the correct number of messages
try {
@@ -235,8 +223,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eget_current_stack: get_num #:" + num_msg, num_msg == 4);
}
@Test(expected = IllegalArgumentException.class)
@@ -306,8 +293,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, num_msg == 4);
//Save a copy of the current stack
try {
@@ -317,10 +303,8 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertFalse("H5.H5Eset_current_stack: get_current_stack - "
- + stack_id, stack_id < 0);
- assertFalse("H5.H5Eset_current_stack: get_current_stack - "
- + stack_id, stack_id == HDF5Constants.H5E_DEFAULT);
+ assertFalse("H5.H5Eset_current_stack: get_current_stack - " + stack_id, stack_id < 0);
+ assertFalse("H5.H5Eset_current_stack: get_current_stack - " + stack_id, stack_id == HDF5Constants.H5E_DEFAULT);
//Verify the copy has the correct number of messages
try {
@@ -330,8 +314,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, num_msg == 4);
//Generate errors on default stack
try {
@@ -349,8 +332,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eget_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, num_msg == 4);
//Remove one message from the current stack
try {
@@ -361,8 +343,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: pop #:" + num_msg,
- num_msg == 2);
+ assertTrue("H5.H5Eset_current_stack: pop #:" + num_msg, num_msg == 3);
//Verify the copy still has the correct number of messages
try {
@@ -372,8 +353,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, num_msg == 4);
try {
H5.H5Eset_current_stack(stack_id);
@@ -383,8 +363,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eset_current_stack: " + err);
}
- assertTrue("H5.H5Eset_current_stack: get_num - " + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eset_current_stack: get_num - " + num_msg, num_msg == 4);
}
@Test(expected = IllegalArgumentException.class)
@@ -407,7 +386,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Epop: " + err);
}
- assertTrue("H5.H5Epop before #:" + num_msg, num_msg == 3);
+ assertTrue("H5.H5Epop before #:" + num_msg, num_msg == 4);
try {
H5.H5Epop(HDF5Constants.H5E_DEFAULT, 1);
num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT);
@@ -416,7 +395,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Epop: " + err);
}
- assertTrue("H5.H5Epop after #:" + num_msg, num_msg == 2);
+ assertTrue("H5.H5Epop after #:" + num_msg, num_msg == 3);
}
@Test(expected = IllegalArgumentException.class)
@@ -492,8 +471,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eclear2_with_msg: " + err);
}
- assertTrue("H5.H5Eclear2_with_msg before #:" + num_msg,
- num_msg == 3);
+ assertTrue("H5.H5Eclear2_with_msg before #:" + num_msg, num_msg == 4);
try {
H5.H5Eclear2(HDF5Constants.H5E_DEFAULT);
num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT);
@@ -502,7 +480,7 @@ public class TestH5Edefault {
err.printStackTrace();
fail("H5.H5Eclear2_with_msg: " + err);
}
- assertTrue("H5.H5Eclear2_with_msg after #:" + num_msg, num_msg == 0);
+ assertTrue("H5.H5Eclear2_with_msg after #:" + num_msg, num_msg == 0);
}
@Test(expected = IllegalArgumentException.class)
diff --git a/java/test/TestH5Eparams.java b/java/test/TestH5Eparams.java
new file mode 100644
index 0000000..0c55577
--- /dev/null
+++ b/java/test/TestH5Eparams.java
@@ -0,0 +1,282 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * 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. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+package test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
+import hdf.hdf5lib.callbacks.H5E_walk_cb;
+import hdf.hdf5lib.callbacks.H5E_walk_t;
+import hdf.hdf5lib.structs.H5E_error2_t;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+
+public class TestH5Eparams {
+ @Rule public TestName testname = new TestName();
+ long hdf_java_classid = -1;
+ long current_stackid = -1;
+
+ @Before
+ public void H5Eget_stack_class() {
+ assertTrue("H5 open ids is 0",H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+
+ hdf_java_classid = -1;
+ try {
+ hdf_java_classid = H5.H5Eregister_class("HDF-Java-Error", "hdf-java", "2.5");
+ current_stackid = H5.H5Eget_current_stack();
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_stack_class: " + err);
+ }
+ }
+
+ @After
+ public void H5Erestore_stack_class() {
+ try {
+ H5.H5Eunregister_class(hdf_java_classid);
+ hdf_java_classid = -1;
+ H5.H5Eclose_stack(current_stackid);
+ current_stackid = -1;
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Erestore_stack_class: " + err);
+ }
+ System.out.println();
+ }
+
+ @Test
+ public void testH5Eget_class_name() {
+ try {
+ String class_name = H5.H5Eget_class_name(hdf_java_classid);
+ assertNotNull("H5.H5Eget_class_name: " + class_name, class_name);
+ assertEquals("H5.H5Eget_class_name: ", "HDF-Java-Error", class_name);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_class_name: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Eprint2() {
+ try {
+ assertFalse(current_stackid < 0);
+ H5.H5Eprint2(current_stackid, null);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eprint2: " + err);
+ }
+ }
+
+ @Ignore("Tested with create_msg_major[minor]")
+ public void testH5Eclose_msg() {
+ fail("Not yet implemented");
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Ecreate_msg_name_null() throws Throwable {
+ H5.H5Ecreate_msg(hdf_java_classid, HDF5Constants.H5E_MAJOR, null);
+ }
+
+ @Test
+ public void testH5Ecreate_msg_major() {
+ try {
+ long err_id = H5.H5Ecreate_msg(hdf_java_classid, HDF5Constants.H5E_MAJOR, "Error in Test");
+ assertFalse("H5.H5Ecreate_msg_major: " + err_id, err_id < 0);
+ H5.H5Eclose_msg(err_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Ecreate_msg_major: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Ecreate_msg_minor() {
+ try {
+ long err_id = H5.H5Ecreate_msg(hdf_java_classid, HDF5Constants.H5E_MINOR, "Error in Test Function");
+ assertFalse("H5.H5Ecreate_msg_minor: " + err_id, err_id < 0);
+ H5.H5Eclose_msg(err_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Ecreate_msg_minor: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Eget_msg() {
+ int[] error_msg_type = { HDF5Constants.H5E_MINOR };
+ long err_id = -1;
+ String msg = null;
+ try {
+ err_id = H5.H5Ecreate_msg(hdf_java_classid, HDF5Constants.H5E_MAJOR, "Error in Test");
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_msg: " + err);
+ }
+ assertFalse("H5.H5Eget_msg: H5Ecreate_msg - " + err_id, err_id < 0);
+ try {
+ msg = H5.H5Eget_msg(err_id, error_msg_type);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_msg: " + err);
+ }
+ assertNotNull("H5.H5Eget_msg: " + msg, msg);
+ assertEquals("H5.H5Eget_msg: ", "Error in Test", msg);
+ assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR, error_msg_type[0]);
+ try {
+ H5.H5Eclose_msg(err_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_msg: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Ecreate_stack() {
+ long stk_id = -1;
+ try {
+ stk_id = H5.H5Ecreate_stack();
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Ecreate_stack: " + err);
+ }
+ assertFalse("H5.H5Ecreate_stack: " + stk_id, stk_id < 0);
+ try {
+ H5.H5Eclose_stack(stk_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Ecreate_stack: " + err);
+ }
+ }
+
+ @Test
+ public void testH5EprintInt() {
+ assertFalse(current_stackid < 0);
+ try {
+ H5.H5Eprint2(current_stackid, null);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5EprintInt: " + err);
+ }
+ }
+
+ @Test
+ public void testH5EclearInt() {
+ try {
+ H5.H5Eclear(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5EclearInt: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Eclear2() {
+ try {
+ H5.H5Eclear2(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eclear2: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Eauto_is_v2() {
+ boolean is_v2 = false;
+ try {
+ is_v2 = H5.H5Eauto_is_v2(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eauto_is_v2: " + err);
+ }
+ assertTrue("H5.H5Eauto_is_v2: ", is_v2);
+ }
+
+ @Test
+ public void testH5Eget_num() {
+ long num_msg = -1;
+ try {
+ num_msg = H5.H5Eget_num(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eget_num: " + err);
+ }
+ assertTrue("H5.H5Eget_num", num_msg == 0);
+ }
+
+ @Test
+ public void testH5Eget_num_with_msg() {
+ try {
+ H5.H5Eset_current_stack(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Epop: " + err);
+ }
+ try {
+ H5.H5Fopen("test", 0, 1);
+ }
+ catch (Throwable err) {
+ }
+
+ // save current stack contents
+ try {
+ current_stackid = H5.H5Eget_current_stack();
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5.H5Epop: " + err);
+ }
+
+ long num_msg = -1;
+ try {
+ num_msg = H5.H5Eget_num(current_stackid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Epop: " + err);
+ }
+ assertTrue("H5.H5Eget_num_with_msg #:" + num_msg, num_msg > 0);
+ }
+
+}
diff --git a/java/test/TestH5Eregister.java b/java/test/TestH5Eregister.java
index 742b47f..1b87699 100644
--- a/java/test/TestH5Eregister.java
+++ b/java/test/TestH5Eregister.java
@@ -60,8 +60,7 @@ public class TestH5Eregister {
public void testH5Eregister_class() {
long hdf_java_classid = -1;
try {
- hdf_java_classid = H5.H5Eregister_class("HDF-Java-Error",
- "hdf-java", "2.5");
+ hdf_java_classid = H5.H5Eregister_class("HDF-Java-Error", "hdf-java", "2.5");
}
catch (Throwable err) {
fail("H5.H5Eregister_class: " + err);
diff --git a/java/test/TestH5F.java b/java/test/TestH5F.java
index ac2f70d..e4f9a30 100644
--- a/java/test/TestH5F.java
+++ b/java/test/TestH5F.java
@@ -31,7 +31,7 @@ import org.junit.rules.TestName;
public class TestH5F {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testF.h5";
private static final int COUNT_OBJ_FILE = 1;
private static final int COUNT_OBJ_DATASET = 0;
diff --git a/java/test/TestH5Fbasic.java b/java/test/TestH5Fbasic.java
index faf0bf7..11d6644 100644
--- a/java/test/TestH5Fbasic.java
+++ b/java/test/TestH5Fbasic.java
@@ -32,8 +32,8 @@ import org.junit.rules.TestName;
public class TestH5Fbasic {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
- private static final String TXT_FILE = "test.txt";
+ private static final String H5_FILE = "testFb.h5";
+ private static final String TXT_FILE = "testFb.txt";
long H5fid = -1;
private final void _deleteFile(String filename) {
diff --git a/java/test/TestH5G.java b/java/test/TestH5G.java
index 1a67990..6c30187 100644
--- a/java/test/TestH5G.java
+++ b/java/test/TestH5G.java
@@ -33,8 +33,8 @@ import org.junit.rules.TestName;
public class TestH5G {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
- private static final String H5_FILE2 = "test2.h5";
+ private static final String H5_FILE = "testG.h5";
+ private static final String H5_FILE2 = "testG2.h5";
private static final String[] GROUPS = { "/G1", "/G1/G11", "/G1/G12",
"/G1/G11/G111", "/G1/G11/G112", "/G1/G11/G113", "/G1/G11/G114" };
private static final String[] GROUPS2 = { "/G1", "/G1/G14", "/G1/G12", "/G1/G13", "/G1/G11"};
diff --git a/java/test/TestH5Gbasic.java b/java/test/TestH5Gbasic.java
index 6ff7d03..202f6ff 100644
--- a/java/test/TestH5Gbasic.java
+++ b/java/test/TestH5Gbasic.java
@@ -32,7 +32,7 @@ import org.junit.rules.TestName;
public class TestH5Gbasic {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testGb.h5";
long H5fid = -1;
private final long _createGroup(long fid, String name) {
diff --git a/java/test/TestH5Lbasic.java b/java/test/TestH5Lbasic.java
index 9e832f3..0a836c1 100644
--- a/java/test/TestH5Lbasic.java
+++ b/java/test/TestH5Lbasic.java
@@ -34,7 +34,7 @@ import org.junit.rules.TestName;
public class TestH5Lbasic {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "h5ex_g_iterate.hdf";
+ private static final String H5_FILE = "h5ex_g_iterateL1.hdf";
long H5fid = -1;
@Before
diff --git a/java/test/TestH5Lcreate.java b/java/test/TestH5Lcreate.java
index dcb076d..06c4ac1 100644
--- a/java/test/TestH5Lcreate.java
+++ b/java/test/TestH5Lcreate.java
@@ -37,8 +37,8 @@ import org.junit.rules.TestName;
public class TestH5Lcreate {
@Rule public TestName testname = new TestName();
- private static final String H5_EXTFILE = "h5ex_g_iterate.hdf";
- private static final String H5_FILE = "test.h5";
+ private static final String H5_EXTFILE = "h5ex_g_iterateL2.hdf";
+ private static final String H5_FILE = "testL.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
long H5fcpl = -1;
@@ -147,6 +147,13 @@ public class TestH5Lcreate {
H5.H5Pset_link_creation_order(H5fcpl, HDF5Constants.H5P_CRT_ORDER_TRACKED+HDF5Constants.H5P_CRT_ORDER_INDEXED);
H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC,
H5fcpl, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5L.createH5file: " + err);
+ }
+ assertTrue("TestH5L.createH5file: H5.H5Fcreate: ",H5fid > 0);
+ try {
H5dsid = H5.H5Screate_simple(2, H5dims, null);
H5did1 = _createDataset(H5fid, H5dsid, "DS1", HDF5Constants.H5P_DEFAULT);
H5gid = _createGroup(H5fid, "/G1");
@@ -154,9 +161,8 @@ public class TestH5Lcreate {
}
catch (Throwable err) {
err.printStackTrace();
- fail("TestH5L.createH5file: " + err);
+ fail("TestH5L.createH5objs: " + err);
}
- assertTrue("TestH5L.createH5file: H5.H5Fcreate: ",H5fid > 0);
assertTrue("TestH5L.createH5file: H5.H5Screate_simple: ",H5dsid > 0);
assertTrue("TestH5L.createH5file: H5.H5Gcreate: ",H5gid > 0);
diff --git a/java/test/TestH5Obasic.java b/java/test/TestH5Obasic.java
index 923d2b1..8c6689f 100644
--- a/java/test/TestH5Obasic.java
+++ b/java/test/TestH5Obasic.java
@@ -34,7 +34,7 @@ import org.junit.rules.TestName;
public class TestH5Obasic {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "h5ex_g_iterate.hdf";
+ private static final String H5_FILE = "h5ex_g_iterateO1.hdf";
private static long H5la_ds1 = -1;
private static long H5la_l1 = -1;
private static long H5la_dt1 = -1;
diff --git a/java/test/TestH5Ocreate.java b/java/test/TestH5Ocreate.java
index 559e12b..c3e36b4 100644
--- a/java/test/TestH5Ocreate.java
+++ b/java/test/TestH5Ocreate.java
@@ -37,8 +37,8 @@ import org.junit.rules.TestName;
public class TestH5Ocreate {
@Rule public TestName testname = new TestName();
- private static final String H5_EXTFILE = "h5ex_g_iterate.hdf";
- private static final String H5_FILE = "test.h5";
+ private static final String H5_EXTFILE = "h5ex_g_iterateO2.hdf";
+ private static final String H5_FILE = "testO.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
long H5fcpl = -1;
diff --git a/java/test/TestH5Oparams.java b/java/test/TestH5Oparams.java
index 2af190f..8b3c673 100644
--- a/java/test/TestH5Oparams.java
+++ b/java/test/TestH5Oparams.java
@@ -71,27 +71,27 @@ public class TestH5Oparams {
@Test(expected = HDF5LibraryException.class)
public void testH5Oget_info_invalid() throws Throwable {
- H5.H5Oget_info(-1);
+ H5.H5Oget_info(-1, 0);
}
@Test(expected = NullPointerException.class)
public void testH5Oget_info_by_name_null() throws Throwable {
- H5.H5Oget_info_by_name(-1, null, HDF5Constants.H5P_DEFAULT);
+ H5.H5Oget_info_by_name(-1, null, 0, HDF5Constants.H5P_DEFAULT);
}
@Test(expected = HDF5LibraryException.class)
public void testH5Oget_info_by_name_invalid() throws Throwable {
- H5.H5Oget_info_by_name(-1, "/testH5Gcreate", HDF5Constants.H5P_DEFAULT);
+ H5.H5Oget_info_by_name(-1, "/testH5Gcreate", 0, HDF5Constants.H5P_DEFAULT);
}
@Test(expected = HDF5LibraryException.class)
public void testH5Oget_info_by_idx_invalid() throws Throwable {
- H5.H5Oget_info_by_idx(-1, "Bogus", -1, -1, -1L, -1);
+ H5.H5Oget_info_by_idx(-1, "Bogus", -1, -1, -1L, 0, -1);
}
@Test(expected = NullPointerException.class)
public void testH5Oget_info_by_idx_null() throws Throwable {
- H5.H5Oget_info_by_idx(-1, null, 0, 0, 0L, 0);
+ H5.H5Oget_info_by_idx(-1, null, 0, 0, 0L, 0, 0);
}
@Test(expected = HDF5LibraryException.class)
@@ -106,17 +106,17 @@ public class TestH5Oparams {
@Test(expected = NullPointerException.class)
public void testH5Ovisit_null() throws Throwable {
- H5.H5Ovisit(-1, -1, -1, null, null);
+ H5.H5Ovisit(-1, -1, -1, null, null, 0);
}
@Test(expected = NullPointerException.class)
public void testH5Ovisit_by_name_nullname() throws Throwable {
- H5.H5Ovisit_by_name(-1, null, -1, -1, null, null, -1);
+ H5.H5Ovisit_by_name(-1, null, -1, -1, null, null, 0, -1);
}
@Test(expected = NullPointerException.class)
public void testH5Ovisit_by_name_null() throws Throwable {
- H5.H5Ovisit_by_name(-1, "Bogus", -1, -1, null, null, -1);
+ H5.H5Ovisit_by_name(-1, "Bogus", -1, -1, null, null, 0, -1);
}
@Test(expected = HDF5LibraryException.class)
diff --git a/java/test/TestH5P.java b/java/test/TestH5P.java
index 521a53c..e6105d9 100644
--- a/java/test/TestH5P.java
+++ b/java/test/TestH5P.java
@@ -36,7 +36,7 @@ import org.junit.rules.TestName;
public class TestH5P {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testP.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
long[] H5dims = { DIM_X, DIM_Y };
diff --git a/java/test/TestH5PData.java b/java/test/TestH5PData.java
index c414d67..dfd8e87 100644
--- a/java/test/TestH5PData.java
+++ b/java/test/TestH5PData.java
@@ -34,7 +34,7 @@ import org.junit.rules.TestName;
public class TestH5PData {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testPD.h5";
private static final int DIM_X = 12;
private static final int DIM_Y = 18;
long H5fid = -1;
diff --git a/java/test/TestH5Pfapl.java b/java/test/TestH5Pfapl.java
index 0651502..10a79dd 100644
--- a/java/test/TestH5Pfapl.java
+++ b/java/test/TestH5Pfapl.java
@@ -38,10 +38,10 @@ import org.junit.rules.TestName;
public class TestH5Pfapl {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
- private static final String H5_LOG_FILE = "test.log";
- private static final String H5_FAMILY_FILE = "test%05d";
- private static final String H5_MULTI_FILE = "testmulti";
+ private static final String H5_FILE = "testPf.h5";
+ private static final String H5_LOG_FILE = "testPf.log";
+ private static final String H5_FAMILY_FILE = "testPf%05d";
+ private static final String H5_MULTI_FILE = "testPfmulti";
private static char MULTI_LETTERS[] = {'X','s','b','r','g','l','o'};
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
diff --git a/java/test/TestH5T.java b/java/test/TestH5T.java
index 0c68d2e..1a7e58b 100644
--- a/java/test/TestH5T.java
+++ b/java/test/TestH5T.java
@@ -32,7 +32,7 @@ import org.junit.rules.TestName;
public class TestH5T {
@Rule public TestName testname = new TestName();
- private static final String H5_FILE = "test.h5";
+ private static final String H5_FILE = "testT.h5";
long H5fid = -1;
long H5strdid = -1;
diff --git a/java/test/junit.sh.in b/java/test/junit.sh.in
index 77379d0..5d69bee 100644
--- a/java/test/junit.sh.in
+++ b/java/test/junit.sh.in
@@ -16,6 +16,9 @@ top_builddir=@top_builddir@
top_srcdir=@top_srcdir@
srcdir=@srcdir@
+USE_FILTER_SZIP="@USE_FILTER_SZIP@"
+USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
+
TESTNAME=JUnitInterface
EXIT_SUCCESS=0
EXIT_FAILURE=1
@@ -59,20 +62,49 @@ $top_builddir/java/src/jni/.libs/libhdf5_java.*
LIST_JAR_FILES="
$HDFLIB_HOME/hamcrest-core.jar
$HDFLIB_HOME/junit.jar
-$HDFLIB_HOME/slf4j-api-1.7.5.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.5.jar
+$HDFLIB_HOME/slf4j-api-1.7.25.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
$top_builddir/java/src/$JARFILE
"
LIST_DATA_FILES="
-$HDFTEST_HOME/JUnit-interface.txt
-$HDFTEST_HOME/JUnit-interface.ert
+$HDFTEST_HOME/testfiles/JUnit-TestH5.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Eparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Eregister.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Fparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Fbasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5F.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Fswmr.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Gbasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5G.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Sbasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5S.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Tparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Tbasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5T.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Dparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5D.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Dplist.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Lparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Lbasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Lcreate.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5R.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5P.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5PData.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Pfapl.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Pvirtual.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Plist.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5A.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Oparams.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Obasic.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Ocreate.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Ocopy.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5PL.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Z.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5E.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Edefault.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Giterate.txt
"
-expect="JUnit-interface.txt"
-actual="JUnit-interface.out"
-actual_err="JUnit-interface.err"
-actual_ext="JUnit-interface.ext"
-
#
# copy files from source dirs to test dir
#
@@ -173,14 +205,18 @@ COPY_DATAFILES_TO_BLDDIR()
fi
done
$CP -f $HDFTEST_HOME/h5ex_g_iterate.orig $BLDDIR/h5ex_g_iterate.hdf
+ $CP -f $HDFTEST_HOME/h5ex_g_iterate.orig $BLDDIR/h5ex_g_iterateL1.hdf
+ $CP -f $HDFTEST_HOME/h5ex_g_iterate.orig $BLDDIR/h5ex_g_iterateL2.hdf
+ $CP -f $HDFTEST_HOME/h5ex_g_iterate.orig $BLDDIR/h5ex_g_iterateO1.hdf
+ $CP -f $HDFTEST_HOME/h5ex_g_iterate.orig $BLDDIR/h5ex_g_iterateO2.hdf
}
CLEAN_DATAFILES_AND_BLDDIR()
{
- $RM $BLDDIR/h5ex_g_iterate.hdf
- $RM $BLDDIR/JUnit-interface.out
- $RM $BLDDIR/JUnit-interface.err
- $RM $BLDDIR/JUnit-interface.ext
+ $RM $BLDDIR/h5ex_g_iterate*.hdf
+ $RM $BLDDIR/JUnit-*.out
+ $RM $BLDDIR/JUnit-*.ext
+ $RM $BLDDIR/JUnit-*.err
# skip rm if srcdir is same as destdir
# this occurs when build/test performed in source dir and
# make cp fail
@@ -188,8 +224,8 @@ CLEAN_DATAFILES_AND_BLDDIR()
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
- $RM $BLDDIR/JUnit-interface.ert
- $RM $BLDDIR/JUnit-interface.txt
+ $RM $BLDDIR/JUnit-*.ert
+ $RM $BLDDIR/JUnit-*.txt
fi
}
@@ -213,7 +249,7 @@ JAVAEXEFLAGS=@H5_JAVAFLAGS@
COPY_LIBFILES_TO_BLDLIBDIR
COPY_DATAFILES_TO_BLDDIR
-CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/junit.jar:"$BLDLIBDIR"/hamcrest-core.jar:"$BLDLIBDIR"/slf4j-api-1.7.5.jar:"$BLDLIBDIR"/slf4j-simple-1.7.5.jar:"$TESTJARFILE""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/junit.jar:"$BLDLIBDIR"/hamcrest-core.jar:"$BLDLIBDIR"/slf4j-api-1.7.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
@@ -257,12 +293,681 @@ esac
export LD_LIBRARY_PATH
-echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestAll"
- # Run test.
- TESTING JUnit
- (
- $RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestAll
- ) >$actual_ext 2>$actual_err
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5"
+TESTING JUnit-TestH5
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5 > JUnit-TestH5.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5.ext > JUnit-TestH5.out
+
+if diff JUnit-TestH5.out JUnit-TestH5.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5"
+else
+ echo "**FAILED** JUnit-TestH5"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5.txt JUnit-TestH5.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Eparams"
+TESTING JUnit-TestH5Eparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Eparams > JUnit-TestH5Eparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Eparams.ext > JUnit-TestH5Eparams.out
+
+if diff JUnit-TestH5Eparams.out JUnit-TestH5Eparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Eparams"
+else
+ echo "**FAILED** JUnit-TestH5Eparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Eparams.txt JUnit-TestH5Eparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Eregister"
+TESTING JUnit-TestH5Eregister
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Eregister > JUnit-TestH5Eregister.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Eregister.ext > JUnit-TestH5Eregister.out
+
+if diff JUnit-TestH5Eregister.out JUnit-TestH5Eregister.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Eregister"
+else
+ echo "**FAILED** JUnit-TestH5Eregister"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Eregister.txt JUnit-TestH5Eregister.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fparams"
+TESTING JUnit-TestH5Fparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fparams > JUnit-TestH5Fparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Fparams.ext > JUnit-TestH5Fparams.out
+
+if diff JUnit-TestH5Fparams.out JUnit-TestH5Fparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Fparams"
+else
+ echo "**FAILED** JUnit-TestH5Fparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Fparams.txt JUnit-TestH5Fparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fbasic"
+TESTING JUnit-TestH5Fbasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fbasic > JUnit-TestH5Fbasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Fbasic.ext > JUnit-TestH5Fbasic.out
+
+if diff JUnit-TestH5Fbasic.out JUnit-TestH5Fbasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Fbasic"
+else
+ echo "**FAILED** JUnit-TestH5Fbasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Fbasic.txt JUnit-TestH5Fbasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5F"
+TESTING JUnit-TestH5F
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5F > JUnit-TestH5F.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5F.ext > JUnit-TestH5F.out
+
+if diff JUnit-TestH5F.out JUnit-TestH5F.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5F"
+else
+ echo "**FAILED** JUnit-TestH5F"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5F.txt JUnit-TestH5F.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fswmr"
+TESTING JUnit-TestH5Fswmr
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Fswmr > JUnit-TestH5Fswmr.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Fswmr.ext > JUnit-TestH5Fswmr.out
+
+if diff JUnit-TestH5Fswmr.out JUnit-TestH5Fswmr.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Fswmr"
+else
+ echo "**FAILED** JUnit-TestH5Fswmr"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Fswmr.txt JUnit-TestH5Fswmr.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Gbasic"
+TESTING JUnit-TestH5Gbasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Gbasic > JUnit-TestH5Gbasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Gbasic.ext > JUnit-TestH5Gbasic.out
+
+if diff JUnit-TestH5Gbasic.out JUnit-TestH5Gbasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Gbasic"
+else
+ echo "**FAILED** JUnit-TestH5Gbasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Gbasic.txt JUnit-TestH5Gbasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5G"
+TESTING JUnit-TestH5G
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5G > JUnit-TestH5G.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5G.ext > JUnit-TestH5G.out
+
+if diff JUnit-TestH5G.out JUnit-TestH5G.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5G"
+else
+ echo "**FAILED** JUnit-TestH5G"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5G.txt JUnit-TestH5G.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Sbasic"
+TESTING JUnit-TestH5Sbasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Sbasic > JUnit-TestH5Sbasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Sbasic.ext > JUnit-TestH5Sbasic.out
+
+if diff JUnit-TestH5Sbasic.out JUnit-TestH5Sbasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Sbasic"
+else
+ echo "**FAILED** JUnit-TestH5Sbasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Sbasic.txt JUnit-TestH5Sbasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5S"
+TESTING JUnit-TestH5S
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5S > JUnit-TestH5S.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5S.ext > JUnit-TestH5S.out
+
+if diff JUnit-TestH5S.out JUnit-TestH5S.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5S"
+else
+ echo "**FAILED** JUnit-TestH5S"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5S.txt JUnit-TestH5S.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Tparams"
+TESTING JUnit-TestH5Tparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Tparams > JUnit-TestH5Tparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Tparams.ext > JUnit-TestH5Tparams.out
+
+if diff JUnit-TestH5Tparams.out JUnit-TestH5Tparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Tparams"
+else
+ echo "**FAILED** JUnit-TestH5Tparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Tparams.txt JUnit-TestH5Tparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Tbasic"
+TESTING JUnit-TestH5Tbasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Tbasic > JUnit-TestH5Tbasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Tbasic.ext > JUnit-TestH5Tbasic.out
+
+if diff JUnit-TestH5Tbasic.out JUnit-TestH5Tbasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Tbasic"
+else
+ echo "**FAILED** JUnit-TestH5Tbasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Tbasic.txt JUnit-TestH5Tbasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5T"
+TESTING JUnit-TestH5T
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5T > JUnit-TestH5T.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5T.ext > JUnit-TestH5T.out
+
+if diff JUnit-TestH5T.out JUnit-TestH5T.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5T"
+else
+ echo "**FAILED** JUnit-TestH5T"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5T.txt JUnit-TestH5T.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Dparams"
+TESTING JUnit-TestH5Dparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Dparams > JUnit-TestH5Dparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Dparams.ext > JUnit-TestH5Dparams.out
+
+if diff JUnit-TestH5Dparams.out JUnit-TestH5Dparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Dparams"
+else
+ echo "**FAILED** JUnit-TestH5Dparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Dparams.txt JUnit-TestH5Dparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5D"
+TESTING JUnit-TestH5D
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5D > JUnit-TestH5D.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5D.ext > JUnit-TestH5D.out
+
+if diff JUnit-TestH5D.out JUnit-TestH5D.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5D"
+else
+ echo "**FAILED** JUnit-TestH5D"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5D.txt JUnit-TestH5D.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Dplist"
+TESTING JUnit-TestH5Dplist
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Dplist > JUnit-TestH5Dplist.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Dplist.ext > JUnit-TestH5Dplist.out
+
+if diff JUnit-TestH5Dplist.out JUnit-TestH5Dplist.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Dplist"
+else
+ echo "**FAILED** JUnit-TestH5Dplist"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Dplist.txt JUnit-TestH5Dplist.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lparams"
+TESTING JUnit-TestH5Lparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lparams > JUnit-TestH5Lparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Lparams.ext > JUnit-TestH5Lparams.out
+
+if diff JUnit-TestH5Lparams.out JUnit-TestH5Lparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Lparams"
+else
+ echo "**FAILED** JUnit-TestH5Lparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Lparams.txt JUnit-TestH5Lparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lbasic"
+TESTING JUnit-TestH5Lbasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lbasic > JUnit-TestH5Lbasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Lbasic.ext > JUnit-TestH5Lbasic.out
+
+if diff JUnit-TestH5Lbasic.out JUnit-TestH5Lbasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Lbasic"
+else
+ echo "**FAILED** JUnit-TestH5Lbasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Lbasic.txt JUnit-TestH5Lbasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lcreate"
+TESTING JUnit-TestH5Lcreate
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Lcreate > JUnit-TestH5Lcreate.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Lcreate.ext > JUnit-TestH5Lcreate.out
+
+if diff JUnit-TestH5Lcreate.out JUnit-TestH5Lcreate.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Lcreate"
+else
+ echo "**FAILED** JUnit-TestH5Lcreate"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Lcreate.txt JUnit-TestH5Lcreate.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5R"
+TESTING JUnit-TestH5R
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5R > JUnit-TestH5R.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5R.ext > JUnit-TestH5R.out
+
+if diff JUnit-TestH5R.out JUnit-TestH5R.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5R"
+else
+ echo "**FAILED** JUnit-TestH5R"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5R.txt JUnit-TestH5R.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5P"
+TESTING JUnit-TestH5P
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5P > JUnit-TestH5P.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5P.ext > JUnit-TestH5P.out
+
+if diff JUnit-TestH5P.out JUnit-TestH5P.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5P"
+else
+ echo "**FAILED** JUnit-TestH5P"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5P.txt JUnit-TestH5P.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5PData"
+TESTING JUnit-TestH5PData
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5PData > JUnit-TestH5PData.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5PData.ext > JUnit-TestH5PData.out
+
+if diff JUnit-TestH5PData.out JUnit-TestH5PData.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5PData"
+else
+ echo "**FAILED** JUnit-TestH5PData"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5PData.txt JUnit-TestH5PData.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Pfapl"
+TESTING JUnit-TestH5Pfapl
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Pfapl > JUnit-TestH5Pfapl.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Pfapl.ext > JUnit-TestH5Pfapl.out
+
+if diff JUnit-TestH5Pfapl.out JUnit-TestH5Pfapl.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Pfapl"
+else
+ echo "**FAILED** JUnit-TestH5Pfapl"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Pfapl.txt JUnit-TestH5Pfapl.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Pvirtual"
+TESTING JUnit-TestH5Pvirtual
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Pvirtual > JUnit-TestH5Pvirtual.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Pvirtual.ext > JUnit-TestH5Pvirtual.out
+
+if diff JUnit-TestH5Pvirtual.out JUnit-TestH5Pvirtual.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Pvirtual"
+else
+ echo "**FAILED** JUnit-TestH5Pvirtual"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Pvirtual.txt JUnit-TestH5Pvirtual.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Plist"
+TESTING JUnit-TestH5Plist
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Plist > JUnit-TestH5Plist.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Plist.ext > JUnit-TestH5Plist.out
+
+if diff JUnit-TestH5Plist.out JUnit-TestH5Plist.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Plist"
+else
+ echo "**FAILED** JUnit-TestH5Plist"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Plist.txt JUnit-TestH5Plist.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5A"
+TESTING JUnit-TestH5A
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5A > JUnit-TestH5A.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5A.ext > JUnit-TestH5A.out
+
+if diff JUnit-TestH5A.out JUnit-TestH5A.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5A"
+else
+ echo "**FAILED** JUnit-TestH5A"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5A.txt JUnit-TestH5A.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Oparams"
+TESTING JUnit-TestH5Oparams
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Oparams > JUnit-TestH5Oparams.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Oparams.ext > JUnit-TestH5Oparams.out
+
+if diff JUnit-TestH5Oparams.out JUnit-TestH5Oparams.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Oparams"
+else
+ echo "**FAILED** JUnit-TestH5Oparams"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Oparams.txt JUnit-TestH5Oparams.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Obasic"
+TESTING JUnit-TestH5Obasic
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Obasic > JUnit-TestH5Obasic.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Obasic.ext > JUnit-TestH5Obasic.out
+
+if diff JUnit-TestH5Obasic.out JUnit-TestH5Obasic.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Obasic"
+else
+ echo "**FAILED** JUnit-TestH5Obasic"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Obasic.txt JUnit-TestH5Obasic.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Ocreate"
+TESTING JUnit-TestH5Ocreate
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Ocreate > JUnit-TestH5Ocreate.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Ocreate.ext > JUnit-TestH5Ocreate.out
+
+if diff JUnit-TestH5Ocreate.out JUnit-TestH5Ocreate.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Ocreate"
+else
+ echo "**FAILED** JUnit-TestH5Ocreate"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Ocreate.txt JUnit-TestH5Ocreate.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Ocopy"
+TESTING JUnit-TestH5Ocopy
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Ocopy > JUnit-TestH5Ocopy.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Ocopy.ext > JUnit-TestH5Ocopy.out
+
+if diff JUnit-TestH5Ocopy.out JUnit-TestH5Ocopy.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Ocopy"
+else
+ echo "**FAILED** JUnit-TestH5Ocopy"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Ocopy.txt JUnit-TestH5Ocopy.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5PL"
+TESTING JUnit-TestH5PL
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5PL > JUnit-TestH5PL.ext)
+
+# Extract file name, line number, version and thread IDs because they may be different
+sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5PL.ext > JUnit-TestH5PL.out
+
+if diff JUnit-TestH5PL.out JUnit-TestH5PL.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5PL"
+else
+ echo "**FAILED** JUnit-TestH5PL"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5PL.txt JUnit-TestH5PL.out |sed 's/^/ /'
+fi
+
+echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Z"
+TESTING JUnit-TestH5Z
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Z > JUnit-TestH5Z.ext)
# Extract file name, line number, version and thread IDs because they may be different
sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
@@ -270,19 +975,84 @@ sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
-e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
-e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
-e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
- $actual_ext > $actual
+ JUnit-TestH5Z.ext > JUnit-TestH5Z.out
-# SunOS does not support this. Skip it.
-if [ $myos = SunOS ]; then
- echo " SKIPPED"
+if diff JUnit-TestH5Z.out JUnit-TestH5Z.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Z"
else
- if $CMP $expect $actual; then
- echo " PASSED"
+ echo "**FAILED** JUnit-TestH5Z"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Z.txt JUnit-TestH5Z.out |sed 's/^/ /'
+fi
+
+if test "X-$BUILD_MODE" = "X-production" ; then
+ if test $USE_FILTER_SZIP = "yes"; then
+ echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5E"
+ TESTING JUnit-TestH5E
+ ($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5E > JUnit-TestH5E.ext)
+
+ # Extract file name, line number, version and thread IDs because they may be different
+ sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5E.ext > JUnit-TestH5E.out
+
+ if diff JUnit-TestH5E.out JUnit-TestH5E.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5E"
+ else
+ echo "**FAILED** JUnit-TestH5E"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5E.txt JUnit-TestH5E.out |sed 's/^/ /'
+ fi
+ fi
+
+ if test $USE_FILTER_SZIP = "yes"; then
+ echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Edefault"
+ TESTING JUnit-TestH5Edefault
+ ($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Edefault > JUnit-TestH5Edefault.ext)
+
+ # Extract file name, line number, version and thread IDs because they may be different
+ sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Edefault.ext > JUnit-TestH5Edefault.out
+
+ if diff JUnit-TestH5Edefault.out JUnit-TestH5Edefault.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Edefault"
+ else
+ echo "**FAILED** JUnit-TestH5Edefault"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Edefault.txt JUnit-TestH5Edefault.out |sed 's/^/ /'
+ fi
+ fi
+fi
+if test $USE_FILTER_SZIP = "yes"; then
+ echo "$JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Giterate"
+ TESTING JUnit-TestH5Giterate
+ ($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Giterate > JUnit-TestH5Giterate.ext)
+
+ # Extract file name, line number, version and thread IDs because they may be different
+ sed -e 's/thread [0-9]*/thread (IDs)/' -e 's/: .*\.c /: (file name) /' \
+ -e 's/line [0-9]*/line (number)/' \
+ -e 's/Time: [0-9]*\.[0-9]*/Time: XXXX/' \
+ -e 's/v[1-9]*\.[0-9]*\./version (number)\./' \
+ -e 's/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/' \
+ JUnit-TestH5Giterate.ext > JUnit-TestH5Giterate.out
+
+ if diff JUnit-TestH5Giterate.out JUnit-TestH5Giterate.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Giterate"
else
- echo "*FAILED*"
+ echo "**FAILED** JUnit-TestH5Giterate"
echo " Expected result differs from actual result"
nerrors="`expr $nerrors + 1`"
- test yes = "$verbose" && $DIFF $expect $actual |sed 's/^/ /'
+ test yes = "$verbose" && $DIFF JUnit-TestH5Giterate.txt JUnit-TestH5Giterate.out |sed 's/^/ /'
fi
fi
diff --git a/java/test/testfiles/JUnit-TestH5.txt b/java/test/testfiles/JUnit-TestH5.txt
new file mode 100644
index 0000000..37c5b65
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5.txt
@@ -0,0 +1,15 @@
+JUnit version 4.11
+.testJ2C
+.testIsSerializable
+.testH5garbage_collect
+.testH5error_off
+.serializeToDisk
+.testH5open
+.testH5check_version
+.testH5get_libversion
+.testH5set_free_list_limits
+
+Time: XXXX
+
+OK (9 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5A.txt b/java/test/testfiles/JUnit-TestH5A.txt
new file mode 100644
index 0000000..2026d21
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5A.txt
@@ -0,0 +1,34 @@
+JUnit version 4.11
+.testH5Acreate2_nullname
+.testH5Acreate_by_name
+.testH5Aget_name_by_idx
+.testH5Aget_storage_size
+.testH5Aiterate
+.testH5Aopen_by_idx
+.testH5Aopen_invalidname
+.testH5Aopen
+.testH5Aget_info_by_name
+.testH5Aget_create_plist
+.testH5Adelete_by_name
+.testH5Aopen_by_name
+.testH5Aget_info
+.testH5Aget_name
+.testH5Aexists
+.testH5Aget_info_by_idx
+.testH5Arename
+.testH5Adelete_by_idx_name1
+.testH5Adelete_by_idx_name2
+.testH5Adelete_by_idx_order
+.testH5Arename_by_name
+.testH5Acreate2_invalidobject
+.testH5Acreate2
+.testH5Aiterate_by_name
+.testH5Adelete_by_idx_null
+.testH5Adelete_by_idx_invalidobject
+.testH5Awrite_readVL
+.testH5Aget_info1
+
+Time: XXXX
+
+OK (28 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5D.txt b/java/test/testfiles/JUnit-TestH5D.txt
new file mode 100644
index 0000000..987655b
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5D.txt
@@ -0,0 +1,25 @@
+JUnit version 4.11
+.testH5Dget_storage_size
+.testH5Diterate_write
+.testH5Dcreate
+.testH5Dget_offset
+.testH5Dget_type
+.testH5Dfill
+.testH5Dopen
+.testH5Dcreate_anon
+.testH5Dfill_null
+.testH5Dget_storage_size_empty
+.testH5Diterate
+.testH5Dget_access_plist
+.testH5Dvlen_read_invalid_buffer
+.testH5Dvlen_get_buf_size
+.testH5Dget_space_closed
+.testH5Dget_space_status
+.testH5Dvlen_write_read
+.testH5Dget_space
+.testH5Dget_type_closed
+
+Time: XXXX
+
+OK (19 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Dparams.txt b/java/test/testfiles/JUnit-TestH5Dparams.txt
new file mode 100644
index 0000000..9751be4
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Dparams.txt
@@ -0,0 +1,26 @@
+JUnit version 4.11
+.testH5Dget_space_status_invalid
+.testH5Dget_access_plist_invalid
+.testH5Dget_type_invalid
+.testH5Dget_create_plist_invalid
+.testH5Dget_offset_invalid
+.testH5Dvlen_get_buf_size_invalid
+.testH5Dcreate_null
+.testH5Dset_extent_status_null
+.testH5Dvlen_reclaim_null
+.testH5Dcreate_invalid
+.testH5Dcreate_anon_invalid
+.testH5Dset_extent_status_invalid
+.testH5Dvlen_reclaim_invalid
+.testH5Dopen_invalid
+.testH5Dclose_invalid
+.testH5Dflush_invalid
+.testH5Drefresh_invalid
+.testH5Dget_storage_size_invalid
+.testH5Dget_space_invalid
+.testH5Dopen_null
+
+Time: XXXX
+
+OK (20 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Dplist.txt b/java/test/testfiles/JUnit-TestH5Dplist.txt
new file mode 100644
index 0000000..1dfbed1
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Dplist.txt
@@ -0,0 +1,7 @@
+JUnit version 4.11
+.testH5Dset_extent
+
+Time: XXXX
+
+OK (1 test)
+
diff --git a/java/test/testfiles/JUnit-TestH5E.txt b/java/test/testfiles/JUnit-TestH5E.txt
new file mode 100644
index 0000000..8c5e5e4
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5E.txt
@@ -0,0 +1,11 @@
+JUnit version 4.11
+.testH5Eget_msg_major
+.testH5Eget_msg_minor
+.testH5Epush
+.testH5Ewalk
+.testH5Epop
+
+Time: XXXX
+
+OK (5 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Edefault.txt b/java/test/testfiles/JUnit-TestH5Edefault.txt
new file mode 100644
index 0000000..62497f9
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Edefault.txt
@@ -0,0 +1,60 @@
+JUnit version 4.11
+.testH5EprintInt
+.testH5Eset_current_stack_invalid_stkid
+.testH5Eset_current_stack
+.testH5Eget_num
+.testH5Eclear
+.testH5Eprint
+.testH5Epush_null_name
+.testH5Eget_num_with_msg
+.testH5Eclear2_with_msg
+.testH5Epush_invalid_stkid
+.testH5Eget_current_stack
+.testH5Ecreate_stack
+.testH5Eget_msg_invalid_msgid
+.testH5Eauto_is_v2
+.testH5EclearInt
+.testH5Eauto_is_v2_invalid_stkid
+.testH5Eclose_msg_invalid_errid
+.testH5Eclose_stack_invalid_stackid
+.testH5Eget_class_name_invalid_classname
+.testH5Eget_num_invalid_stkid
+.testH5EprintInt_invalid_classid
+.testH5Epop
+.testH5Epop_invalid_stkid
+.testH5Eget_current_stack_pop
+.testH5Eget_class_name_invalid_classid
+.testH5Ecreate_msg_invalid_errid
+.testH5Eclear2_invalid_stkid
+.testH5Eprint2_invalid_classid
+
+Time: XXXX
+
+OK (28 tests)
+
+HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
+ #000: (file name) line (number) in H5Fopen(): unable to open file
+ major: File accessibilty
+ minor: Unable to open file
+ #001: (file name) line (number) in H5F__open(): unable to open file
+ major: File accessibilty
+ minor: Unable to open file
+ #002: (file name) line (number) in H5F_open(): unable to retrieve VFL class
+ major: File accessibilty
+ minor: Can't get value
+ #003: (file name) line (number) in H5FD_get_class(): can't find object for ID
+ major: Object atom
+ minor: Unable to find atom information (already closed?)
+HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
+ #000: (file name) line (number) in H5Fopen(): unable to open file
+ major: File accessibilty
+ minor: Unable to open file
+ #001: (file name) line (number) in H5F__open(): unable to open file
+ major: File accessibilty
+ minor: Unable to open file
+ #002: (file name) line (number) in H5F_open(): unable to retrieve VFL class
+ major: File accessibilty
+ minor: Can't get value
+ #003: (file name) line (number) in H5FD_get_class(): can't find object for ID
+ major: Object atom
+ minor: Unable to find atom information (already closed?)
diff --git a/java/test/testfiles/JUnit-TestH5Eparams.txt b/java/test/testfiles/JUnit-TestH5Eparams.txt
new file mode 100644
index 0000000..92f8068
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Eparams.txt
@@ -0,0 +1,19 @@
+JUnit version 4.11
+.testH5EprintInt
+.testH5Eget_msg
+.testH5Eget_num
+.testH5Eget_class_name
+.testH5Eget_num_with_msg
+.testH5Eclear2
+.testH5Eprint2
+.testH5Ecreate_msg_major
+.testH5Ecreate_msg_minor
+.testH5Ecreate_stack
+.testH5Ecreate_msg_name_null
+.testH5Eauto_is_v2
+.testH5EclearInt
+
+Time: XXXX
+
+OK (13 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Eregister.txt b/java/test/testfiles/JUnit-TestH5Eregister.txt
new file mode 100644
index 0000000..132e123
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Eregister.txt
@@ -0,0 +1,11 @@
+JUnit version 4.11
+.testH5Eregister_class_lib_name_null
+.testH5Eregister_class_version_null
+.testH5Eunregister_class_invalid_classid
+.testH5Eregister_class
+.testH5Eregister_class_cls_name_null
+
+Time: XXXX
+
+OK (5 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5F.txt b/java/test/testfiles/JUnit-TestH5F.txt
new file mode 100644
index 0000000..16a423e
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5F.txt
@@ -0,0 +1,14 @@
+JUnit version 4.11
+.testH5Fget_access_plist
+.testH5Fget_obj_ids
+.testH5Fget_intent_rdwr
+.testH5Fget_access_plist_closed
+.testH5Fget_create_plist_closed
+.testH5Fget_intent_rdonly
+.testH5Fget_create_plist
+.testH5Fget_obj_count
+
+Time: XXXX
+
+OK (8 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Fbasic.txt b/java/test/testfiles/JUnit-TestH5Fbasic.txt
new file mode 100644
index 0000000..467e2fb
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Fbasic.txt
@@ -0,0 +1,21 @@
+JUnit version 4.11
+.testH5Fget_mdc_size
+.testH5Fget_mdc_hit_rate
+.testH5Fis_hdf5
+.testH5Fget_freespace
+.testH5Fclose
+.testH5Fget_filesize
+.testH5Fcreate_EXCL
+.testH5Freopen_closed
+.testH5Freset_mdc_hit_rate_stats
+.testH5Fget_name
+.testH5Fcreate
+.testH5Fclear_elink_file_cache
+.testH5Fclose_twice
+.testH5Freopen
+.testH5Fopen_read_only
+
+Time: XXXX
+
+OK (15 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Fparams.txt b/java/test/testfiles/JUnit-TestH5Fparams.txt
new file mode 100644
index 0000000..9d35220
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Fparams.txt
@@ -0,0 +1,17 @@
+JUnit version 4.11
+.testH5Fcreate_null
+.testH5Fflush_local
+.testH5Fget_info
+.testH5Fmount_null
+.testH5Fcreate
+.testH5Fflush_global
+.testH5Funmount_null
+.testH5Fclose_negative
+.testH5Fopen_null
+.testH5Fis_hdf5_null
+.testH5Fis_hdf5_text
+
+Time: XXXX
+
+OK (11 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Fswmr.txt b/java/test/testfiles/JUnit-TestH5Fswmr.txt
new file mode 100644
index 0000000..f943892
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Fswmr.txt
@@ -0,0 +1,8 @@
+JUnit version 4.11
+.testH5Fstart_swmr_write
+.testH5Fswmr_read_attempts
+
+Time: XXXX
+
+OK (2 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5G.txt b/java/test/testfiles/JUnit-TestH5G.txt
new file mode 100644
index 0000000..cbcea1d
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5G.txt
@@ -0,0 +1,17 @@
+JUnit version 4.11
+.testH5Gget_info_by_name
+.testH5Gget_create_plist
+.testH5Gopen
+.testH5Gget_obj_info_all_gid2
+.testH5Gget_obj_info_all_byIndexType
+.testH5Gget_obj_info_max_limit
+.testH5Gget_obj_info_all
+.testH5Gget_obj_info_max
+.testH5Gget_obj_info_all_gid
+.testH5Gget_info_by_idx
+.testH5Gget_info
+
+Time: XXXX
+
+OK (11 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Gbasic.txt b/java/test/testfiles/JUnit-TestH5Gbasic.txt
new file mode 100644
index 0000000..3521696
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Gbasic.txt
@@ -0,0 +1,33 @@
+JUnit version 4.11
+.testH5Gget_info_by_name_not_exists
+.testH5Gget_info_by_idx_not_exists
+.testH5Gget_info_by_name
+.testH5Gget_create_plist
+.testH5Gopen
+.testH5Gget_info_by_idx_null
+.testH5Gopen_not_exists
+.testH5Gclose
+.testH5Gcreate_anon
+.testH5Gcreate_null
+.testH5Gget_info_by_idx_fileid
+.testH5Gclose_invalid
+.testH5Gflush_invalid
+.testH5Gopen_invalid
+.testH5Grefresh_invalid
+.testH5Gget_info_invalid
+.testH5Gcreate_invalid
+.testH5Gcreate_exists
+.testH5Gget_info_by_name_null
+.testH5Gget_info_by_name_invalid
+.testH5Gget_create_plist_invalid
+.testH5Gcreate
+.testH5Gget_info_by_name_fileid
+.testH5Gget_info_by_idx_invalid
+.testH5Gopen_null
+.testH5Gget_info_by_idx
+.testH5Gget_info
+
+Time: XXXX
+
+OK (27 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Giterate.txt b/java/test/testfiles/JUnit-TestH5Giterate.txt
new file mode 100644
index 0000000..38402af
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Giterate.txt
@@ -0,0 +1,7 @@
+JUnit version 4.11
+.testH5Gget_obj_info_all
+
+Time: XXXX
+
+OK (1 test)
+
diff --git a/java/test/testfiles/JUnit-TestH5Lbasic.txt b/java/test/testfiles/JUnit-TestH5Lbasic.txt
new file mode 100644
index 0000000..b9b580c
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Lbasic.txt
@@ -0,0 +1,23 @@
+JUnit version 4.11
+.testH5Lget_info_by_idx_not_exist_name
+.testH5Lget_name_by_idx_not_exist
+.testH5Lvisit
+.testH5Lget_name_by_idx_n0
+.testH5Lget_name_by_idx_n3
+.testH5Lvisit_by_name
+.testH5Literate_by_name
+.testH5Lget_info_hardlink
+.testH5Literate
+.testH5Lget_info_by_idx_n0
+.testH5Lget_info_by_idx_n3
+.testH5Lget_info_by_idx_name_not_exist_create
+.testH5Lexists
+.testH5Lget_info_by_idx_name_not_exist_name
+.testH5Lget_info_by_idx_not_exist_create
+.testH5Lget_info_not_exist
+.testH5Lget_info_dataset
+
+Time: XXXX
+
+OK (17 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Lcreate.txt b/java/test/testfiles/JUnit-TestH5Lcreate.txt
new file mode 100644
index 0000000..cbd5d36
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Lcreate.txt
@@ -0,0 +1,42 @@
+JUnit version 4.11
+.testH5Lget_info_by_idx_n0_create
+.testH5Ldelete_soft_link_dangle
+.testH5Lget_value_by_idx_external_create
+.testH5Ldelete_by_idx_not_exist_create
+.testH5Lvisit_create
+.testH5Lmove_dst_link_exists
+.testH5Lcreate_soft_dangle
+.testH5Literate_create
+.testH5Lcopy_cur_not_exists
+.testH5Lcopy
+.testH5Lmove
+.testH5Lget_value_by_idx_n2_create
+.testH5Lget_value_soft
+.testH5Ldelete_by_idx_n2_name
+.testH5Lget_info_by_idx_n1_create
+.testH5Lcreate_external
+.testH5Lget_value_dangle
+.testH5Lcreate_hard_dst_link_exists
+.testH5Lget_value_by_idx_n2_name
+.testH5Lcreate_soft_dst_link_exists
+.testH5Lcreate_hard
+.testH5Lcreate_soft
+.testH5Lmove_cur_not_exists
+.testH5Lcreate_hard_cur_not_exists
+.testH5Lget_info_softlink_dangle
+.testH5Ldelete_by_idx_n2_create
+.testH5Ldelete_soft_link
+.testH5Lget_info_externallink
+.testH5Lcopy_dst_link_exists
+.testH5Lget_value_by_idx_external_name
+.testH5Ldelete_by_idx_not_exist_name
+.testH5Lget_info_softlink
+.testH5Lget_value_external
+.testH5Lget_value_by_idx_not_exist_create
+.testH5Lget_value_by_idx_not_exist_name
+.testH5Ldelete_hard_link
+
+Time: XXXX
+
+OK (36 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Lparams.txt b/java/test/testfiles/JUnit-TestH5Lparams.txt
new file mode 100644
index 0000000..a22741c
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Lparams.txt
@@ -0,0 +1,44 @@
+JUnit version 4.11
+.testH5Lcopy_invalid
+.testH5Lget_value_by_idx_null
+.testH5Lcreate_external_invalid
+.testH5Lexists_null
+.testH5Lget_info_invalid
+.testH5Lget_name_by_idx_invalid
+.testH5Lmove_null_current
+.testH5Literate_by_name_nullname
+.testH5Lvisit_by_name_nullname
+.testH5Lvisit_null
+.testH5Lget_name_by_idx_null
+.testH5Lcreate_hard_null_dest
+.testH5Lget_value_null
+.testH5Lcreate_external_null_dest
+.testH5Lcreate_external_null_file
+.testH5Lcreate_external_null_current
+.testH5Ldelete_null
+.testH5Lexists_invalid
+.testH5Lmove_invalid
+.testH5Lcreate_hard_invalid
+.testH5Lcopy_null_dest
+.testH5Lcreate_soft_null_current
+.testH5Lcopy_null_current
+.testH5Lget_info_by_idx_null
+.testH5Literate_null
+.testH5Ldelete_invalid
+.testH5Lvisit_by_name_null
+.testH5Ldelete_by_idx_invalid
+.testH5Lget_info_by_idx_invalid
+.testH5Ldelete_by_idx_null
+.testH5Lcreate_soft_invalid
+.testH5Lcreate_hard_null_current
+.testH5Lget_value_by_idx_invalid
+.testH5Lmove_null_dest
+.testH5Lget_info_null
+.testH5Literate_by_name_null
+.testH5Lcreate_soft_null_dest
+.testH5Lget_value_invalid
+
+Time: XXXX
+
+OK (38 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Obasic.txt b/java/test/testfiles/JUnit-TestH5Obasic.txt
new file mode 100644
index 0000000..d015bdd
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Obasic.txt
@@ -0,0 +1,29 @@
+JUnit version 4.11
+.testH5Oexists_by_name
+.testH5Oget_info_by_idx_n0
+.testH5Oget_info_by_idx_n3
+.testH5Oget_info_by_name_not_exist_name
+.testH5Ovisit_by_name
+.testH5Oget_info_by_idx_name_not_exist_name
+.testH5Oget_info_datatype
+.testH5Oget_info_by_idx_not_exist_name
+.testH5Oopen_by_idx_n0
+.testH5Oopen_by_idx_n3
+.testH5Oopen_not_exists
+.testH5Ovisit
+.testH5Oget_info_by_idx_not_exist_create
+.testH5Oget_info_by_name_hardlink
+.testH5Oget_info_by_name_group
+.testH5Oopen_by_addr
+.testH5Oget_info_by_name_not_exists
+.testH5Oget_info_by_name_dataset
+.testH5Oget_info_group
+.testH5Oget_info_by_name_datatype
+.testH5Oget_info_hardlink
+.testH5Oget_info_by_idx_name_not_exist_create
+.testH5Oget_info_dataset
+
+Time: XXXX
+
+OK (23 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Ocopy.txt b/java/test/testfiles/JUnit-TestH5Ocopy.txt
new file mode 100644
index 0000000..32dfde7
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Ocopy.txt
@@ -0,0 +1,9 @@
+JUnit version 4.11
+.testH5OcopyRefsDatasettosameFile
+.testH5OcopyRefsDatasettodiffFile
+.testH5OcopyRefsAttr
+
+Time: XXXX
+
+OK (3 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Ocreate.txt b/java/test/testfiles/JUnit-TestH5Ocreate.txt
new file mode 100644
index 0000000..c2365e5
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Ocreate.txt
@@ -0,0 +1,21 @@
+JUnit version 4.11
+.testH5Oget_info_by_idx_n0_create
+.testH5Oget_info_softlink_dangle
+.testH5Oget_info_softlink
+.testH5Oget_info_externallink
+.testH5Ocopy
+.testH5Olink
+.testH5Ocomment_by_name
+.testH5Oget_info_by_idx_n1_create
+.testH5Ocomment
+.testH5Oinc_dec_count
+.testH5Ocomment_by_name_clear
+.testH5Ovisit_create
+.testH5Ocopy_dst_link_exists
+.testH5Ocomment_clear
+.testH5Ocopy_cur_not_exists
+
+Time: XXXX
+
+OK (15 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Oparams.txt b/java/test/testfiles/JUnit-TestH5Oparams.txt
new file mode 100644
index 0000000..94220b9
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Oparams.txt
@@ -0,0 +1,30 @@
+JUnit version 4.11
+.testH5Oget_comment_by_name_null
+.testH5Ovisit_by_name_nullname
+.testH5Oget_info_invalid
+.testH5Ovisit_by_name_null
+.testH5Oget_comment_invalid
+.testH5Oset_comment_by_name_invalid
+.testH5Oopen_null
+.testH5Oclose_invalid
+.testH5Oflush_invalid
+.testH5Oget_comment_by_name_invalid
+.testH5Orefresh_invalid
+.testH5Ocopy_null_dest
+.testH5Olink_invalid
+.testH5Oget_info_by_idx_invalid
+.testH5Oget_info_by_idx_null
+.testH5Olink_null_dest
+.testH5Oget_info_by_name_invalid
+.testH5Oget_info_by_name_null
+.testH5Ocopy_invalid
+.testH5Oset_comment_by_name_null
+.testH5Ocopy_null_current
+.testH5Oset_comment_invalid
+.testH5Oopen_invalid
+.testH5Ovisit_null
+
+Time: XXXX
+
+OK (24 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5P.txt b/java/test/testfiles/JUnit-TestH5P.txt
new file mode 100644
index 0000000..c937ae2
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5P.txt
@@ -0,0 +1,91 @@
+JUnit version 4.11
+.testH5Pset_nbit
+.testH5Pset_shared_mesg_index_InvalidFlag
+.testH5Pset_shared_mesg_phase_change
+.testH5PH5Pset_shared_mesg_phase_change_HighMaxlistValue
+.testH5P_layout
+.testH5Pget_link_creation_order
+.testH5Pget_efile_prefix
+.testH5Pset_shared_mesg_nindexes_InvalidHIGHnindexes
+.testH5P_file_space_page_size
+.testH5Pget_shared_mesg_index_Invalid_indexnum
+.testH5Pset_data_transform_NullExpression
+.testH5Pset_elink_prefix_null
+.testH5Pget_elink_prefix
+.testH5Pget_nlinks
+.testH5Pset_libver_bounds_invalidhigh
+.testH5Pget_char_encoding
+.testH5P_istore_k
+.testH5Pget_link_phase_change
+.testH5Pset_link_phase_change_max_compactLESSTHANmin_dense
+.testH5Pget_shared_mesg_phase_change_EqualsSET
+.testH5Pset_scaleoffset_Invalidscale_type
+.testH5Pget_istore_k_null
+.testH5Pset_libver_bounds_invalidlow
+.testH5Pset_est_link_info
+.testH5Pget_link_phase_change_Null
+.testH5P_fill_time
+.testH5Pget_userblock_null
+.testH5Pset_link_creation_order_tracked
+.testH5Pset_shared_mesg_index
+.testH5Pset_copy_object
+.testH5Pset_link_creation_order_trackedPLUSindexed
+.testH5P_file_space_strategy
+.testH5Pset_copy_object_invalidobject
+.testH5Pset_est_link_info_InvalidValues
+.testH5Pset_local_heap_size_hint
+.testH5Pget_est_link_info
+.testH5Pset_efile_prefix_null
+.testH5Pset_scaleoffset
+.testH5Pset_create_intermediate_group_invalidobject
+.testH5PH5Pset_shared_mesg_phase_change_HighMinbtreeValue
+.testH5Pset_create_intermediate_group
+.testH5P_alloc_time
+.testH5Pset_elink_acc_flags
+.testH5Pset_link_phase_change_Highmax_Compact
+.testH5P_chunk
+.testH5P_sizes
+.testH5Pset_link_creation_order_invalidvalue
+.testH5P_sym_k
+.testH5PH5Pset_shared_mesg_phase_change_MinbtreeGreaterThanMaxlist
+.testH5Pget_version_null
+.testH5Pset_scaleoffset_Invalidscale_factor
+.testH5Pget_elink_prefix_null
+.testH5Pget_data_transform_IllegalSize
+.testH5Pget_create_intermediate_group
+.testH5Pset_shared_mesg_nindexes
+.testH5Pset_attr_creation_order_trackedPLUSindexed
+.testH5Pget_sym_k_null
+.testH5Pset_nlinks
+.testH5P_obj_track_times
+.testH5Pset_efile_prefix
+.testH5P_userblock
+.testH5Pget_local_heap_size_hint
+.testH5Pset_shared_mesg_index_Invalid_indexnum
+.testH5Pset_data_transform_InvalidExpression1
+.testH5Pset_data_transform_InvalidExpression2
+.testH5Pget_attr_phase_change
+.testH5Pget_data_transform
+.testH5Pget_create_intermediate_group_notcreated
+.testH5Pset_elink_prefix
+.testH5Pget_attr_creation_order
+.testH5Pset_attr_creation_order_invalidvalue
+.testH5Pget_shared_mesg_phase_change
+.testH5Pget_shared_mesg_index
+.testH5Pset_link_phase_change
+.testH5Pget_shared_mesg_nindexes
+.testH5Pget_version
+.testH5Pset_elink_acc_flags_InvalidFlag1
+.testH5Pset_elink_acc_flags_InvalidFlag2
+.testH5Pget_link_phase_change_EqualsSet
+.testH5Pget_elink_acc_flags
+.testH5Pget_data_transform_ExpressionNotSet
+.testH5P_fill_value
+.testH5Pget_sizes_null
+.testH5Pset_data_transform
+.testH5Pset_attr_creation_order_tracked
+
+Time: XXXX
+
+OK (85 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5PData.txt b/java/test/testfiles/JUnit-TestH5PData.txt
new file mode 100644
index 0000000..6356d69
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5PData.txt
@@ -0,0 +1,8 @@
+JUnit version 4.11
+.testH5P_buffer
+.testH5Pdata_transform
+
+Time: XXXX
+
+OK (2 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5PL.txt b/java/test/testfiles/JUnit-TestH5PL.txt
new file mode 100644
index 0000000..fb78bb5
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5PL.txt
@@ -0,0 +1,8 @@
+JUnit version 4.11
+.TestH5PLplugins
+.TestH5PLpaths
+
+Time: XXXX
+
+OK (2 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Pfapl.txt b/java/test/testfiles/JUnit-TestH5Pfapl.txt
new file mode 100644
index 0000000..c4f37d0
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Pfapl.txt
@@ -0,0 +1,41 @@
+JUnit version 4.11
+.testH5P_elink_fapl
+.testH5P_fapl_direct
+.testH5P_alignment
+.testH5P_fapl_family
+.testH5P_chunk_cache
+.testH5P_meta_block_size
+.testH5Fmdc_logging
+.testH5Pget_elink_fapl
+.testH5Pset_mdc_config
+.testH5P_small_data_block_size
+.testH5Pset_fapl_log
+.testH5P_evict_on_close
+.testH5Pset_libver_bounds
+.testH5P_sieve_buf_size
+.testH5P_elink_file_cache_size
+.testH5P_cache
+.testH5Pget_mdc_config
+.testH5P_fapl_muti_defaults
+.testH5Pget_libver_bounds
+.testH5P_btree_ratios
+.testH5P_fapl_muti_nulls
+.testH5Pset_fapl_sec2
+.testH5Pmulti_transform
+.testH5Pset_elink_fapl_NegativeID
+.testH5Pset_fapl_stdio
+.testH5P_edc_check
+.testH5Pset_elink_fapl
+.testH5P_hyper_vector_size
+.testH5P_gc_references
+.testH5P_family_offset
+.testH5P_fapl_core
+.testH5P_fapl_muti
+.testH5P_fapl_split
+.testH5Pset_fapl_windows
+.testH5P_fclose_degree
+
+Time: XXXX
+
+OK (35 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Plist.txt b/java/test/testfiles/JUnit-TestH5Plist.txt
new file mode 100644
index 0000000..ed9843a
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Plist.txt
@@ -0,0 +1,10 @@
+JUnit version 4.11
+.testH5P_genprop_basic_class
+.testH5P_genprop_class_iter
+.testH5P_genprop_basic_class_prop
+.testH5P_genprop_basic_list_prop
+
+Time: XXXX
+
+OK (4 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Pvirtual.txt b/java/test/testfiles/JUnit-TestH5Pvirtual.txt
new file mode 100644
index 0000000..e57f683
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Pvirtual.txt
@@ -0,0 +1,17 @@
+JUnit version 4.11
+.testH5Pget_source_datasetname
+.testH5Pvirtual_storage
+.testH5Pget_selection_source_dataset
+.testH5Pget_virtual_prefix
+.testH5Pget_source_filename
+.testH5Pset_get_virtual_printf_gap
+.testH5Pget_virtual_count
+.testH5Pset_virtual_prefix
+.testH5Pset_get_virtual_view
+.testH5Pget_mapping_parameters
+.testH5Pset_virtual_prefix_null
+
+Time: XXXX
+
+OK (11 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5R.txt b/java/test/testfiles/JUnit-TestH5R.txt
new file mode 100644
index 0000000..150df54
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5R.txt
@@ -0,0 +1,23 @@
+JUnit version 4.11
+.testH5Rgetregion_Nullreference
+.testH5Rget_obj_type2_Invalidreftype
+.testH5Rdereference
+.testH5Rget_name
+.testH5Rcreate_Invalidreftype
+.testH5Rget_name_NULLreference
+.testH5Rget_region
+.testH5Rdereference_Nullreference
+.testH5Rcreate_refobj
+.testH5Rcreate_Invalidspace_id
+.testH5Rdereference_Invalidreference
+.testH5Rgetregion_Badreferencetype
+.testH5Rcreate_regionrefobj
+.testH5Rget_name_Invalidreftype
+.testH5Rgetregion_Invalidreftype
+.testH5Rget_obj_type2
+.testH5Rcreate_InvalidObjectName
+
+Time: XXXX
+
+OK (17 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5S.txt b/java/test/testfiles/JUnit-TestH5S.txt
new file mode 100644
index 0000000..6bde487
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5S.txt
@@ -0,0 +1,29 @@
+JUnit version 4.11
+.testH5Sget_select_npoints
+.testH5Sget_select_type
+.testH5Sset_extent_simple
+.testH5Sget_select_hyper
+.testH5Sget_select_valid
+.testH5Sget_select_elem_pointlist
+.testH5Sset_extent_none
+.testH5Sencode_decode_scalar_dataspace
+.testH5Soffset_simple
+.testH5Scopy
+.testH5Sget_simple_extent_ndims
+.testH5Sextent_equal
+.testH5Sget_simple_extent_dims
+.testH5Sget_simple_extent_type
+.testH5Shyper_regular
+.testH5Sget_select_bounds
+.testH5Sget_select_elem_pointlist_invalid
+.testH5Sget_simple_extent_npoints
+.testH5Sextent_copy
+.testH5Sencode_decode_null_dataspace
+.testH5Sis_simple
+.testH5Sget_simple_extent_dims_null
+.testH5Sselect_none
+
+Time: XXXX
+
+OK (23 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Sbasic.txt b/java/test/testfiles/JUnit-TestH5Sbasic.txt
new file mode 100644
index 0000000..707878e
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Sbasic.txt
@@ -0,0 +1,22 @@
+JUnit version 4.11
+.testH5Sclose_invalid
+.testH5Screate_simple_max_default
+.testH5Screate_simple_dims_null
+.testH5Sdecode_null
+.testH5Screate_simple_dims_exceed
+.testH5Screate_simple_unlimted_1d
+.testH5Screate_simple_dims_invalid
+.testH5Screate_scalar
+.testH5Screate_simple
+.testH5Screate_simple_rank_invalid
+.testH5Sget_simple_extent_type_invalid
+.testH5Sencode_invalid
+.testH5Screate_null
+.testH5Screate_simple_extent
+.testH5Screate_invalid
+.testH5Screate_simple_unlimted
+
+Time: XXXX
+
+OK (16 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5T.txt b/java/test/testfiles/JUnit-TestH5T.txt
new file mode 100644
index 0000000..446adcb
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5T.txt
@@ -0,0 +1,19 @@
+JUnit version 4.11
+.testH5Tvlen_create
+.testH5Tenum_create_functions
+.testH5Tenum_functions
+.testH5Tget_class
+.testH5Tget_array_ndims
+.testH5Tequal_type_error
+.testH5Tget_array_dims
+.testH5Tset_size
+.testH5Tis_variable_str
+.testH5Tcompound_functions
+.testH5Tget_size
+.testH5Tarray_create
+.testH5Topaque_functions
+
+Time: XXXX
+
+OK (13 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Tbasic.txt b/java/test/testfiles/JUnit-TestH5Tbasic.txt
new file mode 100644
index 0000000..131c4f5
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Tbasic.txt
@@ -0,0 +1,11 @@
+JUnit version 4.11
+.testH5Tequal_not
+.testH5Tcopy
+.testH5Tequal
+.testH5Torder_size
+.testH5Tconvert
+
+Time: XXXX
+
+OK (5 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Tparams.txt b/java/test/testfiles/JUnit-TestH5Tparams.txt
new file mode 100644
index 0000000..e61f1e4
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Tparams.txt
@@ -0,0 +1,76 @@
+JUnit version 4.11
+.testH5Tget_member_type_invalid
+.testH5Tenum_insert_null
+.testH5Tget_offset_invalid
+.testH5Tset_precision_invalid
+.testH5Tget_inpad_invalid
+.testH5Tenum_nameof_invalid
+.testH5Tget_member_value_invalid
+.testH5Tenum_nameof_value_null
+.testH5Tcreate_invalid
+.testH5Tget_strpad_invalid
+.testH5Tenum_valueof_invalid
+.testH5Tget_fields_null
+.testH5Topen_null
+.testH5Tpack_invalid
+.testH5Tcommit_null
+.testH5Tinsert_invalid
+.testH5Tenum_valueof_null
+.testH5Tset_norm_invalid
+.testH5Tlock_invalid
+.testH5Tarray_create_invalid
+.testH5Tget_member_value_null
+.testH5Tset_offset_invalid
+.testH5Tget_fields_invalid
+.testH5Tequal_invalid
+.testH5Tget_ebias_long_invalid
+.testH5Tget_cset_invalid
+.testH5Tget_size_invalid
+.testH5Tset_strpad_invalid
+.testH5Tset_ebias_invalid
+.testH5Tget_sign_invalid
+.testH5Tget_member_index_invalid
+.testH5Tget_precision_invalid
+.testH5Tset_fields_invalid
+.testH5Tcopy_invalid
+.testH5Tget_pad_invalid
+.testH5Tset_order_invalid
+.testH5Tget_member_class_invalid
+.testH5Tget_super_invalid
+.testH5Tget_class_invalid
+.testH5Topen_invalid
+.testH5Tget_precision_long_invalid
+.testH5Tget_ebias_invalid
+.testH5Tget_native_type_invalid
+.testH5Tget_fields_length_invalid
+.testH5Tget_norm_invalid
+.testH5Tenum_nameof_invalid_size
+.testH5Tset_pad_invalid
+.testH5Tget_pad_null
+.testH5Tset_tag_null
+.testH5Tget_order_invalid
+.testH5Tcommit_invalid
+.testH5Tget_array_ndims_invalid
+.testH5Tset_tag_invalid
+.testH5Tvlen_create_invalid
+.testH5Tenum_create_invalid
+.testH5Tinsert_null
+.testH5Tset_inpad_invalid
+.testH5Tenum_valueof_name_null
+.testH5Tset_cset_invalid
+.testH5Tclose_invalid
+.testH5Tget_nmembers_invalid
+.testH5Tarray_create_value_null
+.testH5Tset_size_invalid
+.testH5Tflush_invalid
+.testH5Tenum_insert_invalid
+.testH5Tget_array_dims_null
+.testH5Tget_member_index_null
+.testH5Trefresh_invalid
+.testH5Tset_sign_invalid
+.testH5Tenum_insert_name_null
+
+Time: XXXX
+
+OK (70 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Z.txt b/java/test/testfiles/JUnit-TestH5Z.txt
new file mode 100644
index 0000000..63fc227
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Z.txt
@@ -0,0 +1,9 @@
+JUnit version 4.11
+.testH5Zfilter_avail
+.testH5Zunregister_predefined
+.testH5Zget_filter_info
+
+Time: XXXX
+
+OK (3 tests)
+