summaryrefslogtreecommitdiffstats
path: root/java/test
diff options
context:
space:
mode:
Diffstat (limited to 'java/test')
-rw-r--r--java/test/CMakeLists.txt167
-rw-r--r--java/test/Makefile.am11
-rw-r--r--java/test/TestAll.java9
-rw-r--r--java/test/TestH5.java398
-rw-r--r--java/test/TestH5A.java117
-rw-r--r--java/test/TestH5Arw.java449
-rw-r--r--java/test/TestH5D.java45
-rw-r--r--java/test/TestH5Dparams.java14
-rw-r--r--java/test/TestH5Dplist.java11
-rw-r--r--java/test/TestH5Drw.java378
-rw-r--r--java/test/TestH5E.java28
-rw-r--r--java/test/TestH5Edefault.java72
-rw-r--r--java/test/TestH5Eparams.java3
-rw-r--r--java/test/TestH5Eregister.java3
-rw-r--r--java/test/TestH5F.java21
-rw-r--r--java/test/TestH5Fbasic.java19
-rw-r--r--java/test/TestH5Fparams.java15
-rw-r--r--java/test/TestH5Fswmr.java15
-rw-r--r--java/test/TestH5G.java52
-rw-r--r--java/test/TestH5Gbasic.java19
-rw-r--r--java/test/TestH5Giterate.java14
-rw-r--r--java/test/TestH5Lbasic.java58
-rw-r--r--java/test/TestH5Lcreate.java55
-rw-r--r--java/test/TestH5Lparams.java3
-rw-r--r--java/test/TestH5Obasic.java353
-rw-r--r--java/test/TestH5Ocopy.java337
-rw-r--r--java/test/TestH5OcopyOld.java397
-rw-r--r--java/test/TestH5Ocreate.java49
-rw-r--r--java/test/TestH5Oparams.java28
-rw-r--r--java/test/TestH5P.java37
-rw-r--r--java/test/TestH5PData.java13
-rw-r--r--java/test/TestH5PL.java13
-rw-r--r--java/test/TestH5Pfapl.java73
-rw-r--r--java/test/TestH5Pfaplhdfs.java13
-rw-r--r--java/test/TestH5Pfapls3.java13
-rw-r--r--java/test/TestH5Plist.java45
-rw-r--r--java/test/TestH5Pvirtual.java29
-rw-r--r--java/test/TestH5R.java400
-rw-r--r--java/test/TestH5Rref.java563
-rw-r--r--java/test/TestH5S.java25
-rw-r--r--java/test/TestH5Sbasic.java155
-rw-r--r--java/test/TestH5T.java25
-rw-r--r--java/test/TestH5Tbasic.java15
-rw-r--r--java/test/TestH5Tparams.java14
-rw-r--r--java/test/TestH5VL.java77
-rw-r--r--java/test/TestH5Z.java3
-rw-r--r--java/test/junit.sh.in199
-rw-r--r--java/test/testfiles/JUnit-TestH5.txt7
-rw-r--r--java/test/testfiles/JUnit-TestH5Arw.txt13
-rw-r--r--java/test/testfiles/JUnit-TestH5Dparams.txt4
-rw-r--r--java/test/testfiles/JUnit-TestH5Drw.txt13
-rw-r--r--java/test/testfiles/JUnit-TestH5Edefault.txt48
-rw-r--r--java/test/testfiles/JUnit-TestH5Obasic.txt20
-rw-r--r--java/test/testfiles/JUnit-TestH5Ocopy.txt3
-rw-r--r--java/test/testfiles/JUnit-TestH5OcopyOld.txt10
-rw-r--r--java/test/testfiles/JUnit-TestH5Oparams.txt7
-rw-r--r--java/test/testfiles/JUnit-TestH5Pfapl.txt3
-rw-r--r--java/test/testfiles/JUnit-TestH5R.txt41
-rw-r--r--java/test/testfiles/JUnit-TestH5Rref.txt10
-rw-r--r--java/test/testfiles/JUnit-TestH5Sbasic.txt16
-rw-r--r--java/test/testfiles/JUnit-TestH5Tparams.txt4
-rw-r--r--java/test/testfiles/JUnit-TestH5VL.txt4
62 files changed, 4083 insertions, 972 deletions
diff --git a/java/test/CMakeLists.txt b/java/test/CMakeLists.txt
index dfb6e72..b1186a4 100644
--- a/java/test/CMakeLists.txt
+++ b/java/test/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.10)
+cmake_minimum_required (VERSION 3.12)
project (HDF5_JAVA_TEST Java)
set (CMAKE_VERBOSE_MAKEFILE 1)
@@ -23,19 +23,23 @@ set (HDF5_JAVA_TEST_SOURCES
TestH5Dparams
TestH5D
TestH5Dplist
+ TestH5Drw
TestH5Lparams
TestH5Lbasic
TestH5Lcreate
TestH5R
+ TestH5Rref
TestH5P
TestH5PData
TestH5Pfapl
TestH5Pvirtual
TestH5Plist
TestH5A
+ TestH5Arw
TestH5Oparams
TestH5Obasic
TestH5Ocreate
+ TestH5OcopyOld
TestH5Ocopy
TestH5PL
TestH5VL
@@ -93,10 +97,16 @@ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_
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")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/trefer_reg.h5" "${PROJECT_BINARY_DIR}/trefer_reg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/trefer_attr.h5" "${PROJECT_BINARY_DIR}/trefer_attr.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tdatareg.h5" "${PROJECT_BINARY_DIR}/tdatareg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tattrreg.h5" "${PROJECT_BINARY_DIR}/tattrreg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tintsattrs.h5" "${PROJECT_BINARY_DIR}/tintsattrs.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tfloatsattrs.h5" "${PROJECT_BINARY_DIR}/tfloatsattrs.h5" "${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 OR MINGW)
+if (WIN32)
set (CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
else ()
set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":")
@@ -104,40 +114,125 @@ endif ()
get_property (target_name TARGET ${HDF5_JAVA_JNI_LIB_TARGET} PROPERTY OUTPUT_NAME)
set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=${target_name}$<$<CONFIG:Debug>:${CMAKE_DEBUG_POSTFIX}>;")
+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 ()
-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}")
+if (HDF5_TEST_JAVA AND HDF5_TEST_SERIAL)
+ foreach (test_file ${HDF5_JAVA_TEST_SOURCES})
+ set (TEST_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=${TEST_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 ()
- 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 ()
+
+ ##############################################################################
+ ##############################################################################
+ ### V O L T E S T S ###
+ ##############################################################################
+ ##############################################################################
+
+ macro (DO_VOL_TEST voltest volname volinfo volclasspath)
+ #message(STATUS "${voltest}-${volname} with ${volinfo}")
+ add_test (
+ NAME JUnit-VOL-${volname}-${voltest}-clearall-objects
+ COMMAND ${CMAKE_COMMAND} -E remove
+ JUnit-VOL-${volname}-${voltest}.out
+ JUnit-VOL-${volname}-${voltest}.out.err
+ WORKING_DIRECTORY ${HDF5_BINARY_DIR}/java/test/${volname}
+ )
+ add_test (NAME JUnit-VOL-${volname}-${voltest}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}"
+ -D "TEST_CLASSPATH:STRING=${volclasspath}"
+ -D "TEST_ARGS:STRING=${CMD_ARGS}-ea;org.junit.runner.JUnitCore"
+ -D "TEST_PROGRAM=test.${voltest}"
+ -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}"
+ -D "TEST_FOLDER=${HDF5_BINARY_DIR}/java/test/${volname}"
+ -D "TEST_VOL:STRING=${volinfo}"
+ -D "TEST_OUTPUT=JUnit-VOL-${volname}-${voltest}.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-${volname}-${voltest}.txt"
+ -P "${HDF_RESOURCES_DIR}/jrunTest.cmake"
+ )
+ set_tests_properties (JUnit-VOL-${volname}-${voltest} PROPERTIES
+ ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir2"
+ DEPENDS "JUnit-VOL-${volname}-${voltest}-clearall-objects"
+ WORKING_DIRECTORY ${HDF5_BINARY_DIR}/java/test/${volname}
+ )
+ endmacro ()
+
+ if (HDF5_TEST_PASSTHROUGH_VOL)
+ set (VOL_LIST
+ vol_native
+ vol_pass_through1
+ vol_pass_through2
+ )
+
+ # native VOL = 0
+ # pass-through VOL = 1
+ set (vol_native native)
+ set (vol_pass_through1 "pass_through under_vol=0\;under_info={}")
+ set (vol_pass_through2 "pass_through under_vol=1\;under_info={under_vol=0\;under_info={}}")
+
+ foreach (voltest ${VOL_LIST})
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${voltest}")
+ foreach (h5_file ${HDF5_JAVA_TEST_SOURCES})
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/testfiles/JUnit-${h5_file}.txt" "${PROJECT_BINARY_DIR}/${voltest}/JUnit-${h5_file}.txt" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ endforeach ()
+
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/${voltest}/h5ex_g_iterate.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/${voltest}/h5ex_g_iterateL1.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/${voltest}/h5ex_g_iterateL2.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/${voltest}/h5ex_g_iterateO1.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/${voltest}/h5ex_g_iterateO2.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/trefer_reg.h5" "${PROJECT_BINARY_DIR}/${voltest}/trefer_reg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/trefer_attr.h5" "${PROJECT_BINARY_DIR}/${voltest}/trefer_attr.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tdatareg.h5" "${PROJECT_BINARY_DIR}/${voltest}/tdatareg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tattrreg.h5" "${PROJECT_BINARY_DIR}/${voltest}/tattrreg.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tintsattrs.h5" "${PROJECT_BINARY_DIR}/${voltest}/tintsattrs.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+ HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tfloatsattrs.h5" "${PROJECT_BINARY_DIR}/${voltest}/tfloatsattrs.h5" "${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files")
+
+ add_custom_target(${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files ALL COMMENT "Copying files needed by ${HDF5_JAVA_TEST_LIB_TARGET} tests" DEPENDS ${${HDF5_JAVA_TEST_LIB_TARGET}_${voltest}_files_list})
+
+ foreach (volinfo IN LISTS ${voltest})
+ foreach (h5_file ${HDF5_JAVA_TEST_SOURCES})
+ set (VOL_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${HDF5_JAVA_TEST_LIB_TARGET}_${h5_file}_JAR_FILE}")
+ DO_VOL_TEST (${h5_file} ${voltest} "${volinfo}" "${VOL_JAVA_CLASSPATH}")
+ endforeach ()
+ endforeach ()
+ endforeach ()
+ endif ()
+endif ()
diff --git a/java/test/Makefile.am b/java/test/Makefile.am
index c375938..4a6785d 100644
--- a/java/test/Makefile.am
+++ b/java/test/Makefile.am
@@ -1,12 +1,11 @@
#
# 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.
+# distribution tree, or in https://www.hdfgroup.org/licenses.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
##
@@ -28,13 +27,13 @@ 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
+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.33.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.33.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)test.jar
AM_JAVACFLAGS = $(H5_JAVACFLAGS) -deprecation
-TESTPACKAGE =
+TESTPACKAGE =
noinst_JAVA = \
TestH5.java \
@@ -53,11 +52,13 @@ noinst_JAVA = \
TestH5T.java \
TestH5Dparams.java \
TestH5D.java \
+ TestH5Drw.java \
TestH5Dplist.java \
TestH5Lparams.java \
TestH5Lbasic.java \
TestH5Lcreate.java \
TestH5R.java \
+ TestH5Rref.java \
TestH5P.java \
TestH5PData.java \
TestH5Pfapl.java \
@@ -66,9 +67,11 @@ noinst_JAVA = \
TestH5Pvirtual.java \
TestH5Plist.java \
TestH5A.java \
+ TestH5Arw.java \
TestH5Oparams.java \
TestH5Obasic.java \
TestH5Ocreate.java \
+ TestH5OcopyOld.java \
TestH5Ocopy.java \
TestH5PL.java \
TestH5VL.java \
diff --git a/java/test/TestAll.java b/java/test/TestAll.java
index c7c206c..16414e4 100644
--- a/java/test/TestAll.java
+++ b/java/test/TestAll.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -23,12 +22,12 @@ import org.junit.runners.Suite;
TestH5Gbasic.class, TestH5G.class, TestH5Giterate.class,
TestH5Sbasic.class, TestH5S.class,
TestH5Tparams.class, TestH5Tbasic.class, TestH5T.class,
- TestH5Dparams.class, TestH5D.class, TestH5Dplist.class,
+ TestH5Dparams.class, TestH5D.class, TestH5Dplist.class, TestH5Drw.class,
TestH5Lparams.class, TestH5Lbasic.class, TestH5Lcreate.class,
- TestH5R.class,
+ TestH5R.class, TestH5Rref.class,
TestH5P.class, TestH5PData.class, TestH5Pfapl.class, TestH5Pvirtual.class, TestH5Plist.class,
TestH5Pfapls3.class, TestH5Pfaplhdfs.class,
- TestH5A.class,
+ TestH5A.class, TestH5Arw.class,
TestH5Oparams.class, TestH5Obasic.class, TestH5Ocopy.class, TestH5Ocreate.class,
TestH5PL.class, TestH5Z.class
})
diff --git a/java/test/TestH5.java b/java/test/TestH5.java
index d63ef01..168f28a 100644
--- a/java/test/TestH5.java
+++ b/java/test/TestH5.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -22,12 +21,18 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.io.Reader;
+import java.io.StreamTokenizer;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.exceptions.HDF5Exception;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
import org.junit.After;
import org.junit.Before;
@@ -42,20 +47,141 @@ import org.junit.rules.TestName;
*/
public class TestH5 {
@Rule public TestName testname = new TestName();
- @Before
- public void showTestName() {
- System.out.print(testname.getMethodName());
+ private static final String H5_FILE = "testData.h5";
+ private static final String EXPORT_FILE = "testExport.txt";
+ private static final String H5_REGION_FILE = "trefer_reg.h5";
+ private static final String EXPORT_REGION_FILE = "testExportReg.txt";
+ private static final String H5_ATTR_FILE = "trefer_attr.h5";
+ private static final String EXPORT_ATTR_FILE = "testExportAttr.txt";
+ private static final String H5_DREG_FILE = "tdatareg.h5";
+ private static final String EXPORT_DREG_FILE = "testExportDReg.txt";
+ private static final String H5_AREG_FILE = "tattrreg.h5";
+ private static final String EXPORT_AREG_FILE = "testExportAReg.txt";
+ private static final int DIM_X = 4;
+ private static final int DIM_Y = 6;
+ private static final int DIM_BLKS = 36;
+ private static final int DIM_PNTS = 10;
+ private static final int DIM_ATTR = 12;
+ private static final int RANK = 2;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long[] H5dims = { DIM_X, DIM_Y };
+
+ private final void _deleteFile(String filename) {
+ File file = null;
+ try {
+ file = new File(filename);
+ }
+ catch (Throwable err) {}
+
+ if (file.exists()) {
+ try {file.delete();} catch (SecurityException e) {}
+ }
+ }
+
+ private final long _createDataset(long fid, long dsid, String name, long dapl) {
+ long did = HDF5Constants.H5I_INVALID_HID;
+ try {
+ did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32LE, dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Dcreate: " + err);
+ }
+ assertTrue("TestH5._createDataset: ", did > 0);
+
+ return did;
+ }
+
+ private final void _createH5File() {
+ try {
+ H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ H5dsid = H5.H5Screate_simple(2, H5dims, null);
+ H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Pfapl.createH5file: " + err);
+ }
+ assertTrue("TestH5.createH5file: H5.H5Fcreate: ", H5fid > 0);
+ assertTrue("TestH5.createH5file: H5.H5Screate_simple: ", H5dsid > 0);
+ assertTrue("TestH5.createH5file: _createDataset: ", H5did > 0);
+
+ try {
+ H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ }
+ }
+
+ private final void _closeH5File() {
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5dsid > 0)
+ try {H5.H5Sclose(H5dsid);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ H5fid = HDF5Constants.H5I_INVALID_HID;
+ H5dsid = HDF5Constants.H5I_INVALID_HID;
+ H5did = HDF5Constants.H5I_INVALID_HID;
+ }
+
+ public void _openH5File(String filename, String dsetname) {
+ try {
+ H5fid = H5.H5Fopen(filename,
+ HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5._openH5file: " + err);
+ }
+ assertTrue("TestH5._openH5file: H5.H5Fopen: ", H5fid >= 0);
+ try {
+ H5did = H5.H5Dopen(H5fid, dsetname, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5._openH5file: " + err);
+ }
+ assertTrue("TestH5._openH5file: H5.H5Dopen: ", H5did >= 0);
+ try {
+ H5dsid = H5.H5Dget_space(H5did);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5._openH5file: " + err);
+ }
+ assertTrue("TestH5._openH5file: H5.H5Screate_simple: ",H5dsid > 0);
+ }
+
+ public final void _deleteH5file() {
+ _closeH5File();
+ _deleteFile(H5_FILE);
}
+
@After
- public void nextTestName() {
+ public void closeH5File() throws HDF5LibraryException {
+ _closeH5File();
+ assertTrue("H5 open ids is 0", H5.getOpenIDCount()==0);
System.out.println();
}
+ @Before
+ public void verifyCount()
+ throws NullPointerException, HDF5Exception {
+ assertTrue("H5 open ids is 0", H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+ }
+
/**
* Test method for {@link hdf.hdf5lib.H5#J2C(int)}.
* NOTE:
- * H5F_ACC_DEBUG no longer prints any special debug info. The symbol is
- * being retained and will be listed as deprecated in HDF5 1.10.0.
+ * H5F_ACC_DEBUG no longer prints any special debug info. Even though the symbol is
+ * being retained hdf java does not access the symbol.
*/
@Test
public void testJ2C() {
@@ -63,7 +189,6 @@ public class TestH5 {
int H5F_ACC_RDWR = 0x0001;
int H5F_ACC_TRUNC = 0x0002;
int H5F_ACC_EXCL = 0x0004;
- int H5F_ACC_DEBUG = 0x0000; // HDFFV-1074 was 0x0008;
int H5F_ACC_CREAT = 0x0010;
int H5F_OBJ_FILE = 0x0001;
int H5F_OBJ_DATASET = 0x0002;
@@ -75,13 +200,13 @@ public class TestH5 {
int H5F_OBJ_LOCAL = 0x0020;
int definedValues[] = { H5F_ACC_RDONLY, H5F_ACC_RDWR, H5F_ACC_TRUNC,
- H5F_ACC_EXCL, H5F_ACC_DEBUG, H5F_ACC_CREAT, H5F_OBJ_FILE,
+ H5F_ACC_EXCL, H5F_ACC_CREAT, H5F_OBJ_FILE,
H5F_OBJ_DATASET, H5F_OBJ_GROUP, H5F_OBJ_DATATYPE, H5F_OBJ_ATTR,
H5F_OBJ_ALL, H5F_OBJ_LOCAL };
int j2cValues[] = { HDF5Constants.H5F_ACC_RDONLY,
HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5F_ACC_TRUNC,
- HDF5Constants.H5F_ACC_EXCL, H5F_ACC_DEBUG,
+ HDF5Constants.H5F_ACC_EXCL,
HDF5Constants.H5F_ACC_CREAT, HDF5Constants.H5F_OBJ_FILE,
HDF5Constants.H5F_OBJ_DATASET, HDF5Constants.H5F_OBJ_GROUP,
HDF5Constants.H5F_OBJ_DATATYPE, HDF5Constants.H5F_OBJ_ATTR,
@@ -162,7 +287,7 @@ public class TestH5 {
*/
@Test
public void testH5get_libversion() {
- int libversion[] = { 1, 11, 6 };
+ int libversion[] = { 1, 13, 2 };
try {
H5.H5get_libversion(libversion);
@@ -177,7 +302,7 @@ public class TestH5 {
for (int i = 0; i < 2; i++)
assertFalse(libversion[i] == 0);
}
-
+
/**
* Test method for {@link hdf.hdf5lib.H5#H5get_libversion(int[])}
* to ensure a null libversion parameter causes the function to
@@ -185,14 +310,14 @@ public class TestH5 {
*/
@Test
public void testH5get_libversion_null_param() {
- try {
- H5.H5get_libversion(null);
- }
- catch (Throwable err) {
- return;
- }
-
- fail("H5.H5get_libversion: succeeded with a null libversion parameter!");
+ try {
+ H5.H5get_libversion(null);
+ }
+ catch (Throwable err) {
+ return;
+ }
+
+ fail("H5.H5get_libversion: succeeded with a null libversion parameter!");
}
/**
@@ -201,7 +326,7 @@ public class TestH5 {
*/
@Test
public void testH5check_version() {
- int majnum = 1, minnum = 11, relnum = 6;
+ int majnum = 1, minnum = 13, relnum = 2;
try {
H5.H5check_version(majnum, minnum, relnum);
@@ -269,4 +394,233 @@ public class TestH5 {
fail("Exception thrown during test: " + ex.toString());
}
}
+
+ @Test
+ public void testH5export_dataset() {
+ int[][] dset_data = new int[DIM_X][DIM_Y];
+ int[][] dset_indata = new int[DIM_X][DIM_Y];
+ int FILLVAL = 99;
+
+ _createH5File();
+
+ // Initialize the dataset.
+ for (int indx = 0; indx < DIM_X; indx++)
+ for (int jndx = 0; jndx < DIM_Y; jndx++)
+ dset_data[indx][jndx] = FILLVAL;
+
+ try {
+ if (H5did >= 0)
+ H5.H5Dwrite(H5did, HDF5Constants.H5T_STD_I32LE,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ _closeH5File();
+
+ _openH5File(H5_FILE, "/dset");
+
+ try {
+ H5.H5export_dataset(EXPORT_FILE, H5fid, "/dset", 99);
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5export_dataset failed: " + err);
+ }
+
+ File file = new File(EXPORT_FILE);
+
+ try {
+ Reader reader = new FileReader(EXPORT_FILE);
+ StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
+ int indx = 0;
+ int jndx = 0;
+ while(streamTokenizer.nextToken() != StreamTokenizer.TT_EOF){
+ if(streamTokenizer.ttype == StreamTokenizer.TT_NUMBER) {
+ dset_indata[indx][jndx] = (int)streamTokenizer.nval;
+ jndx++;
+ if (jndx >= DIM_Y) {
+ jndx = 0;
+ indx++;
+ }
+ }
+ }
+ reader.close();
+ }
+ catch (IOException err) {
+ err.printStackTrace();
+ fail("read file failed: " + err);
+ }
+ for(int row = 0; row < DIM_X; row++)
+ for(int col = 0; col < DIM_Y; col++) {
+ assertTrue("H5export_dataset: <"+row+","+col+">"+dset_indata[row][col]+"=99", dset_indata[row][col]==99);
+ }
+ _deleteH5file();
+ }
+
+ @Test
+ public void testH5export_region() {
+ int[] dset_data_expect = {66, 69, 72, 75, 78, 81, 96, 99, 102, 105, 108,
+ 111, 126, 129, 132, 135, 138, 141, 156, 159, 162, 165, 168, 171,
+ 186, 189, 192, 195, 198, 201, 216, 219, 222, 225, 228, 231,
+ 207, 66, 252, 48, 84, 96, 12, 14, 213, 99};
+ int[] dset_indata = new int[DIM_BLKS+DIM_PNTS];
+ String objName = "/Dataset1";
+
+ _openH5File(H5_REGION_FILE, objName);
+
+ try {
+ H5.H5export_dataset(EXPORT_REGION_FILE, H5fid, objName, 99);
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5export_dataset failed: " + err);
+ }
+
+ File file = new File(EXPORT_REGION_FILE);
+
+ try {
+ Reader reader = new FileReader(EXPORT_REGION_FILE);
+ StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
+ int indx = 0;
+ while(streamTokenizer.nextToken() != StreamTokenizer.TT_EOF){
+ if(streamTokenizer.ttype == StreamTokenizer.TT_NUMBER) {
+ dset_indata[indx] = (int)streamTokenizer.nval;
+ indx++;
+ }
+ }
+ reader.close();
+ }
+ catch (IOException err) {
+ err.printStackTrace();
+ fail("read file failed: " + err);
+ }
+ for(int row = 0; row < DIM_X; row++)
+ assertTrue("testH5export_region: <"+row+">"+dset_indata[row], dset_indata[row]==dset_data_expect[row]);
+ }
+
+ @Test
+ public void testH5export_attribute() {
+ int[] dset_data_expect = {0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11};
+ int[] dset_indata = new int[DIM_ATTR];
+ String objName = "/Dataset3";
+
+ _openH5File(H5_ATTR_FILE, objName);
+
+ try {
+ H5.H5export_dataset(EXPORT_ATTR_FILE, H5did, objName, 99);
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5export_dataset failed: " + err);
+ }
+
+ File file = new File(EXPORT_ATTR_FILE);
+
+ try {
+ Reader reader = new FileReader(EXPORT_ATTR_FILE);
+ StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
+ int indx = 0;
+ int jndx = 0;
+ while(streamTokenizer.nextToken() != StreamTokenizer.TT_EOF){
+ if(streamTokenizer.ttype == StreamTokenizer.TT_NUMBER) {
+ dset_indata[indx] = (int)streamTokenizer.nval;
+ indx++;
+ }
+ }
+ reader.close();
+ }
+ catch (IOException err) {
+ err.printStackTrace();
+ fail("read file failed: " + err);
+ }
+ for(int row = 0; row < DIM_X; row++)
+ assertTrue("testH5export_attribute: <"+row+">"+dset_indata[row], dset_indata[row]==dset_data_expect[row]);
+ }
+
+ @Test
+ public void testH5export_regdataset() {
+ int[] dset_data_expect = {66, 69, 72, 75, 78, 81, 96, 99, 102, 105, 108,
+ 111, 126, 129, 132, 135, 138, 141, 156, 159, 162, 165, 168, 171,
+ 186, 189, 192, 195, 198, 201, 216, 219, 222, 225, 228, 231,
+ 207, 66, 252, 48, 84, 96, 12, 14, 213, 99};
+ int[] dset_indata = new int[DIM_BLKS+DIM_PNTS];
+ String objName = "/Dataset1";
+
+ _openH5File(H5_DREG_FILE, objName);
+
+ try {
+ H5.H5export_dataset(EXPORT_DREG_FILE, H5fid, objName, 99);
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5export_dataset failed: " + err);
+ }
+
+ File file = new File(EXPORT_DREG_FILE);
+
+ try {
+ Reader reader = new FileReader(EXPORT_DREG_FILE);
+ StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
+ int indx = 0;
+ while(streamTokenizer.nextToken() != StreamTokenizer.TT_EOF){
+ if(streamTokenizer.ttype == StreamTokenizer.TT_NUMBER) {
+ dset_indata[indx] = (int)streamTokenizer.nval;
+ indx++;
+ }
+ }
+ reader.close();
+ }
+ catch (IOException err) {
+ err.printStackTrace();
+ fail("read file failed: " + err);
+ }
+ for(int row = 0; row < DIM_X; row++)
+ assertTrue("testH5export_regdataset: <"+row+">"+dset_indata[row], dset_indata[row]==dset_data_expect[row]);
+ }
+
+ @Test
+ public void testH5export_attrdataset() {
+ int[] dset_data_expect = {66, 69, 72, 75, 78, 81, 96, 99, 102, 105, 108,
+ 111, 126, 129, 132, 135, 138, 141, 156, 159, 162, 165, 168, 171,
+ 186, 189, 192, 195, 198, 201, 216, 219, 222, 225, 228, 231,
+ 207, 66, 252, 48, 84, 96, 12, 14, 213, 99};
+ int[] dset_indata = new int[DIM_BLKS+DIM_PNTS];
+ String dsetName = "/Dataset1";
+ String objName = "Attribute1";
+
+ _openH5File(H5_AREG_FILE, dsetName);
+
+ try {
+ H5.H5export_attribute(EXPORT_AREG_FILE, H5did, objName, 99);
+ }
+ catch (HDF5LibraryException err) {
+ err.printStackTrace();
+ fail("H5export_attribute failed: " + err);
+ }
+
+ File file = new File(EXPORT_AREG_FILE);
+
+ try {
+ Reader reader = new FileReader(EXPORT_AREG_FILE);
+ StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
+ int indx = 0;
+ int jndx = 0;
+ while(streamTokenizer.nextToken() != StreamTokenizer.TT_EOF){
+ if(streamTokenizer.ttype == StreamTokenizer.TT_NUMBER) {
+ dset_indata[indx] = (int)streamTokenizer.nval;
+ indx++;
+ }
+ }
+ reader.close();
+ }
+ catch (IOException err) {
+ err.printStackTrace();
+ fail("read file failed: " + err);
+ }
+ for(int row = 0; row < DIM_X; row++)
+ assertTrue("testH5export_attrdataset: <"+row+">"+dset_indata[row], dset_indata[row]==dset_data_expect[row]);
+ }
}
diff --git a/java/test/TestH5A.java b/java/test/TestH5A.java
index 7d336e1..f2134d2 100644
--- a/java/test/TestH5A.java
+++ b/java/test/TestH5A.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -43,14 +42,14 @@ public class TestH5A {
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;
- long H5dsid = -1;
- long H5did = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
- long type_id = -1;
- long space_id = -1;
- long lapl_id = -1;
- long aapl_id = -1;
+ long type_id = HDF5Constants.H5I_INVALID_HID;
+ long space_id = HDF5Constants.H5I_INVALID_HID;
+ long lapl_id = HDF5Constants.H5I_INVALID_HID;
+ long aapl_id = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -61,7 +60,7 @@ public class TestH5A {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32BE, dsid,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
@@ -132,7 +131,7 @@ public class TestH5A {
@Test
public void testH5Acreate2() {
- long attr_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
try {
attr_id = H5.H5Acreate(H5did, "dset", type_id, space_id, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
assertTrue("testH5Acreate2", attr_id >= 0);
@@ -160,8 +159,8 @@ public class TestH5A {
@Test
public void testH5Aopen() {
String attr_name = "dset";
- long attribute_id = -1;
- long attr_id = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
try {
attr_id = H5.H5Acreate(H5did, attr_name, type_id, space_id,
@@ -197,8 +196,8 @@ public class TestH5A {
int idx_type = HDF5Constants.H5_INDEX_CRT_ORDER;
int order = HDF5Constants.H5_ITER_INC;
long n = 0;
- long attr_id = -1;
- long attribute_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
try {
attr_id = H5.H5Acreate(H5did, "file", type_id, space_id,
@@ -256,7 +255,7 @@ public class TestH5A {
public void testH5Acreate_by_name() {
String obj_name = ".";
String attr_name = "DATASET";
- long attribute_id = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
boolean bool_val = false;
try {
@@ -288,7 +287,7 @@ public class TestH5A {
long loc_id = H5fid;
String old_attr_name = "old";
String new_attr_name = "new";
- long attr_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
int ret_val = -1;
boolean bool_val = false;
@@ -326,7 +325,7 @@ public class TestH5A {
String obj_name = ".";
String old_attr_name = "old";
String new_attr_name = "new";
- long attr_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
int ret_val = -1;
boolean bool_val = false;
@@ -368,7 +367,7 @@ public class TestH5A {
String obj_name = ".";
String attr_name = "DATASET1";
String ret_name = null;
- long attribute_id = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
try {
attribute_id = H5.H5Acreate_by_name(H5fid, obj_name, attr_name,
@@ -398,8 +397,8 @@ public class TestH5A {
int idx_type = HDF5Constants.H5_INDEX_NAME;
int order = HDF5Constants.H5_ITER_INC;
int n = 0;
- long attr1_id = -1;
- long attr2_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
try {
attr1_id = H5.H5Acreate_by_name(loc_id, obj_name, attr_name,
@@ -435,8 +434,8 @@ public class TestH5A {
@Test
public void testH5Aget_storage_size() {
- long attr_id = -1;
- long attr_size = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
+ long attr_size = HDF5Constants.H5I_INVALID_HID;
try {
attr_id = H5.H5Acreate(H5did, "dset", type_id, space_id,
@@ -458,8 +457,8 @@ public class TestH5A {
@Test
public void testH5Aget_info() {
H5A_info_t attr_info = null;
- long attribute_id = -1;
- long attr_id = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
try {
attr_id = H5.H5Acreate(H5did, "dset", type_id, space_id,
@@ -490,8 +489,8 @@ public class TestH5A {
@Test
public void testH5Aget_info1() {
H5A_info_t attr_info = null;
- long attribute_id = -1;
- long attr_id = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
int order = HDF5Constants.H5_ITER_INC;
try {
@@ -526,8 +525,8 @@ public class TestH5A {
@Test
public void testH5Aget_info_by_idx() {
- long attr_id = -1;
- long attr2_id = -1;;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;;
H5A_info_t attr_info = null;
try {
@@ -582,7 +581,7 @@ public class TestH5A {
@Test
public void testH5Aget_info_by_name() {
- long attr_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
H5A_info_t attr_info = null;
String obj_name = ".";
String attr_name = "DATASET";
@@ -607,7 +606,7 @@ public class TestH5A {
@Test
public void testH5Adelete_by_name() {
- long attr_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
int ret_val = -1;
boolean bool_val = false;
boolean exists = false;
@@ -650,8 +649,8 @@ public class TestH5A {
@Test
public void testH5Aexists() {
boolean exists = false;
- long attr_id = -1;
- long attribute_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
try {
exists = H5.H5Aexists(H5fid, "None");
@@ -689,10 +688,10 @@ public class TestH5A {
@Test
public void testH5Adelete_by_idx_order() {
boolean exists = false;
- long attr1_id = -1;
- long attr2_id = -1;
- long attr3_id = -1;
- long attr4_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
+ long attr3_id = HDF5Constants.H5I_INVALID_HID;
+ long attr4_id = HDF5Constants.H5I_INVALID_HID;
try {
attr1_id = H5.H5Acreate_by_name(H5fid, ".", "attribute1",
@@ -731,9 +730,9 @@ public class TestH5A {
@Test
public void testH5Adelete_by_idx_name1() {
boolean exists = false;
- long attr1_id = -1;
- long attr2_id = -1;
- long attr3_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
+ long attr3_id = HDF5Constants.H5I_INVALID_HID;
try {
attr1_id = H5.H5Acreate_by_name(H5fid, ".", "attribute1",
@@ -766,10 +765,10 @@ public class TestH5A {
@Test
public void testH5Adelete_by_idx_name2() {
boolean exists = false;
- long attr1_id = -1;
- long attr2_id = -1;
- long attr3_id = -1;
- long attr4_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
+ long attr3_id = HDF5Constants.H5I_INVALID_HID;
+ long attr4_id = HDF5Constants.H5I_INVALID_HID;
try {
attr1_id = H5.H5Acreate_by_name(H5fid, ".", "attribute1",
@@ -821,8 +820,8 @@ public class TestH5A {
public void testH5Aopen_by_name() {
String obj_name = ".";
String attr_name = "DATASET";
- long attribute_id = -1;
- long aid = -1;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
+ long aid = HDF5Constants.H5I_INVALID_HID;
try {
attribute_id = H5.H5Acreate_by_name(H5fid, obj_name, attr_name,
@@ -856,9 +855,9 @@ public class TestH5A {
@Test
public void testH5Awrite_readVL() {
String attr_name = "VLdata";
- long attr_id = -1;
- long atype_id = -1;
- long aspace_id = -1;
+ long attr_id = HDF5Constants.H5I_INVALID_HID;
+ long atype_id = HDF5Constants.H5I_INVALID_HID;
+ long aspace_id = HDF5Constants.H5I_INVALID_HID;
String[] str_data = { "Parting", "is such", "sweet", "sorrow." };
long[] dims = { str_data.length };
long lsize = 1;
@@ -923,8 +922,8 @@ public class TestH5A {
public void testH5Aget_create_plist() {
String attr_name = "DATASET1";
int char_encoding = 0;
- long plist_id = -1;
- long attribute_id = -1;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
try {
plist_id = H5.H5Pcreate(HDF5Constants.H5P_ATTRIBUTE_CREATE);
@@ -984,10 +983,10 @@ public class TestH5A {
@Test
public void testH5Aiterate() {
- long attr1_id = -1;
- long attr2_id = -1;
- long attr3_id = -1;
- long attr4_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
+ long attr3_id = HDF5Constants.H5I_INVALID_HID;
+ long attr4_id = HDF5Constants.H5I_INVALID_HID;
class idata {
public String attr_name = null;
@@ -1052,10 +1051,10 @@ public class TestH5A {
@Test
public void testH5Aiterate_by_name() {
- long attr1_id = -1;
- long attr2_id = -1;
- long attr3_id = -1;
- long attr4_id = -1;
+ long attr1_id = HDF5Constants.H5I_INVALID_HID;
+ long attr2_id = HDF5Constants.H5I_INVALID_HID;
+ long attr3_id = HDF5Constants.H5I_INVALID_HID;
+ long attr4_id = HDF5Constants.H5I_INVALID_HID;
class idata {
public String attr_name = null;
diff --git a/java/test/TestH5Arw.java b/java/test/TestH5Arw.java
new file mode 100644
index 0000000..8ce2fee
--- /dev/null
+++ b/java/test/TestH5Arw.java
@@ -0,0 +1,449 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * 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.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.HDFNativeData;
+import hdf.hdf5lib.callbacks.H5A_iterate_cb;
+import hdf.hdf5lib.callbacks.H5A_iterate_t;
+import hdf.hdf5lib.exceptions.HDF5Exception;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+
+public class TestH5Arw {
+ @Rule public TestName testname = new TestName();
+ private static final String H5_INTS_FILE = "tintsattrs.h5";
+ private static final String H5_FLTS_FILE = "tfloatsattrs.h5";
+ private static final int DIM_X = 8;
+ private static final int DIM8_Y = 8;
+ private static final int DIM16_Y = 16;
+ private static final int DIM32_Y = 32;
+ private static final int DIM64_Y = 64;
+ private static final int DIM128_Y = 128;
+ private static final String DATASETU08 = "DU08BITS";
+ private static final String DATASETS08 = "DS08BITS";
+ private static final String DATASETU16 = "DU16BITS";
+ private static final String DATASETS16 = "DS16BITS";
+ private static final String DATASETU32 = "DU32BITS";
+ private static final String DATASETS32 = "DS32BITS";
+ private static final String DATASETU64 = "DU64BITS";
+ private static final String DATASETS64 = "DS64BITS";
+ private static final String DATASETF32 = "DS32BITS";
+ private static final String DATASETF64 = "DS64BITS";
+ private static final String DATASETF128 = "DS128BITS";
+ private static final int RANK = 2;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5aid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+
+ private final void _closeH5file() throws HDF5LibraryException {
+ if (H5aid >= 0)
+ try {H5.H5Aclose(H5aid);} catch (Exception ex) {}
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ }
+
+ public void openH5file(String filename, String dsetname) {
+ try {
+ H5fid = H5.H5Fopen(filename,
+ HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Arw._openH5file: " + err);
+ }
+ assertTrue("TestH5Arw._openH5file: H5.H5Fopen: ", H5fid >= 0);
+ try {
+ H5did = H5.H5Dopen(H5fid, dsetname, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Arw._openH5file: " + err);
+ }
+ assertTrue("TestH5Arw._openH5file: H5.H5Dopen: ", H5did >= 0);
+ try {
+ H5aid = H5.H5Aopen(H5did, dsetname, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Arw._openH5file: " + err);
+ }
+ assertTrue("TestH5Arw._openH5file: H5.H5Aopen: ", H5aid >= 0);
+ }
+
+ @After
+ public void closeH5file() throws HDF5LibraryException {
+ if (H5aid >= 0)
+ try {H5.H5Aclose(H5aid);} catch (Exception ex) {}
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ H5fid = HDF5Constants.H5I_INVALID_HID;
+ H5did = HDF5Constants.H5I_INVALID_HID;
+ H5aid = HDF5Constants.H5I_INVALID_HID;
+ System.out.println();
+ }
+
+ @Before
+ public void verifyCount()
+ throws NullPointerException, HDF5Exception {
+ assertTrue("H5 open ids is 0", H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+ }
+
+ @Test
+ public void testH5Aread_8bit_ints() {
+ byte[][] attr_data = new byte[DIM_X][DIM8_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU08);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_8bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_UINT8, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_8bit_ints: H5Aread: " + err);
+ }
+
+ // End access to the attribute and release resources used by it.
+ try {
+ H5.H5Aclose(H5aid);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS08, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_8bit_ints: H5Dopen: " + err);
+ }
+
+ // Open an existing attribute.
+ try {
+ H5aid = H5.H5Aopen(H5did, DATASETS08, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_8bit_ints: H5Aopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_INT8, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_8bit_ints: H5Aread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Aread_16bit_ints() {
+ short[][] attr_data = new short[DIM_X][DIM16_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU16);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_16bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_UINT16, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_16bit_ints: H5Aread: " + err);
+ }
+
+ // End access to the attribute and release resources used by it.
+ try {
+ H5.H5Aclose(H5aid);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS16, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_16bit_ints: H5Dopen: " + err);
+ }
+
+ // Open an existing attribute.
+ try {
+ H5aid = H5.H5Aopen(H5did, DATASETS16, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_16bit_ints: H5Aopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_INT16, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_16bit_ints: H5Aread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Aread_32bit_ints() {
+ int[][] attr_data = new int[DIM_X][DIM16_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU32);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_UINT32, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_ints: H5Aread: " + err);
+ }
+
+ // End access to the attribute and release resources used by it.
+ try {
+ H5.H5Aclose(H5aid);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS32, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_ints: H5Dopen: " + err);
+ }
+
+ // Open an existing attribute.
+ try {
+ H5aid = H5.H5Aopen(H5did, DATASETS32, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_ints: H5Aopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_INT32, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_ints: H5Aread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Aread_64bit_ints() {
+ long[][] attr_data = new long[DIM_X][DIM64_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU64);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_UINT64, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_ints: H5Aread: " + err);
+ }
+
+ // End access to the attribute and release resources used by it.
+ try {
+ H5.H5Aclose(H5aid);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS64, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_ints: H5Dopen: " + err);
+ }
+
+ // Open an existing attribute.
+ try {
+ H5aid = H5.H5Aopen(H5did, DATASETS64, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_ints: H5Aopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_INT64, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_ints: H5Aread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Aread_32bit_floats() {
+ float[][] attr_data = new float[DIM_X][DIM32_Y];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF32);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_FLOAT, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_32bit_floats: H5Aread: " + err);
+ }
+ for (int i = 0; i < DIM_X; i++)
+ assertTrue("testH5Aread_32bit_floats - H5.H5Aread: ", attr_data[i][0] == (32 - i));
+ }
+
+ @Test
+ public void testH5Aread_64bit_floats() {
+ double[][] attr_data = new double[DIM_X][DIM64_Y];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF64);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_DOUBLE, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_64bit_floats: H5Aread: " + err);
+ }
+ for (int i = 0; i < DIM_X; i++)
+ assertTrue("testH5Aread_64bit_floats - H5.H5Aread: ", attr_data[i][0] == (64 - i));
+ }
+
+ @Test
+ public void testH5Aread_128bit_floats() {
+ byte[][][] attr_data = new byte[DIM_X][DIM128_Y][8];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF128);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Aread_128bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Aread(H5aid, HDF5Constants.H5T_NATIVE_LDOUBLE, attr_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Aread_128bit_floats: H5Aread: " + err);
+ }
+ }
+
+}
diff --git a/java/test/TestH5D.java b/java/test/TestH5D.java
index 5d0e405..dac3a9c 100644
--- a/java/test/TestH5D.java
+++ b/java/test/TestH5D.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -39,13 +38,13 @@ public class TestH5D {
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
private static final int RANK = 2;
- long H5fid = -1;
- long H5faplid = -1;
- long H5dsid = -1;
- long H5dtid = -1;
- long H5did = -1;
- long H5did0 = -1;
- long H5dcpl_id = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5faplid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5dtid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long H5did0 = HDF5Constants.H5I_INVALID_HID;
+ long H5dcpl_id = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
// Values for the status of space allocation
@@ -195,10 +194,10 @@ public class TestH5D {
try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
}
- private final void _openH5file(String name, long dapl) {
+ private final void _openH5file(String filename, String dsetname, long dapl) {
try {
- H5fid = H5.H5Fopen(H5_FILE,
- HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
+ H5fid = H5.H5Fopen(filename,
+ HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
@@ -206,7 +205,7 @@ public class TestH5D {
}
assertTrue("TestH5D._openH5file: H5.H5Fopen: ",H5fid >= 0);
try {
- H5did = H5.H5Dopen(H5fid, name, dapl);
+ H5did = H5.H5Dopen(H5fid, dsetname, dapl);
}
catch (Throwable err) {
err.printStackTrace();
@@ -268,7 +267,7 @@ public class TestH5D {
@Test
public void testH5Dcreate() {
- long dataset_id = -1;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
try {
dataset_id = H5.H5Dcreate(H5fid, "dset",
HDF5Constants.H5T_STD_I32BE, H5dsid,
@@ -292,7 +291,7 @@ public class TestH5D {
@Test
public void testH5Dcreate_anon() {
- long dataset_id = -1;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
try {
dataset_id = H5.H5Dcreate_anon(H5fid, HDF5Constants.H5T_STD_I32BE,
H5dsid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
@@ -315,12 +314,12 @@ public class TestH5D {
@Test
public void testH5Dopen() {
- long dataset_id = -1;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
_createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
try {
H5.H5Dclose(H5did);
- H5did = -1;
+ H5did = HDF5Constants.H5I_INVALID_HID;
dataset_id = H5.H5Dopen(H5fid, "dset", HDF5Constants.H5P_DEFAULT);
}
catch (Exception err) {
@@ -388,8 +387,8 @@ public class TestH5D {
@Test
public void testH5Dget_access_plist() {
- long dapl_id = -1;
- long test_dapl_id = -1;
+ long dapl_id = HDF5Constants.H5I_INVALID_HID;
+ long test_dapl_id = HDF5Constants.H5I_INVALID_HID;
int[] mdc_nelmts1 = {0};
int[] mdc_nelmts2 = {0};
long[] rdcc_nelmts1 = {0};
@@ -500,7 +499,7 @@ public class TestH5D {
@Test(expected = HDF5LibraryException.class)
public void testH5Dget_space_closed() throws Throwable {
- long dataset_id = -1;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
try {
dataset_id = H5.H5Dcreate(H5fid, "dset",
HDF5Constants.H5T_STD_I32BE, H5dsid,
@@ -518,7 +517,7 @@ public class TestH5D {
@Test
public void testH5Dget_space() {
- long dataspace_id = -1;
+ long dataspace_id = HDF5Constants.H5I_INVALID_HID;
_createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
try {
@@ -542,7 +541,7 @@ public class TestH5D {
@Test(expected = HDF5LibraryException.class)
public void testH5Dget_type_closed() throws Throwable {
- long dataset_id = -1;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
try {
dataset_id = H5.H5Dcreate(H5fid, "dset",
HDF5Constants.H5T_STD_I32BE, H5dsid,
@@ -560,7 +559,7 @@ public class TestH5D {
@Test
public void testH5Dget_type() {
- long datatype_id = -1;
+ long datatype_id = HDF5Constants.H5I_INVALID_HID;
_createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
try {
diff --git a/java/test/TestH5Dparams.java b/java/test/TestH5Dparams.java
index a3618f2..3661139 100644
--- a/java/test/TestH5Dparams.java
+++ b/java/test/TestH5Dparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -113,17 +112,6 @@ public class TestH5Dparams {
H5.H5Dvlen_get_buf_size(-1, -1, -1);
}
- @Test(expected = HDF5LibraryException.class)
- public void testH5Dvlen_reclaim_invalid() throws Throwable {
- byte[] buf = new byte[2];
- H5.H5Dvlen_reclaim(-1, -1, -1, buf);
- }
-
- @Test(expected = NullPointerException.class)
- public void testH5Dvlen_reclaim_null() throws Throwable {
- H5.H5Dvlen_reclaim(-1, -1, -1, null);
- }
-
@Test(expected = IllegalArgumentException.class)
public void testH5Dget_storage_size_invalid() throws Throwable {
H5.H5Dget_storage_size(-1);
diff --git a/java/test/TestH5Dplist.java b/java/test/TestH5Dplist.java
index 1b5acfa..774b9dd 100644
--- a/java/test/TestH5Dplist.java
+++ b/java/test/TestH5Dplist.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -42,10 +41,10 @@ public class TestH5Dplist {
private static final int NDIMS = 2;
private static final int FILLVAL = 99;
private static final int RANK = 2;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did = -1;
- long H5dcpl_id = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long H5dcpl_id = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
long[] H5extdims = { EDIM_X, EDIM_Y };
long[] H5chunk_dims = { CHUNK_X, CHUNK_Y };
diff --git a/java/test/TestH5Drw.java b/java/test/TestH5Drw.java
new file mode 100644
index 0000000..69fb9d7
--- /dev/null
+++ b/java/test/TestH5Drw.java
@@ -0,0 +1,378 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * 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.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.HDFNativeData;
+import hdf.hdf5lib.callbacks.H5D_iterate_cb;
+import hdf.hdf5lib.callbacks.H5D_iterate_t;
+import hdf.hdf5lib.exceptions.HDF5Exception;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestName;
+
+public class TestH5Drw {
+ @Rule public TestName testname = new TestName();
+ private static final String H5_INTS_FILE = "tintsattrs.h5";
+ private static final String H5_FLTS_FILE = "tfloatsattrs.h5";
+ private static final int DIM_X = 8;
+ private static final int DIM8_Y = 8;
+ private static final int DIM16_Y = 16;
+ private static final int DIM32_Y = 32;
+ private static final int DIM64_Y = 64;
+ private static final int DIM128_Y = 128;
+ private static final String DATASETU08 = "DU08BITS";
+ private static final String DATASETS08 = "DS08BITS";
+ private static final String DATASETU16 = "DU16BITS";
+ private static final String DATASETS16 = "DS16BITS";
+ private static final String DATASETU32 = "DU32BITS";
+ private static final String DATASETS32 = "DS32BITS";
+ private static final String DATASETU64 = "DU64BITS";
+ private static final String DATASETS64 = "DS64BITS";
+ private static final String DATASETF32 = "DS32BITS";
+ private static final String DATASETF64 = "DS64BITS";
+ private static final String DATASETF128 = "DS128BITS";
+ private static final int RANK = 2;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+
+ private final void _closeH5file() throws HDF5LibraryException {
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ }
+
+ public void openH5file(String filename, String dsetname) {
+ try {
+ H5fid = H5.H5Fopen(filename,
+ HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Drw._openH5file: " + err);
+ }
+ assertTrue("TestH5Drw._openH5file: H5.H5Fopen: ", H5fid >= 0);
+ try {
+ H5did = H5.H5Dopen(H5fid, dsetname, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5Drw._openH5file: " + err);
+ }
+ assertTrue("TestH5Drw._openH5file: H5.H5Dopen: ", H5did >= 0);
+ }
+
+ @After
+ public void closeH5file() throws HDF5LibraryException {
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ H5fid = HDF5Constants.H5I_INVALID_HID;
+ H5did = HDF5Constants.H5I_INVALID_HID;
+ System.out.println();
+ }
+
+ @Before
+ public void verifyCount()
+ throws NullPointerException, HDF5Exception {
+ assertTrue("H5 open ids is 0", H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+ }
+
+ @Test
+ public void testH5Dread_8bit_ints() {
+ byte[][] dset_data = new byte[DIM_X][DIM8_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU08);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_8bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_UINT8, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_8bit_ints: H5Dread: " + err);
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS08, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_8bit_ints: H5Dopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_INT8, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_8bit_ints: H5Dread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Dread_16bit_ints() {
+ short[][] dset_data = new short[DIM_X][DIM16_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU16);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_16bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_UINT16, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_16bit_ints: H5Dread: " + err);
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS16, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_16bit_ints: H5Dopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_INT16, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_16bit_ints: H5Dread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Dread_32bit_ints() {
+ int[][] dset_data = new int[DIM_X][DIM16_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU32);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_UINT32, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_ints: H5Dread: " + err);
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS32, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_ints: H5Dopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_INT32, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_ints: H5Dread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Dread_64bit_ints() {
+ long[][] dset_data = new long[DIM_X][DIM64_Y];
+
+ try {
+ openH5file(H5_INTS_FILE, DATASETU64);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_ints: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_UINT64, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_ints: H5Dread: " + err);
+ }
+
+ // End access to the dataset and release resources used by it.
+ try {
+ H5.H5Dclose(H5did);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ }
+
+ // Open an existing dataset.
+ try {
+ H5did = H5.H5Dopen(H5fid, DATASETS64, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_ints: H5Dopen: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_INT64, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_ints: H5Dread: " + err);
+ }
+ }
+
+ @Test
+ public void testH5Dread_32bit_floats() {
+ float[][] dset_data = new float[DIM_X][DIM32_Y];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF32);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_FLOAT, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_32bit_floats: H5Dread: " + err);
+ }
+ for (int i = 0; i < DIM_X; i++)
+ assertTrue("testH5Dread_32bit_floats - H5.H5Dread: ", dset_data[i][0] == (32 - i));
+ }
+
+ @Test
+ public void testH5Dread_64bit_floats() {
+ double[][] dset_data = new double[DIM_X][DIM64_Y];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF64);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_DOUBLE, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_64bit_floats: H5Dread: " + err);
+ }
+ for (int i = 0; i < DIM_X; i++)
+ assertTrue("testH5Dread_64bit_floats - H5.H5Dread: ", dset_data[i][0] == (64 - i));
+ }
+
+ @Test
+ public void testH5Dread_128bit_floats() {
+ byte[][][] dset_data = new byte[DIM_X][DIM128_Y][8];
+
+ try {
+ openH5file(H5_FLTS_FILE, DATASETF128);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Dread_128bit_floats: openH5file: " + err);
+ }
+
+ // Read data.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_NATIVE_LDOUBLE, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Dread_128bit_floats: H5Dread: " + err);
+ }
+ }
+
+}
diff --git a/java/test/TestH5E.java b/java/test/TestH5E.java
index fd015c0..cad0a06 100644
--- a/java/test/TestH5E.java
+++ b/java/test/TestH5E.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -74,7 +73,6 @@ public class TestH5E {
@Test
public void testH5Eget_msg_major() {
-
try {
H5.H5Fopen("test", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
}
@@ -82,6 +80,7 @@ public class TestH5E {
long errnum = hdferr.getMajorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MAJOR };
String msg = null;
+
try {
msg = H5.H5Eget_msg(errnum, error_msg_type);
}
@@ -90,8 +89,17 @@ public class TestH5E {
fail("H5.H5Eget_msg(Throwable): " + err);
}
assertNotNull("H5.H5Eget_msg: " + msg, msg);
- assertEquals("H5.H5Eget_msg: ", "File accessibility", msg);
assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MAJOR, error_msg_type[0]);
+
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error string might be different.
+ * Only check for the specific error message if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertTrue("H5.H5Eget_msg: ", msg.contains("File accessibility"));
}
catch (Throwable err) {
err.printStackTrace();
@@ -108,6 +116,7 @@ public class TestH5E {
long errnum = hdferr.getMinorErrorNumber();
int[] error_msg_type = { HDF5Constants.H5E_MINOR };
String msg = null;
+
try {
msg = H5.H5Eget_msg(errnum, error_msg_type);
}
@@ -116,8 +125,17 @@ public class TestH5E {
fail("H5.H5Eget_msg: " + err);
}
assertNotNull("H5.H5Eget_msg: " + msg, msg);
- assertEquals("H5.H5Eget_msg: ", "Unable to open file", msg);
assertEquals("H5.H5Eget_msg: ", HDF5Constants.H5E_MINOR, error_msg_type[0]);
+
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error string might be different.
+ * Only check for the specific error message if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertTrue("H5.H5Eget_msg: ", msg.contains("Unable to open file"));
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5Edefault.java b/java/test/TestH5Edefault.java
index ee2850b..9e93cea 100644
--- a/java/test/TestH5Edefault.java
+++ b/java/test/TestH5Edefault.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -24,6 +23,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.Ignore;
import org.junit.rules.TestName;
public class TestH5Edefault {
@@ -55,19 +55,28 @@ public class TestH5Edefault {
H5.H5Eprint2(-1, null);
}
- @Test
+ @Ignore
public void testH5Eprint() {
- try {
- H5.H5Fopen("test", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- }
- try {
- H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5Eprint: " + err);
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error stack might be different.
+ * Only check for the specific error stack if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null) {
+ try {
+ H5.H5Fopen("test", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ }
+ try {
+ H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Eprint: " + err);
+ }
}
}
@@ -366,7 +375,7 @@ public class TestH5Edefault {
}
assertTrue("H5.H5Eset_current_stack: get_num #:" + num_msg, num_msg == saved_num_msg);
- // Se the current stack to be the default and try that again
+ // Set the current stack to be the default and try that again
try {
H5.H5Eset_current_stack(stack_id);
num_msg = H5.H5Eget_num(HDF5Constants.H5E_DEFAULT);
@@ -427,19 +436,28 @@ public class TestH5Edefault {
H5.H5Eprint2(-1, null);
}
- @Test
+ @Ignore
public void testH5EprintInt() {
- try {
- H5.H5Fopen("test", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
- }
- catch (Throwable err) {
- }
- try {
- H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null);
- }
- catch (Throwable err) {
- err.printStackTrace();
- fail("H5.H5EprintInt: " + err);
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector and the error stack might be different.
+ * Only check for the specific error stack if the native
+ * connector is being used.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null) {
+ try {
+ H5.H5Fopen("test", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ }
+ try {
+ H5.H5Eprint2(HDF5Constants.H5E_DEFAULT, null);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5EprintInt: " + err);
+ }
}
}
diff --git a/java/test/TestH5Eparams.java b/java/test/TestH5Eparams.java
index 0c55577..e55f1fc 100644
--- a/java/test/TestH5Eparams.java
+++ b/java/test/TestH5Eparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
diff --git a/java/test/TestH5Eregister.java b/java/test/TestH5Eregister.java
index 1b87699..99e8e5f 100644
--- a/java/test/TestH5Eregister.java
+++ b/java/test/TestH5Eregister.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
diff --git a/java/test/TestH5F.java b/java/test/TestH5F.java
index 869b45c..16786b9 100644
--- a/java/test/TestH5F.java
+++ b/java/test/TestH5F.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -49,7 +48,7 @@ public class TestH5F {
HDF5Constants.H5F_OBJ_DATASET, HDF5Constants.H5F_OBJ_GROUP,
HDF5Constants.H5F_OBJ_DATATYPE, HDF5Constants.H5F_OBJ_ATTR,
HDF5Constants.H5F_OBJ_ALL };
- long H5fid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -74,7 +73,7 @@ public class TestH5F {
public void deleteH5file() throws HDF5LibraryException {
if (H5fid > 0) {
try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
- H5fid = -1;
+ H5fid = HDF5Constants.H5I_INVALID_HID;
}
_deleteFile(H5_FILE);
System.out.println();
@@ -82,7 +81,7 @@ public class TestH5F {
@Test
public void testH5Fget_create_plist() {
- long plist = -1;
+ long plist = HDF5Constants.H5I_INVALID_HID;
try {
plist = H5.H5Fget_create_plist(H5fid);
@@ -106,7 +105,7 @@ public class TestH5F {
@Test
public void testH5Fget_access_plist() {
- long plist = -1;
+ long plist = HDF5Constants.H5I_INVALID_HID;
try {
plist = H5.H5Fget_access_plist(H5fid);
@@ -134,7 +133,7 @@ public class TestH5F {
if (H5fid > 0) {
try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
- H5fid = -1;
+ H5fid = HDF5Constants.H5I_INVALID_HID;
}
try {
@@ -159,7 +158,7 @@ public class TestH5F {
if (H5fid > 0) {
try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
- H5fid = -1;
+ H5fid = HDF5Constants.H5I_INVALID_HID;
}
try {
@@ -182,8 +181,8 @@ public class TestH5F {
public void testH5Fget_fileno_same() {
long fileno1 = 0;
long fileno2 = 0;
- long fid1 = -1;
- long fid2 = -1;
+ long fid1 = HDF5Constants.H5I_INVALID_HID;
+ long fid2 = HDF5Constants.H5I_INVALID_HID;
try {
fid1 = H5.H5Fcreate(H5_FILE2, HDF5Constants.H5F_ACC_TRUNC,
@@ -213,7 +212,7 @@ public class TestH5F {
public void testH5Fget_fileno_diff() {
long fileno1 = 0;
long fileno2 = 0;
- long fid2 = -1;
+ long fid2 = HDF5Constants.H5I_INVALID_HID;
try {
fid2 = H5.H5Fcreate(H5_FILE2, HDF5Constants.H5F_ACC_TRUNC,
diff --git a/java/test/TestH5Fbasic.java b/java/test/TestH5Fbasic.java
index 72a3c23..4f3d928 100644
--- a/java/test/TestH5Fbasic.java
+++ b/java/test/TestH5Fbasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -35,7 +34,7 @@ public class TestH5Fbasic {
@Rule public TestName testname = new TestName();
private static final String H5_FILE = "testFb.h5";
private static final String TXT_FILE = "testFb.txt";
- long H5fid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -90,7 +89,7 @@ public class TestH5Fbasic {
@Test(expected = HDF5LibraryException.class)
public void testH5Fopen_read_only() throws Throwable {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fopen(H5_FILE, HDF5Constants.H5F_ACC_RDWR,
@@ -125,8 +124,8 @@ public class TestH5Fbasic {
@Test(expected = HDF5LibraryException.class)
public void testH5Freopen_closed() throws Throwable {
- long fid = -1;
- long fid2 = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
+ long fid2 = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fopen(H5_FILE, HDF5Constants.H5F_ACC_RDWR,
@@ -148,8 +147,8 @@ public class TestH5Fbasic {
@Test
public void testH5Freopen() {
- long fid = -1;
- long fid2 = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
+ long fid2 = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fopen(H5_FILE, HDF5Constants.H5F_ACC_RDWR,
@@ -182,7 +181,7 @@ public class TestH5Fbasic {
@Test
public void testH5Fclose() {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fopen(H5_FILE, HDF5Constants.H5F_ACC_RDWR,
@@ -202,7 +201,7 @@ public class TestH5Fbasic {
@Test(expected = HDF5LibraryException.class)
public void testH5Fclose_twice() throws Throwable {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fopen(H5_FILE, HDF5Constants.H5F_ACC_RDWR,
diff --git a/java/test/TestH5Fparams.java b/java/test/TestH5Fparams.java
index 6b541c6..0376485 100644
--- a/java/test/TestH5Fparams.java
+++ b/java/test/TestH5Fparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -105,7 +104,7 @@ public class TestH5Fparams {
@Test
public void testH5Fcreate() {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
File file = null;
try {
@@ -132,7 +131,7 @@ public class TestH5Fparams {
@Test
public void testH5Fflush_global() {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC,
@@ -158,7 +157,7 @@ public class TestH5Fparams {
@Test
public void testH5Fflush_local() {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
fid = H5.H5Fcreate("test.h5", HDF5Constants.H5F_ACC_TRUNC,
@@ -184,7 +183,7 @@ public class TestH5Fparams {
@Test
public void testH5Fget_info() {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
try {
@@ -215,7 +214,7 @@ public class TestH5Fparams {
@Ignore//(expected = HDF5FunctionArgumentException.class)
public void testH5Fset_libver_bounds_invalidlow() throws Throwable {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
try {
@@ -234,7 +233,7 @@ public class TestH5Fparams {
@Ignore//(expected = HDF5FunctionArgumentException.class)
public void testH5Fset_libver_bounds_invalidhigh() throws Throwable {
- long fid = -1;
+ long fid = HDF5Constants.H5I_INVALID_HID;
try {
try {
diff --git a/java/test/TestH5Fswmr.java b/java/test/TestH5Fswmr.java
index 5ca1a97..1ec78fe 100644
--- a/java/test/TestH5Fswmr.java
+++ b/java/test/TestH5Fswmr.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -33,9 +32,9 @@ public class TestH5Fswmr {
@Rule public TestName testname = new TestName();
private static final String H5_FILE = "testswmr.h5";
- long H5fid = -1;
- long H5fapl = -1;
- long H5fcpl = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5fapl = HDF5Constants.H5I_INVALID_HID;
+ long H5fcpl = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -63,15 +62,15 @@ public class TestH5Fswmr {
public void deleteH5file() throws HDF5LibraryException {
if (H5fapl > 0) {
try {H5.H5Pclose(H5fapl);} catch (Exception ex) {}
- H5fapl = -1;
+ H5fapl = HDF5Constants.H5I_INVALID_HID;
}
if (H5fcpl > 0) {
try {H5.H5Pclose(H5fcpl);} catch (Exception ex) {}
- H5fcpl = -1;
+ H5fcpl = HDF5Constants.H5I_INVALID_HID;
}
if (H5fid > 0) {
try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
- H5fid = -1;
+ H5fid = HDF5Constants.H5I_INVALID_HID;
}
_deleteFile(H5_FILE);
System.out.println();
diff --git a/java/test/TestH5G.java b/java/test/TestH5G.java
index 6c30187..edf2cbe 100644
--- a/java/test/TestH5G.java
+++ b/java/test/TestH5G.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -24,6 +23,7 @@ import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5G_info_t;
+import hdf.hdf5lib.structs.H5O_token_t;
import org.junit.After;
import org.junit.Before;
@@ -38,11 +38,11 @@ public class TestH5G {
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"};
- long H5fid = -1;
- long H5fid2 = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5fid2 = HDF5Constants.H5I_INVALID_HID;
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
@@ -57,8 +57,8 @@ public class TestH5G {
}
private final long _createGroup2(long fid, String name) {
- long gid = -1;
- long gcpl = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
+ long gcpl = HDF5Constants.H5I_INVALID_HID;
try {
gcpl = H5.H5Pcreate(HDF5Constants.H5P_GROUP_CREATE); //create gcpl
}
@@ -91,12 +91,12 @@ public class TestH5G {
}
private final long _openGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gopen(fid, name, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
- gid = -1;
+ gid = HDF5Constants.H5I_INVALID_HID;
err.printStackTrace();
fail("H5.H5Gopen: " + err);
}
@@ -133,7 +133,7 @@ public class TestH5G {
assertTrue("TestH5G.createH5file: H5.H5Fcreate: ", H5fid > 0);
assertTrue("TestH5G.createH5file: H5.H5Fcreate: ", H5fid2 > 0);
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
for (int i = 0; i < GROUPS.length; i++) {
gid = _createGroup(H5fid, GROUPS[i]);
@@ -164,7 +164,7 @@ public class TestH5G {
@Test
public void testH5Gopen() {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
for (int i = 0; i < GROUPS.length; i++) {
try {
gid = H5.H5Gopen(H5fid, GROUPS[i], HDF5Constants.H5P_DEFAULT);
@@ -184,8 +184,8 @@ public class TestH5G {
@Test
public void testH5Gget_create_plist() {
- long gid = -1;
- long pid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
+ long pid = HDF5Constants.H5I_INVALID_HID;
for (int i = 0; i < GROUPS.length; i++) {
try {
@@ -286,12 +286,12 @@ public class TestH5G {
String objNames[] = new String[(int) info.nlinks];
int objTypes[] = new int[(int) info.nlinks];
int lnkTypes[] = new int[(int) info.nlinks];
- long objRefs[] = new long[(int) info.nlinks];
+ H5O_token_t objTokens[] = new H5O_token_t[(int) info.nlinks];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_all(H5fid, GROUPS[0], objNames,
- objTypes, lnkTypes, objRefs, HDF5Constants.H5_INDEX_NAME);
+ objTypes, lnkTypes, objTokens, HDF5Constants.H5_INDEX_NAME);
}
catch (Throwable err) {
err.printStackTrace();
@@ -317,14 +317,14 @@ public class TestH5G {
assertNotNull("TestH5G.testH5Gget_obj_info_all_gid: ", info);
assertTrue("TestH5G.testH5Gget_obj_info_all_gid: number of links is empty", info.nlinks > 0);
String objNames[] = new String[(int) info.nlinks];
- long objRefs[] = new long[(int) info.nlinks];
+ H5O_token_t objTokens[] = new H5O_token_t[(int) info.nlinks];
int lnkTypes[] = new int[(int) info.nlinks];
int objTypes[] = new int[(int) info.nlinks];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_all(gid, null, objNames, objTypes, lnkTypes,
- objRefs, HDF5Constants.H5_INDEX_NAME);
+ objTokens, HDF5Constants.H5_INDEX_NAME);
}
catch (Throwable err) {
err.printStackTrace();
@@ -358,14 +358,14 @@ public class TestH5G {
assertNotNull("TestH5G.testH5Gget_obj_info_all_gid2: ", info);
assertTrue("TestH5G.testH5Gget_obj_info_all_gid2: number of links is empty", info.nlinks > 0);
String objNames[] = new String[(int) info.nlinks];
- long objRefs[] = new long[(int) info.nlinks];
+ H5O_token_t objTokens[] = new H5O_token_t[(int) info.nlinks];
int lnkTypes[] = new int[(int) info.nlinks];
int objTypes[] = new int[(int) info.nlinks];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_all(gid, null, objNames, objTypes, lnkTypes,
- objRefs, HDF5Constants.H5_INDEX_NAME);
+ objTokens, HDF5Constants.H5_INDEX_NAME);
}
catch (Throwable err) {
err.printStackTrace();
@@ -395,12 +395,12 @@ public class TestH5G {
String objNames[] = new String[(int)groups_max_size];
int objTypes[] = new int[(int)groups_max_size];
int lnkTypes[] = new int[(int)groups_max_size];
- long objRefs[] = new long[(int)groups_max_size];
+ H5O_token_t objTokens[] = new H5O_token_t[(int)groups_max_size];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_max(gid, objNames, objTypes, lnkTypes,
- objRefs, groups_max_size);
+ objTokens, groups_max_size);
}
catch (Throwable err) {
err.printStackTrace();
@@ -426,12 +426,12 @@ public class TestH5G {
String objNames[] = new String[(int)groups_max_size];
int objTypes[] = new int[(int)groups_max_size];
int lnkTypes[] = new int[(int)groups_max_size];
- long objRefs[] = new long[(int)groups_max_size];
+ H5O_token_t objTokens[] = new H5O_token_t[(int)groups_max_size];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_max(gid, objNames, objTypes, lnkTypes,
- objRefs, groups_max_size);
+ objTokens, groups_max_size);
}
catch (Throwable err) {
err.printStackTrace();
@@ -471,11 +471,11 @@ public class TestH5G {
String objNames[] = new String[(int) info.nlinks];
int objTypes[] = new int[(int) info.nlinks];
int lnkTypes[] = new int[(int) info.nlinks];
- long objRefs[] = new long[(int) info.nlinks];
+ H5O_token_t objTokens[] = new H5O_token_t[(int) info.nlinks];
try {
H5.H5Gget_obj_info_all(H5fid2, GROUPS2[0], objNames,
- objTypes, lnkTypes, objRefs, HDF5Constants.H5_INDEX_CRT_ORDER);
+ objTypes, lnkTypes, objTokens, HDF5Constants.H5_INDEX_CRT_ORDER);
}
catch (Throwable err) {
err.printStackTrace();
@@ -488,7 +488,7 @@ public class TestH5G {
try {
H5.H5Gget_obj_info_all(H5fid2, GROUPS2[0], objNames,
- objTypes, lnkTypes, objRefs, HDF5Constants.H5_INDEX_NAME);
+ objTypes, lnkTypes, objTokens, HDF5Constants.H5_INDEX_NAME);
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5Gbasic.java b/java/test/TestH5Gbasic.java
index 202f6ff..6e2e450 100644
--- a/java/test/TestH5Gbasic.java
+++ b/java/test/TestH5Gbasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -33,10 +32,10 @@ import org.junit.rules.TestName;
public class TestH5Gbasic {
@Rule public TestName testname = new TestName();
private static final String H5_FILE = "testGb.h5";
- long H5fid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
@@ -85,7 +84,7 @@ public class TestH5Gbasic {
@Test(expected = NullPointerException.class)
public void testH5Gcreate_null() throws Throwable {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
// it should fail because the group name is null
gid = H5.H5Gcreate(H5fid, null, HDF5Constants.H5P_DEFAULT,
@@ -102,7 +101,7 @@ public class TestH5Gbasic {
@Test
public void testH5Gcreate() {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gcreate(H5fid, "/testH5Gcreate",
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT,
@@ -145,7 +144,7 @@ public class TestH5Gbasic {
@Test
public void testH5Gcreate_anon() {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gcreate_anon(H5fid, HDF5Constants.H5P_DEFAULT,
HDF5Constants.H5P_DEFAULT);
@@ -161,7 +160,7 @@ public class TestH5Gbasic {
@Test(expected = NullPointerException.class)
public void testH5Gopen_null() throws Throwable {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
gid = H5.H5Gopen(H5fid, null, HDF5Constants.H5P_DEFAULT);
@@ -175,7 +174,7 @@ public class TestH5Gbasic {
@Test(expected = HDF5LibraryException.class)
public void testH5Gopen_not_exists() throws Throwable {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
gid = H5.H5Gopen(H5fid, "Never_created", HDF5Constants.H5P_DEFAULT);
@@ -209,7 +208,7 @@ public class TestH5Gbasic {
@Test
public void testH5Gget_create_plist() {
- long pid = -1;
+ long pid = HDF5Constants.H5I_INVALID_HID;
long gid = _createGroup(H5fid, "/testH5Gcreate");
assertTrue(gid > 0);
diff --git a/java/test/TestH5Giterate.java b/java/test/TestH5Giterate.java
index 06c59e7..388d2ac 100644
--- a/java/test/TestH5Giterate.java
+++ b/java/test/TestH5Giterate.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -20,6 +19,7 @@ import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5G_info_t;
+import hdf.hdf5lib.structs.H5O_token_t;
import org.junit.After;
import org.junit.Before;
@@ -30,15 +30,15 @@ import org.junit.rules.TestName;
public class TestH5Giterate {
@Rule public TestName testname = new TestName();
private static final String H5_FILE = "h5ex_g_iterate.hdf";
- long H5fid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
private final long _openGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gopen(fid, name, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
- gid = -1;
+ gid = HDF5Constants.H5I_INVALID_HID;
err.printStackTrace();
fail("H5.H5Gcreate: " + err);
}
@@ -93,12 +93,12 @@ public class TestH5Giterate {
String objNames[] = new String[(int) info.nlinks];
int objTypes[] = new int[(int) info.nlinks];
int lnkTypes[] = new int[(int) info.nlinks];
- long objRefs[] = new long[(int) info.nlinks];
+ H5O_token_t objTokens[] = new H5O_token_t[(int) info.nlinks];
int names_found = 0;
try {
names_found = H5.H5Gget_obj_info_all(H5fid, "/", objNames,
- objTypes, lnkTypes, objRefs, HDF5Constants.H5_INDEX_NAME);
+ objTypes, lnkTypes, objTokens, HDF5Constants.H5_INDEX_NAME);
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5Lbasic.java b/java/test/TestH5Lbasic.java
index 0a836c1..a28fc3d 100644
--- a/java/test/TestH5Lbasic.java
+++ b/java/test/TestH5Lbasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -21,8 +20,8 @@ import java.util.ArrayList;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
-import hdf.hdf5lib.callbacks.H5L_iterate_cb;
import hdf.hdf5lib.callbacks.H5L_iterate_t;
+import hdf.hdf5lib.callbacks.H5L_iterate_opdata_t;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5L_info_t;
@@ -35,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_iterateL1.hdf";
- long H5fid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
@Before
public void openH5file()
@@ -119,9 +118,8 @@ public class TestH5Lbasic {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertFalse("H5Lget_info ",link_info==null);
+ assertFalse("H5Lget_info",link_info==null);
assertTrue("H5Lget_info link type",link_info.type==HDF5Constants.H5L_TYPE_HARD);
- assertTrue("Link Address ",link_info.address_val_size>0);
}
@Test(expected = HDF5LibraryException.class)
@@ -155,7 +153,7 @@ public class TestH5Lbasic {
err.printStackTrace();
fail("H5.H5Lget_info_by_idx: " + err);
}
- assertFalse("H5Lget_info_by_idx ",link_info==null);
+ assertFalse("H5Lget_info_by_idx",link_info==null);
assertTrue("H5Lget_info_by_idx link type",link_info.type==HDF5Constants.H5L_TYPE_HARD);
try {
link_info2 = H5.H5Lget_info(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
@@ -164,7 +162,7 @@ public class TestH5Lbasic {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertTrue("Link Address ",link_info.address_val_size==link_info2.address_val_size);
+ assertTrue("Link Value Size", link_info.val_size == link_info2.val_size);
}
@Test
@@ -178,7 +176,7 @@ public class TestH5Lbasic {
err.printStackTrace();
fail("H5.H5Lget_info_by_idx: " + err);
}
- assertFalse("H5Lget_info_by_idx ",link_info==null);
+ assertFalse("H5Lget_info_by_idx",link_info==null);
assertTrue("H5Lget_info_by_idx link type",link_info.type==HDF5Constants.H5L_TYPE_HARD);
try {
link_info2 = H5.H5Lget_info(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
@@ -187,7 +185,7 @@ public class TestH5Lbasic {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertTrue("Link Address ",link_info.address_val_size==link_info2.address_val_size);
+ assertTrue("Link Value Size", link_info.val_size == link_info2.val_size);
}
@Test(expected = HDF5LibraryException.class)
@@ -233,18 +231,18 @@ public class TestH5Lbasic {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Lvisit(H5fid, HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, iter_cb, iter_data);
}
@@ -271,18 +269,18 @@ public class TestH5Lbasic {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Lvisit_by_name(H5fid, "G1", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, iter_cb, iter_data, HDF5Constants.H5P_DEFAULT);
}
@@ -305,18 +303,18 @@ public class TestH5Lbasic {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Literate(H5fid, HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0L, iter_cb, iter_data);
}
@@ -342,18 +340,18 @@ public class TestH5Lbasic {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Literate_by_name(H5fid, "G1", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0L, iter_cb, iter_data, HDF5Constants.H5P_DEFAULT);
}
diff --git a/java/test/TestH5Lcreate.java b/java/test/TestH5Lcreate.java
index 06c4ac1..44af2e5 100644
--- a/java/test/TestH5Lcreate.java
+++ b/java/test/TestH5Lcreate.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -22,8 +21,8 @@ import java.util.ArrayList;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
-import hdf.hdf5lib.callbacks.H5L_iterate_cb;
import hdf.hdf5lib.callbacks.H5L_iterate_t;
+import hdf.hdf5lib.callbacks.H5L_iterate_opdata_t;
import hdf.hdf5lib.exceptions.HDF5Exception;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5L_info_t;
@@ -41,13 +40,13 @@ public class TestH5Lcreate {
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;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did1 = -1;
- long H5did2 = -1;
- long H5gcpl = -1;
- long H5gid = -1;
+ long H5fcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did1 = HDF5Constants.H5I_INVALID_HID;
+ long H5did2 = HDF5Constants.H5I_INVALID_HID;
+ long H5gcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5gid = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
private final void _deleteFile(String filename) {
@@ -64,7 +63,7 @@ public class TestH5Lcreate {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name,
HDF5Constants.H5T_STD_I32BE, dsid,
@@ -80,7 +79,7 @@ public class TestH5Lcreate {
}
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
H5gcpl = HDF5Constants.H5P_DEFAULT;
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
@@ -320,9 +319,9 @@ public class TestH5Lcreate {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertFalse("H5Lget_info ", link_info==null);
+ assertFalse("H5Lget_info", link_info==null);
assertTrue("H5Lget_info link type", link_info.type==HDF5Constants.H5L_TYPE_SOFT);
- assertTrue("Link Address ", link_info.address_val_size>0);
+ assertTrue("Link Value Size", link_info.val_size > 0);
}
@Test
@@ -383,9 +382,9 @@ public class TestH5Lcreate {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertFalse("H5Lget_info ", link_info==null);
+ assertFalse("H5Lget_info", link_info==null);
assertTrue("H5Lget_info link type", link_info.type==HDF5Constants.H5L_TYPE_SOFT);
- assertTrue("Link Address ", link_info.address_val_size>0);
+ assertTrue("Link Value Size", link_info.val_size > 0);
}
@Test
@@ -431,9 +430,9 @@ public class TestH5Lcreate {
err.printStackTrace();
fail("H5.H5Lget_info: " + err);
}
- assertFalse("H5Lget_info ", link_info==null);
+ assertFalse("H5Lget_info", link_info==null);
assertTrue("H5Lget_info link type", link_info.type==HDF5Constants.H5L_TYPE_EXTERNAL);
- assertTrue("Link Address ", link_info.address_val_size>0);
+ assertTrue("Link Value Size", link_info.val_size > 0);
}
@Test
@@ -740,18 +739,18 @@ public class TestH5Lcreate {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Lvisit(H5fid, HDF5Constants.H5_INDEX_CRT_ORDER, HDF5Constants.H5_ITER_INC, iter_cb, iter_data);
}
@@ -792,18 +791,18 @@ public class TestH5Lcreate {
this.link_type = type;
}
}
- class H5L_iter_data implements H5L_iterate_t {
+ class H5L_iter_data implements H5L_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5L_iterate_t iter_data = new H5L_iter_data();
- class H5L_iter_callback implements H5L_iterate_cb {
- public int callback(long group, String name, H5L_info_t info, H5L_iterate_t op_data) {
+ H5L_iterate_opdata_t iter_data = new H5L_iter_data();
+ class H5L_iter_callback implements H5L_iterate_t {
+ public int callback(long group, String name, H5L_info_t info, H5L_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5L_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5L_iterate_cb iter_cb = new H5L_iter_callback();
+ H5L_iterate_t iter_cb = new H5L_iter_callback();
try {
H5.H5Literate(H5fid, HDF5Constants.H5_INDEX_CRT_ORDER, HDF5Constants.H5_ITER_INC, 0, iter_cb, iter_data);
}
diff --git a/java/test/TestH5Lparams.java b/java/test/TestH5Lparams.java
index c8d5f5d..30ee242 100644
--- a/java/test/TestH5Lparams.java
+++ b/java/test/TestH5Lparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
diff --git a/java/test/TestH5Obasic.java b/java/test/TestH5Obasic.java
index 8c6689f..350b7aa 100644
--- a/java/test/TestH5Obasic.java
+++ b/java/test/TestH5Obasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -21,10 +20,14 @@ import java.util.ArrayList;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
-import hdf.hdf5lib.callbacks.H5O_iterate_cb;
import hdf.hdf5lib.callbacks.H5O_iterate_t;
+import hdf.hdf5lib.callbacks.H5O_iterate_opdata_t;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5O_info_t;
+import hdf.hdf5lib.structs.H5O_native_info_t;
+import hdf.hdf5lib.structs.H5O_token_t;
+import hdf.hdf5lib.structs.H5O_hdr_info_t;
+import hdf.hdf5lib.structs.H5_ih_info_t;
import org.junit.After;
import org.junit.Before;
@@ -35,11 +38,9 @@ import org.junit.rules.TestName;
public class TestH5Obasic {
@Rule public TestName testname = new TestName();
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;
- private static long H5la_g1 = -1;
- long H5fid = -1;
+ private static H5O_token_t H5la_ds1 = null;
+ private static H5O_token_t H5la_l1 = null;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
@Before
public void openH5file()
@@ -67,7 +68,7 @@ public class TestH5Obasic {
@Test(expected = HDF5LibraryException.class)
public void testH5Oopen_not_exists() throws Throwable {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
oid = H5.H5Oopen(H5fid, "Never_created", HDF5Constants.H5P_DEFAULT);
@@ -76,7 +77,7 @@ public class TestH5Obasic {
@Test
public void testH5Oget_info_dataset() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
@@ -94,7 +95,7 @@ public class TestH5Obasic {
@Test
public void testH5Oget_info_hardlink() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
oid = H5.H5Oopen(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
@@ -111,7 +112,7 @@ public class TestH5Obasic {
@Test
public void testH5Oget_info_group() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
oid = H5.H5Oopen(H5fid, "G1", HDF5Constants.H5P_DEFAULT);
@@ -128,7 +129,7 @@ public class TestH5Obasic {
@Test
public void testH5Oget_info_datatype() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
oid = H5.H5Oopen(H5fid, "DT1", HDF5Constants.H5P_DEFAULT);
@@ -232,7 +233,7 @@ public class TestH5Obasic {
@Test
public void testH5Oget_info_by_idx_n0() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
oid = H5.H5Oopen(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
@@ -242,7 +243,7 @@ public class TestH5Obasic {
err.printStackTrace();
fail("testH5Oget_info_by_idx_n0:H5.H5Oget_info: " + err);
}
- H5la_ds1 = obj_info.addr;
+ H5la_ds1 = obj_info.token;
try {H5.H5Oclose(oid);} catch (Exception ex) {}
try {
obj_info = H5.H5Oget_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0, HDF5Constants.H5P_DEFAULT);
@@ -253,12 +254,12 @@ public class TestH5Obasic {
}
assertFalse("testH5Oget_info_by_idx_n0:H5Oget_info_by_idx ",obj_info==null);
assertTrue("testH5Oget_info_by_idx_n0:H5Oget_info_by_idx link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("testH5Oget_info_by_idx_n0:Link Address ",obj_info.addr==H5la_ds1);
+ assertTrue("testH5Oget_info_by_idx_n0:Link Object token", obj_info.token.equals(H5la_ds1));
}
@Test
public void testH5Oget_info_by_idx_n3() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
oid = H5.H5Oopen(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
@@ -268,7 +269,7 @@ public class TestH5Obasic {
err.printStackTrace();
fail("testH5Oget_info_by_idx_n3:H5.H5Oget_info: " + err);
}
- H5la_l1 = obj_info.addr;
+ H5la_l1 = obj_info.token;
try {H5.H5Oclose(oid);} catch (Exception ex) {}
try {
obj_info = H5.H5Oget_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 3, HDF5Constants.H5P_DEFAULT);
@@ -279,7 +280,263 @@ public class TestH5Obasic {
}
assertFalse("testH5Oget_info_by_idx_n3:H5Oget_info_by_idx ",obj_info==null);
assertTrue("testH5Oget_info_by_idx_n3:H5Oget_info_by_idx link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("testH5Oget_info_by_idx_n3:Link Address ",obj_info.addr==H5la_l1);
+ assertTrue("testH5Oget_info_by_idx_n3:Link Object Token", obj_info.token.equals(H5la_l1));
+ }
+
+ @Test
+ public void testH5Oget_native_info_dataset() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info: " + err);
+ }
+ assertFalse("H5Oget_native_info ", native_info == null);
+ assertFalse("H5Oget_native_info ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info ", native_info.attr_info == null);
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+ }
+
+ @Test
+ public void testH5Oget_native_info_hardlink() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info: " + err);
+ }
+ assertFalse("H5Oget_native_info ", native_info == null);
+ assertFalse("H5Oget_native_info ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info ", native_info.attr_info == null);
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+ }
+
+ @Test
+ public void testH5Oget_native_info_group() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "G1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info: " + err);
+ }
+ assertFalse("H5Oget_native_info ", native_info == null);
+ assertFalse("H5Oget_native_info ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info ", native_info.attr_info == null);
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+ }
+
+ @Test
+ public void testH5Oget_native_info_datatype() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "DT1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info: " + err);
+ }
+ assertFalse("H5Oget_native_info ", native_info == null);
+ assertFalse("H5Oget_native_info ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info ", native_info.attr_info == null);
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_name_not_exist_name() throws Throwable {
+ H5.H5Oget_native_info_by_name(H5fid, "None", HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_name_not_exists() throws Throwable {
+ H5.H5Oget_native_info_by_name(H5fid, "Bogus", HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_name_dataset() {
+ H5O_native_info_t native_info = null;
+
+ try {
+ native_info = H5.H5Oget_native_info_by_name(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info_by_name: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_name ", native_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.attr_info == null);
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_name_hardlink() {
+ H5O_native_info_t native_info = null;
+
+ try {
+ native_info = H5.H5Oget_native_info_by_name(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info_by_name: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_name ", native_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.attr_info == null);
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_name_group() {
+ H5O_native_info_t native_info = null;
+
+ try {
+ native_info = H5.H5Oget_native_info_by_name(H5fid, "G1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info_by_name: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_name ", native_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.attr_info == null);
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_name_datatype() {
+ H5O_native_info_t native_info = null;
+
+ try {
+ native_info = H5.H5Oget_native_info_by_name(H5fid, "DT1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Oget_native_info_by_name: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_name ", native_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_name ", native_info.attr_info == null);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_idx_name_not_exist_name() throws Throwable {
+ H5.H5Oget_native_info_by_idx(H5fid, "None", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_idx_name_not_exist_create() throws Throwable {
+ H5.H5Oget_native_info_by_idx(H5fid, "None", HDF5Constants.H5_INDEX_CRT_ORDER, HDF5Constants.H5_ITER_INC, 0, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_idx_not_exist_name() throws Throwable {
+ H5.H5Oget_native_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 5, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_idx_not_exist_create() throws Throwable {
+ H5.H5Oget_native_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_CRT_ORDER, HDF5Constants.H5_ITER_INC, 5, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_idx_n0() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+ H5O_hdr_info_t ohdr;
+ H5_ih_info_t oinfo;
+ H5_ih_info_t ainfo;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Oget_native_info_by_idx_n0:H5.H5Oget_native_info: " + err);
+ }
+
+ ohdr = native_info.hdr_info;
+ oinfo = native_info.obj_info;
+ ainfo = native_info.attr_info;
+
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+
+ try {
+ native_info = H5.H5Oget_native_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Oget_native_info_by_idx_n0:H5.H5Oget_native_info_by_idx: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_idx ", native_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.attr_info == null);
+ assertTrue("testH5Oget_native_info_by_idx_n0:Object Header Info", native_info.hdr_info.equals(ohdr));
+ assertTrue("testH5Oget_native_info_by_idx_n0:Object Info", native_info.obj_info.equals(oinfo));
+ assertTrue("testH5Oget_native_info_by_idx_n0:Attribute Info", native_info.attr_info.equals(ainfo));
+ }
+
+ @Test
+ public void testH5Oget_native_info_by_idx_n3() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
+ H5O_native_info_t native_info = null;
+ H5O_hdr_info_t ohdr;
+ H5_ih_info_t oinfo;
+ H5_ih_info_t ainfo;
+
+ try {
+ oid = H5.H5Oopen(H5fid, "L1", HDF5Constants.H5P_DEFAULT);
+ native_info = H5.H5Oget_native_info(oid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Oget_native_info_by_idx_n3:H5.H5Oget_native_info: " + err);
+ }
+
+ ohdr = native_info.hdr_info;
+ oinfo = native_info.obj_info;
+ ainfo = native_info.attr_info;
+
+ try {H5.H5Oclose(oid);} catch (Exception ex) {}
+
+ try {
+ native_info = H5.H5Oget_native_info_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 3, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Oget_native_info_by_idx_n3:H5.H5Oget_native_info_by_idx: " + err);
+ }
+ assertFalse("H5Oget_native_info_by_idx ", native_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.hdr_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.obj_info == null);
+ assertFalse("H5Oget_native_info_by_idx ", native_info.attr_info == null);
+ assertTrue("testH5Oget_native_info_by_idx_n3:Object Header Info", native_info.hdr_info.equals(ohdr));
+ assertTrue("testH5Oget_native_info_by_idx_n3:Object Info", native_info.obj_info.equals(oinfo));
+ assertTrue("testH5Oget_native_info_by_idx_n3:Attribute Info", native_info.attr_info.equals(ainfo));
}
@Test
@@ -292,18 +549,18 @@ public class TestH5Obasic {
this.link_type = type;
}
}
- class H5O_iter_data implements H5O_iterate_t {
+ class H5O_iter_data implements H5O_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5O_iterate_t iter_data = new H5O_iter_data();
- class H5O_iter_callback implements H5O_iterate_cb {
- public int callback(long group, String name, H5O_info_t info, H5O_iterate_t op_data) {
+ H5O_iterate_opdata_t iter_data = new H5O_iter_data();
+ class H5O_iter_callback implements H5O_iterate_t {
+ public int callback(long group, String name, H5O_info_t info, H5O_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5O_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5O_iterate_cb iter_cb = new H5O_iter_callback();
+ H5O_iterate_t iter_cb = new H5O_iter_callback();
try {
H5.H5Ovisit(H5fid, HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, iter_cb, iter_data);
}
@@ -331,18 +588,18 @@ public class TestH5Obasic {
this.link_type = type;
}
}
- class H5O_iter_data implements H5O_iterate_t {
+ class H5O_iter_data implements H5O_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5O_iterate_t iter_data = new H5O_iter_data();
- class H5O_iter_callback implements H5O_iterate_cb {
- public int callback(long group, String name, H5O_info_t info, H5O_iterate_t op_data) {
+ H5O_iterate_opdata_t iter_data = new H5O_iter_data();
+ class H5O_iter_callback implements H5O_iterate_t {
+ public int callback(long group, String name, H5O_info_t info, H5O_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5O_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5O_iterate_cb iter_cb = new H5O_iter_callback();
+ H5O_iterate_t iter_cb = new H5O_iter_callback();
try {
H5.H5Ovisit_by_name(H5fid, "G1", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, iter_cb, iter_data, HDF5Constants.H5P_DEFAULT);
}
@@ -371,8 +628,8 @@ public class TestH5Obasic {
}
@Test
- public void testH5Oopen_by_addr() {
- long oid = -1;
+ public void testH5Oopen_by_token() {
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
try {
@@ -381,36 +638,36 @@ public class TestH5Obasic {
}
catch (Throwable err) {
err.printStackTrace();
- fail("testH5Oopen_by_addr: H5.H5Oget_info: " + err);
+ fail("testH5Oopen_by_token: H5.H5Oget_info: " + err);
}
- H5la_ds1 = obj_info.addr;
+ H5la_ds1 = obj_info.token;
try {H5.H5Oclose(oid);} catch (Exception ex) {}
try {
- oid = H5.H5Oopen_by_addr(H5fid, H5la_ds1);
+ oid = H5.H5Oopen_by_token(H5fid, H5la_ds1);
}
catch (Throwable err) {
err.printStackTrace();
- fail("testH5Oopen_by_addr: H5.H5Oopen_by_addr: " + err);
+ fail("testH5Oopen_by_token: H5.H5Oopen_by_token: " + err);
}
try {
obj_info = H5.H5Oget_info(oid);
}
catch (Throwable err) {
err.printStackTrace();
- fail("testH5Oopen_by_addr: H5.H5Oget_info: " + err);
+ fail("testH5Oopen_by_token: H5.H5Oget_info: " + err);
}
- assertFalse("testH5Oopen_by_addr: H5Oget_info ",obj_info==null);
- assertTrue("testH5Oopen_by_addr: H5Oget_info link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("testH5Oopen_by_addr: Link Address ",obj_info.addr==H5la_ds1);
+ assertFalse("testH5Oopen_by_token: H5Oget_info ",obj_info==null);
+ assertTrue("testH5Oopen_by_token: H5Oget_info link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
+ assertTrue("testH5Oopen_by_token: Link Object Token", obj_info.token.equals(H5la_ds1));
}
finally {
try{H5.H5Oclose(oid);} catch (Exception ex) {}
}
- }
+ }
@Test
public void testH5Oopen_by_idx_n0() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
try {
@@ -421,14 +678,14 @@ public class TestH5Obasic {
err.printStackTrace();
fail("testH5Oopen_by_idx_n0: H5.H5Oget_info: " + err);
}
- H5la_ds1 = obj_info.addr;
+ H5la_ds1 = obj_info.token;
try {H5.H5Oclose(oid);} catch (Exception ex) {}
try {
oid = H5.H5Oopen_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 0, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("testH5Oopen_by_addr: H5.H5Oopen_by_addr: " + err);
+ fail("testH5Oopen_by_idx_n0: H5.H5Oopen_by_idx: " + err);
}
try {
obj_info = H5.H5Oget_info(oid);
@@ -439,7 +696,7 @@ public class TestH5Obasic {
}
assertFalse("testH5Oopen_by_idx_n0: H5Oget_info_by_idx ",obj_info==null);
assertTrue("testH5Oopen_by_idx_n0: H5Oget_info_by_idx link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("testH5Oopen_by_idx_n0: Link Address ",obj_info.addr==H5la_ds1);
+ assertTrue("testH5Oopen_by_idx_n0: Link Object Token", obj_info.token.equals(H5la_ds1));
}
finally {
try{H5.H5Oclose(oid);} catch (Exception ex) {}
@@ -448,7 +705,7 @@ public class TestH5Obasic {
@Test
public void testH5Oopen_by_idx_n3() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
try {
@@ -459,14 +716,14 @@ public class TestH5Obasic {
err.printStackTrace();
fail("testH5Oopen_by_idx_n3:H5.H5Oget_info: " + err);
}
- H5la_l1 = obj_info.addr;
+ H5la_l1 = obj_info.token;
try {H5.H5Oclose(oid);} catch (Exception ex) {}
try {
oid = H5.H5Oopen_by_idx(H5fid, "/", HDF5Constants.H5_INDEX_NAME, HDF5Constants.H5_ITER_INC, 3, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("testH5Oopen_by_addr: H5.H5Oopen_by_addr: " + err);
+ fail("testH5Oopen_by_idx_n3: H5.H5Oopen_by_idx: " + err);
}
try {
obj_info = H5.H5Oget_info(oid);
@@ -477,7 +734,7 @@ public class TestH5Obasic {
}
assertFalse("testH5Oopen_by_idx_n3:H5Oget_info_by_idx ",obj_info==null);
assertTrue("testH5Oopen_by_idx_n3:H5Oget_info_by_idx link type",obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("testH5Oopen_by_idx_n3:Link Address ",obj_info.addr==H5la_l1);
+ assertTrue("testH5Oopen_by_idx_n3:Link Object Token", obj_info.token.equals(H5la_l1));
}
finally {
try{H5.H5Oclose(oid);} catch (Exception ex) {}
diff --git a/java/test/TestH5Ocopy.java b/java/test/TestH5Ocopy.java
index e730b9f..821cad3 100644
--- a/java/test/TestH5Ocopy.java
+++ b/java/test/TestH5Ocopy.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -36,13 +35,13 @@ public class TestH5Ocopy {
private static final String FILENAME = "testRefsattribute.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did1 = -1;
- long H5did2 = -1;
- long H5gcpl = -1;
- long H5gid = -1;
- long H5dsid2 = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did1 = HDF5Constants.H5I_INVALID_HID;
+ long H5did2 = HDF5Constants.H5I_INVALID_HID;
+ long H5gcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5gid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid2 = HDF5Constants.H5I_INVALID_HID;
long[] dims = { 2 };
private final void _deleteFile(String filename) {
@@ -59,7 +58,7 @@ public class TestH5Ocopy {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name,
HDF5Constants.H5T_STD_I32BE, dsid,
@@ -75,7 +74,7 @@ public class TestH5Ocopy {
}
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
H5gcpl = HDF5Constants.H5P_DEFAULT;
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
@@ -136,34 +135,47 @@ public class TestH5Ocopy {
@Test
public void testH5OcopyRefsAttr() {
- long ocp_plist_id = -1;
- byte rbuf0[]=null , rbuf1[] = null;
- byte[] dset_data = new byte[16];
- long attribute_id = -1;
-
-
- try {
- rbuf0 = H5.H5Rcreate(H5fid, "/G1", HDF5Constants.H5R_OBJECT, -1);
- rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
- //System.arraycopy(rbuf0, 0, dset_data, 0, 8);
- System.arraycopy(rbuf1, 0, dset_data, 8, 8);
- }
- catch (Exception ex) {
- fail("testH5OcopyRefsAttr: H5Rcreate failed");
- }
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ byte[][] dset_data = new byte[2][HDF5Constants.H5R_REF_BUF_SIZE];
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
try {
- attribute_id = H5.H5Acreate(H5did2, "A1", HDF5Constants.H5T_STD_REF_OBJ, H5dsid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
- assertTrue("testH5OcopyRefsAttr.H5Acreate: ", attribute_id >= 0);
- H5.H5Awrite(attribute_id, HDF5Constants.H5T_STD_REF_OBJ, dset_data);
-
- H5.H5Aclose(attribute_id);
+ try {
+ dset_data[0] = H5.H5Rcreate_object(H5fid, "/G1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsAttr: H5Rcreate_object " + err);
+ }
+
+ try {
+ dset_data[1] = H5.H5Rcreate_object(H5fid, "DS2", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsAttr: H5Rcreate_object " + err);
+ }
+
+ try {
+ attribute_id = H5.H5Acreate(H5did2, "A1", HDF5Constants.H5T_STD_REF, H5dsid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsAttr.H5Acreate: ", attribute_id >= 0);
+ H5.H5Awrite(attribute_id, HDF5Constants.H5T_STD_REF, dset_data);
+
+ H5.H5Aclose(attribute_id);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsAttr: H5Awrite failed");
+ }
+ finally {
+ try {H5.H5Aclose(attribute_id);} catch (Exception exx) {}
+ }
}
catch (Exception ex) {
- fail("testH5OcopyRefsAttr: H5Awrite failed");
+ ex.printStackTrace();
}
finally {
- try {H5.H5Aclose(attribute_id);} catch (Exception exx) {}
+ try {H5.H5Rdestroy(dset_data[1]);} catch (Exception ex) {}
+ try {H5.H5Rdestroy(dset_data[0]);} catch (Exception ex) {}
}
try {
@@ -182,30 +194,50 @@ public class TestH5Ocopy {
@Test
public void testH5OcopyRefsDatasettodiffFile() {
- byte rbuf1[] = null;
- byte[] dset_data = new byte[16];
- long ocp_plist_id = -1;
- long dataset_id = -1;
- long H5fid2 = -1;
+ byte[][] dset_data = new byte[2][HDF5Constants.H5R_REF_BUF_SIZE];
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long H5fid2 = HDF5Constants.H5I_INVALID_HID;
try {
- rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
- System.arraycopy(rbuf1, 0, dset_data, 8, 8);
-
- dataset_id = H5.H5Dcreate(H5fid, "DSREF",
- HDF5Constants.H5T_STD_REF_OBJ, H5dsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
- assertTrue("testH5OcopyRefsDatasettodiffFile.H5Dcreate: ", dataset_id >= 0);
- H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF_OBJ,
- HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
- HDF5Constants.H5P_DEFAULT, dset_data);
- H5.H5Dclose(dataset_id);
+ try {
+ dset_data[0] = H5.H5Rcreate_object(H5fid, "/G1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsDatasettodiffFile: H5Rcreate_object " + err);
+ }
+ try {
+ dset_data[1] = H5.H5Rcreate_object(H5fid, "DS2", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsDatasettodiffFile: H5Rcreate_object " + err);
+ }
+
+ try {
+ dataset_id = H5.H5Dcreate(H5fid, "DSREF",
+ HDF5Constants.H5T_STD_REF, H5dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettodiffFile.H5Dcreate: ", dataset_id >= 0);
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ H5.H5Dclose(dataset_id);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsDatasettodiffFile: create dataset failed");
+ }
+ finally {
+ try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
+ }
}
catch (Exception ex) {
- fail("testH5OcopyRefsDatasettodiffFile: create dataset failed");
+ ex.printStackTrace();
}
finally {
- try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
+ try {H5.H5Rdestroy(dset_data[0]);} catch (Exception ex) {}
+ try {H5.H5Rdestroy(dset_data[1]);} catch (Exception ex) {}
}
try {
@@ -242,123 +274,154 @@ public class TestH5Ocopy {
@Test
public void testH5OcopyRefsDatasettosameFile() {
- byte rbuf0[]=null , rbuf1[] = null;
- byte[] dset_data = new byte[16];
- long ocp_plist_id = -1;
- long dataset_id = -1;
- long did = -1;
+ byte[][] dset_data = new byte[2][HDF5Constants.H5R_REF_BUF_SIZE];
+ byte[][] read_data = new byte[2][HDF5Constants.H5R_REF_BUF_SIZE];
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long did = HDF5Constants.H5I_INVALID_HID;
int obj_type = -1;
- byte[] read_data = new byte[16];
try {
- rbuf0 = H5.H5Rcreate(H5fid, "/G1", HDF5Constants.H5R_OBJECT, -1);
- rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
- System.arraycopy(rbuf0, 0, dset_data, 0, 8);
- System.arraycopy(rbuf1, 0, dset_data, 8, 8);
-
- //Create a dataset and write object references to it.
- dataset_id = H5.H5Dcreate(H5fid, "DSREF",
- HDF5Constants.H5T_STD_REF_OBJ, H5dsid,
- HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
- assertTrue("testH5OcopyRefsDatasettosameFile.H5Dcreate: ", dataset_id >= 0);
- H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF_OBJ,
- HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
- HDF5Constants.H5P_DEFAULT, dset_data);
- //Close the dataset.
- H5.H5Dclose(dataset_id);
+ try {
+ dset_data[0] = H5.H5Rcreate_object(H5fid, "/G1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: H5Rcreate_object " + err);
+ }
+
+ try {
+ dset_data[1] = H5.H5Rcreate_object(H5fid, "DS2", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: H5Rcreate_object " + err);
+ }
+
+ try {
+ //Create a dataset and write object references to it.
+ dataset_id = H5.H5Dcreate(H5fid, "DSREF",
+ HDF5Constants.H5T_STD_REF, H5dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettosameFile.H5Dcreate: ", dataset_id >= 0);
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ //Close the dataset.
+ H5.H5Dclose(dataset_id);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsDatasettosameFile: create dataset failed");
+ }
+ finally {
+ try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
+ }
}
catch (Exception ex) {
- try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
- fail("testH5OcopyRefsDatasettosameFile: create dataset failed");
+ ex.printStackTrace();
+ }
+ finally {
+ try {H5.H5Rdestroy(dset_data[1]);} catch (Exception ex) {}
+ try {H5.H5Rdestroy(dset_data[0]);} catch (Exception ex) {}
}
try {
ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
assertTrue("testH5OcopyRefsDatasettosameFile.H5Pcreate: ", ocp_plist_id >= 0);
H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+ //Perform copy function.
+ try {
+ H5.H5Ocopy(H5fid, "DSREF", H5fid, "CPYREFD", ocp_plist_id, HDF5Constants.H5P_DEFAULT);
+ }
+ catch(Exception ex) {
+ fail("testH5OcopyRefsDatasettosameFile: H5Ocopy failed");
+ }
}
catch (Exception ex) {
- try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
fail("testH5OcopyRefsDatasettosameFile: H5Pset_copy_object failed");
}
-
- //Perform copy function.
- try {
- H5.H5Ocopy(H5fid, "DSREF", H5fid, "CPYREFD", ocp_plist_id, HDF5Constants.H5P_DEFAULT);
- }
- catch(Exception ex) {
+ finally {
try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
- fail("testH5OcopyRefsDatasettosameFile: H5Ocopy failed");
}
- //Open the dataset that has been copied
try {
- did = H5.H5Dopen(H5fid, "DSREF", HDF5Constants.H5P_DEFAULT);
- assertTrue("testH5OcopyRefsDatasettosameFile.H5Dopen: ", did >= 0);
+ //Open the dataset that has been copied
+ try {
+ did = H5.H5Dopen(H5fid, "DSREF", HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettosameFile.H5Dopen: ", did >= 0);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: H5Dopen failed");
+ }
+
+ //Read the dataset object references in the read_data buffer.
+ try {
+ H5.H5Dread(did, HDF5Constants.H5T_STD_REF, HDF5Constants.H5S_ALL,HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, read_data);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: H5Dread failed");
+ }
}
- catch (Exception e) {
- try {H5.H5Dclose(did);} catch (Exception exx) {}
- e.printStackTrace();
- fail("testH5OcopyRefsDatasettosameFile: H5Dopen failed");
+ catch (Exception ex) {
+ ex.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: open and read dataset failed");
+ }
+ finally {
+ try {H5.H5Dclose(did);} catch (Exception ex) {}
}
try {
- //Read the dataset object references in the read_data buffer.
- H5.H5Dread(did, HDF5Constants.H5T_STD_REF_OBJ, HDF5Constants.H5S_ALL,HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, read_data);
- System.arraycopy(read_data, 0, rbuf0, 0, 8);
- System.arraycopy(read_data, 8, rbuf1, 0, 8);
-
//Get the type of object the reference points to.
- obj_type = H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_OBJECT, rbuf1);
+ obj_type = H5.H5Rget_obj_type3(read_data[1], HDF5Constants.H5R_OBJECT);
assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
-
- obj_type = H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_OBJECT, rbuf0);
+
+ obj_type = H5.H5Rget_obj_type3(read_data[0], HDF5Constants.H5R_OBJECT);
assertEquals(obj_type, HDF5Constants.H5O_TYPE_GROUP);
}
catch (Exception ex) {
ex.printStackTrace();
}
finally {
- try {H5.H5Dclose(did);} catch (Exception ex) {}
- try {H5.H5Pclose(ocp_plist_id);} catch (Exception ex) {}
+ try {H5.H5Rdestroy(read_data[1]);} catch (Exception ex) {}
+ try {H5.H5Rdestroy(read_data[0]);} catch (Exception ex) {}
+ }
+ }
+
+ @Test
+ public void testH5OcopyNullRef() throws Throwable {
+ final long _pid_ = HDF5Constants.H5P_DEFAULT;
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long did = HDF5Constants.H5I_INVALID_HID;
+ long aid = HDF5Constants.H5I_INVALID_HID;
+
+ try {
+ sid = H5.H5Screate_simple(1, new long[] {1}, null);
+ assertTrue("testH5OcopyNullRef.H5Screate_simple: ", sid >= 0);
+ did = H5.H5Dcreate(H5fid, "Dataset_with_null_Ref", HDF5Constants.H5T_NATIVE_INT, sid, _pid_, _pid_, _pid_);
+ assertTrue("testH5OcopyNullRef.H5Dcreate: ", did > 0);
+ aid = H5.H5Acreate(did, "Null_Ref", HDF5Constants.H5T_STD_REF, sid, _pid_, _pid_);
+ assertTrue("testH5OcopyNullRef.H5Acreate: ", aid > 0);
}
- }
-
-// @Ignore because of JIRA HDF5-9547
-// @Test(expected = HDF5LibraryException.class)
-// public void testH5OcopyInvalidRef() throws Throwable {
-// final long _pid_ = HDF5Constants.H5P_DEFAULT;
-// long sid = -1;
-// long did = -1;
-// long aid = -1;
-//
-// try {
-// sid = H5.H5Screate_simple(1, new long[] {1}, null);
-// assertTrue("testH5OcopyInvalidRef.H5Screate_simple: ", sid >= 0);
-// did = H5.H5Dcreate(H5fid, "Dataset_with_invalid_Ref", HDF5Constants.H5T_NATIVE_INT, sid, _pid_, _pid_, _pid_);
-// assertTrue("testH5OcopyInvalidRef.H5Dcreate: ", did > 0);
-// aid = H5.H5Acreate(did, "Invalid_Ref", HDF5Constants.H5T_STD_REF_OBJ, sid, _pid_, _pid_);
-// assertTrue("testH5OcopyInvalidRef.H5Acreate: ", aid > 0);
-// H5.H5Awrite(aid, HDF5Constants.H5T_STD_REF_OBJ, new long[]{-1});
-// }
-// catch (Exception ex) {
-// ex.printStackTrace();
-// }
-// finally {
-// try {H5.H5Dclose(did);} catch (Exception exx) {}
-// try {H5.H5Aclose(aid);} catch (Exception exx) {}
-// try {H5.H5Sclose(sid);} catch (Exception exx) {}
-// }
-//
-// long ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
-// assertTrue("testH5OcopyInvalidRef.H5Pcreate: ", ocp_plist_id >= 0);
-// H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
-// try {
-// H5.H5Ocopy(H5fid, "/Dataset_with_invalid_Ref", H5fid, "/Dataset_with_invalid_Ref_cp", ocp_plist_id, _pid_);
-// }
-// finally {
-// try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
-// }
-// }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ finally {
+ try {H5.H5Dclose(did);} catch (Exception exx) {}
+ try {H5.H5Aclose(aid);} catch (Exception exx) {}
+ try {H5.H5Sclose(sid);} catch (Exception exx) {}
+ }
+
+ long ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+ assertTrue("testH5OcopyNullRef.H5Pcreate: ", ocp_plist_id >= 0);
+ H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+ try {
+ H5.H5Ocopy(H5fid, "/Dataset_with_null_Ref", H5fid, "/Dataset_with_null_Ref_cp", ocp_plist_id, _pid_);
+ }
+ finally {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
+ }
+ }
}
diff --git a/java/test/TestH5OcopyOld.java b/java/test/TestH5OcopyOld.java
new file mode 100644
index 0000000..e547051
--- /dev/null
+++ b/java/test/TestH5OcopyOld.java
@@ -0,0 +1,397 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * 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.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.exceptions.HDF5Exception;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
+
+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 TestH5OcopyOld {
+ @Rule public TestName testname = new TestName();
+ private static final String FILENAME = "testRefsattributeO.h5";
+ private static final int DIM_X = 4;
+ private static final int DIM_Y = 6;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did1 = HDF5Constants.H5I_INVALID_HID;
+ long H5did2 = HDF5Constants.H5I_INVALID_HID;
+ long H5gcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5gid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid2 = HDF5Constants.H5I_INVALID_HID;
+ long[] dims = { 2 };
+
+ private final void _deleteFile(String filename) {
+ File file = new File(filename);
+
+ if (file.exists()) {
+ try {
+ file.delete();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ private final long _createDataset(long fid, long dsid, String name, long dapl) {
+ long did = HDF5Constants.H5I_INVALID_HID;
+ try {
+ did = H5.H5Dcreate(fid, name,
+ HDF5Constants.H5T_STD_I32BE, dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Dcreate: " + err);
+ }
+ assertTrue("TestH5O._createDataset: ",did >= 0);
+
+ return did;
+ }
+
+ private final long _createGroup(long fid, String name) {
+ long gid = HDF5Constants.H5I_INVALID_HID;
+ try {
+ H5gcpl = HDF5Constants.H5P_DEFAULT;
+ gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
+ H5gcpl, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5Gcreate: " + err);
+ }
+ assertTrue("TestH5O._createGroup: ",gid >= 0);
+
+ return gid;
+ }
+
+ @Before
+ public void createH5file()
+ throws NullPointerException, HDF5Exception {
+ assertTrue("H5 open ids is 0",H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+ try {
+ H5fid = H5.H5Fcreate(FILENAME, HDF5Constants.H5F_ACC_TRUNC,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ H5dsid2 = H5.H5Screate(HDF5Constants.H5S_SCALAR);
+ H5did1 = _createDataset(H5fid, H5dsid2, "DS2", HDF5Constants.H5P_DEFAULT);
+ H5dsid = H5.H5Screate_simple(1, dims, null);
+ H5gid = _createGroup(H5fid, "/G1");
+ H5did2 = _createDataset(H5gid, H5dsid, "DS1", HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5O.createH5file: " + err);
+ }
+ assertTrue("TestH5O.createH5file: H5.H5Fcreate: ",H5fid >= 0);
+ assertTrue("TestH5O.createH5file: H5.H5Screate_simple: ",H5dsid >= 0);
+ assertTrue("TestH5O.createH5file: H5.H5Gcreate: ",H5gid >= 0);
+
+ H5.H5Fflush(H5fid, HDF5Constants.H5F_SCOPE_LOCAL);
+ }
+
+ @After
+ public void deleteH5file() throws HDF5LibraryException {
+ if (H5gid > 0)
+ try {H5.H5Gclose(H5gid);} catch (Exception ex) {}
+ if (H5did2 > 0)
+ try {H5.H5Dclose(H5did2);} catch (Exception ex) {}
+ if (H5dsid > 0)
+ try {H5.H5Sclose(H5dsid);} catch (Exception ex) {}
+ if (H5dsid2 > 0)
+ try {H5.H5Sclose(H5dsid2);} catch (Exception ex) {}
+ if (H5did1 > 0)
+ try {H5.H5Dclose(H5did1);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+
+ _deleteFile(FILENAME);
+ System.out.println();
+ }
+
+ @Test
+ public void testH5OcopyRefsAttr() {
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ byte rbuf0[]=null , rbuf1[] = null;
+ byte[] dset_data = new byte[16];
+ long attribute_id = HDF5Constants.H5I_INVALID_HID;
+
+ try {
+ rbuf0 = H5.H5Rcreate(H5fid, "/G1", HDF5Constants.H5R_OBJECT, -1);
+ rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
+ //System.arraycopy(rbuf0, 0, dset_data, 0, 8);
+ System.arraycopy(rbuf1, 0, dset_data, 8, 8);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsAttr: H5Rcreate failed");
+ }
+
+ try {
+ attribute_id = H5.H5Acreate(H5did2, "A1", HDF5Constants.H5T_STD_REF_OBJ, H5dsid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsAttr.H5Acreate: ", attribute_id >= 0);
+ H5.H5Awrite(attribute_id, HDF5Constants.H5T_STD_REF_OBJ, dset_data);
+
+ H5.H5Aclose(attribute_id);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsAttr: H5Awrite failed");
+ }
+ finally {
+ try {H5.H5Aclose(attribute_id);} catch (Exception exx) {}
+ }
+
+ try {
+ ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+ assertTrue("testH5OcopyRefsAttr.H5Pcreate: ", ocp_plist_id >= 0);
+ H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+ H5.H5Ocopy(H5fid, ".", H5fid, "CPYREF", ocp_plist_id, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsAttr: H5Ocopy failed");
+ }
+ finally {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception ex) {}
+ }
+ }
+
+ @Test
+ public void testH5OcopyRefsDatasettodiffFile() {
+ byte rbuf1[] = null;
+ byte[] dset_data = new byte[16];
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long H5fid2 = HDF5Constants.H5I_INVALID_HID;
+
+ try {
+ rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
+ System.arraycopy(rbuf1, 0, dset_data, 8, 8);
+
+ dataset_id = H5.H5Dcreate(H5fid, "DSREF",
+ HDF5Constants.H5T_STD_REF_OBJ, H5dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettodiffFile.H5Dcreate: ", dataset_id >= 0);
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF_OBJ,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ H5.H5Dclose(dataset_id);
+ }
+ catch (Exception ex) {
+ fail("testH5OcopyRefsDatasettodiffFile: create dataset failed");
+ }
+ finally {
+ try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
+ }
+
+ try {
+ //create new file
+ H5fid2 = H5.H5Fcreate("copy.h5", HDF5Constants.H5F_ACC_TRUNC,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettodiffFile.H5Fcreate: ", H5fid2 >= 0);
+ H5.H5Fflush(H5fid2, HDF5Constants.H5F_SCOPE_LOCAL);
+ }
+ catch (Exception ex) {
+ try {H5.H5Fclose(H5fid2);} catch (Exception exx) {}
+ fail("testH5OcopyRefsDatasettodiffFile: H5Fcreate failed");
+ }
+
+ try {
+ //create object copy property list id and set the flags.
+ ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+ assertTrue("testH5OcopyRefsDatasettodiffFile.H5Pcreate: ", ocp_plist_id >= 0);
+ H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+
+ //Perform copy function.
+ H5.H5Ocopy(H5fid, ".", H5fid2, "CPYREFD", ocp_plist_id, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception ex){
+ ex.printStackTrace();
+ fail("testH5OcopyRefsDatasettodiffFile: H5Ocopy failed");
+ }
+ finally {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception ex) {}
+ try {H5.H5Fclose(H5fid2);} catch (Exception ex) {}
+ }
+ _deleteFile("copy.h5");
+ }
+
+ @Test
+ public void testH5OcopyRefsDatasettosameFile() {
+ byte rbuf0[]=null , rbuf1[] = null;
+ byte[] dset_data = new byte[16];
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long did = HDF5Constants.H5I_INVALID_HID;
+ int obj_type = -1;
+ byte[] read_data = new byte[16];
+
+ try {
+ rbuf0 = H5.H5Rcreate(H5fid, "/G1", HDF5Constants.H5R_OBJECT, -1);
+ rbuf1 = H5.H5Rcreate(H5fid, "DS2", HDF5Constants.H5R_OBJECT, -1);
+ System.arraycopy(rbuf0, 0, dset_data, 0, 8);
+ System.arraycopy(rbuf1, 0, dset_data, 8, 8);
+
+ //Create a dataset and write object references to it.
+ dataset_id = H5.H5Dcreate(H5fid, "DSREF",
+ HDF5Constants.H5T_STD_REF_OBJ, H5dsid,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettosameFile.H5Dcreate: ", dataset_id >= 0);
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_STD_REF_OBJ,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data);
+ //Close the dataset.
+ H5.H5Dclose(dataset_id);
+ }
+ catch (Exception ex) {
+ try {H5.H5Dclose(dataset_id);} catch (Exception exx) {}
+ fail("testH5OcopyRefsDatasettosameFile: create dataset failed");
+ }
+
+ try {
+ ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+ assertTrue("testH5OcopyRefsDatasettosameFile.H5Pcreate: ", ocp_plist_id >= 0);
+ H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+ }
+ catch (Exception ex) {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
+ fail("testH5OcopyRefsDatasettosameFile: H5Pset_copy_object failed");
+ }
+
+ //Perform copy function.
+ try {
+ H5.H5Ocopy(H5fid, "DSREF", H5fid, "CPYREFD", ocp_plist_id, HDF5Constants.H5P_DEFAULT);
+ }
+ catch(Exception ex) {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
+ fail("testH5OcopyRefsDatasettosameFile: H5Ocopy failed");
+ }
+
+ //Open the dataset that has been copied
+ try {
+ did = H5.H5Dopen(H5fid, "DSREF", HDF5Constants.H5P_DEFAULT);
+ assertTrue("testH5OcopyRefsDatasettosameFile.H5Dopen: ", did >= 0);
+ }
+ catch (Exception e) {
+ try {H5.H5Dclose(did);} catch (Exception exx) {}
+ e.printStackTrace();
+ fail("testH5OcopyRefsDatasettosameFile: H5Dopen failed");
+ }
+
+ try {
+ //Read the dataset object references in the read_data buffer.
+ H5.H5Dread(did, HDF5Constants.H5T_STD_REF_OBJ, HDF5Constants.H5S_ALL,HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, read_data);
+ System.arraycopy(read_data, 0, rbuf0, 0, 8);
+ System.arraycopy(read_data, 8, rbuf1, 0, 8);
+
+ //Get the type of object the reference points to.
+ obj_type = H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_OBJECT, rbuf1);
+ assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
+
+ obj_type = H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_OBJECT, rbuf0);
+ assertEquals(obj_type, HDF5Constants.H5O_TYPE_GROUP);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ finally {
+ try {H5.H5Dclose(did);} catch (Exception ex) {}
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception ex) {}
+ }
+ }
+
+ @Test
+ public void testH5OcopyNullRef() throws Throwable {
+ final long _pid_ = HDF5Constants.H5P_DEFAULT;
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long did = HDF5Constants.H5I_INVALID_HID;
+ long aid = HDF5Constants.H5I_INVALID_HID;
+
+ try {
+ sid = H5.H5Screate_simple(1, new long[] {1}, null);
+ assertTrue("testH5OcopyNullRef.H5Screate_simple: ", sid >= 0);
+ did = H5.H5Dcreate(H5fid, "Dataset_with_null_Ref", HDF5Constants.H5T_NATIVE_INT, sid, _pid_, _pid_, _pid_);
+ assertTrue("testH5OcopyNullRef.H5Dcreate: ", did > 0);
+ aid = H5.H5Acreate(did, "Null_Ref", HDF5Constants.H5T_STD_REF_OBJ, sid, _pid_, _pid_);
+ assertTrue("testH5OcopyNullRef.H5Acreate: ", aid > 0);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ finally {
+ try {H5.H5Dclose(did);} catch (Exception exx) {}
+ try {H5.H5Aclose(aid);} catch (Exception exx) {}
+ try {H5.H5Sclose(sid);} catch (Exception exx) {}
+ }
+
+ long ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+ assertTrue("testH5OcopyNullRef.H5Pcreate: ", ocp_plist_id >= 0);
+ H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+ try {
+ H5.H5Ocopy(H5fid, "/Dataset_with_null_Ref", H5fid, "/Dataset_with_null_Ref_cp", ocp_plist_id, _pid_);
+ }
+ finally {
+ try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
+ }
+ }
+
+// @Ignore because of JIRA HDF5-9547
+// @Test(expected = HDF5LibraryException.class)
+// public void testH5OcopyInvalidRef() throws Throwable {
+// final long _pid_ = HDF5Constants.H5P_DEFAULT;
+// long sid = HDF5Constants.H5I_INVALID_HID;
+// long did = HDF5Constants.H5I_INVALID_HID;
+// long aid = HDF5Constants.H5I_INVALID_HID;
+//
+// try {
+// sid = H5.H5Screate_simple(1, new long[] {1}, null);
+// assertTrue("testH5OcopyInvalidRef.H5Screate_simple: ", sid >= 0);
+// did = H5.H5Dcreate(H5fid, "Dataset_with_invalid_Ref", HDF5Constants.H5T_NATIVE_INT, sid, _pid_, _pid_, _pid_);
+// assertTrue("testH5OcopyInvalidRef.H5Dcreate: ", did > 0);
+// aid = H5.H5Acreate(did, "Invalid_Ref", HDF5Constants.H5T_STD_REF_OBJ, sid, _pid_, _pid_);
+// assertTrue("testH5OcopyInvalidRef.H5Acreate: ", aid > 0);
+// H5.H5Awrite(aid, HDF5Constants.H5T_STD_REF_OBJ, new long[]{-1});
+// }
+// catch (Exception ex) {
+// ex.printStackTrace();
+// }
+// finally {
+// try {H5.H5Dclose(did);} catch (Exception exx) {}
+// try {H5.H5Aclose(aid);} catch (Exception exx) {}
+// try {H5.H5Sclose(sid);} catch (Exception exx) {}
+// }
+//
+// long ocp_plist_id = H5.H5Pcreate(HDF5Constants.H5P_OBJECT_COPY);
+// assertTrue("testH5OcopyInvalidRef.H5Pcreate: ", ocp_plist_id >= 0);
+// H5.H5Pset_copy_object(ocp_plist_id, HDF5Constants.H5O_COPY_EXPAND_REFERENCE_FLAG);
+// try {
+// H5.H5Ocopy(H5fid, "/Dataset_with_invalid_Ref", H5fid, "/Dataset_with_invalid_Ref_cp", ocp_plist_id, _pid_);
+// }
+// finally {
+// try {H5.H5Pclose(ocp_plist_id);} catch (Exception exx) {}
+// }
+// }
+
+}
diff --git a/java/test/TestH5Ocreate.java b/java/test/TestH5Ocreate.java
index de17d8b..78ea744 100644
--- a/java/test/TestH5Ocreate.java
+++ b/java/test/TestH5Ocreate.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -22,8 +21,8 @@ import java.util.ArrayList;
import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
-import hdf.hdf5lib.callbacks.H5O_iterate_cb;
import hdf.hdf5lib.callbacks.H5O_iterate_t;
+import hdf.hdf5lib.callbacks.H5O_iterate_opdata_t;
import hdf.hdf5lib.exceptions.HDF5Exception;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
import hdf.hdf5lib.structs.H5O_info_t;
@@ -41,13 +40,13 @@ public class TestH5Ocreate {
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;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did1 = -1;
- long H5did2 = -1;
- long H5gcpl = -1;
- long H5gid = -1;
+ long H5fcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did1 = HDF5Constants.H5I_INVALID_HID;
+ long H5did2 = HDF5Constants.H5I_INVALID_HID;
+ long H5gcpl = HDF5Constants.H5I_INVALID_HID;
+ long H5gid = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
private final void _deleteFile(String filename) {
@@ -64,7 +63,7 @@ public class TestH5Ocreate {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name,
HDF5Constants.H5T_STD_I32BE, dsid,
@@ -80,7 +79,7 @@ public class TestH5Ocreate {
}
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
H5gcpl = HDF5Constants.H5P_DEFAULT;
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
@@ -264,9 +263,9 @@ public class TestH5Ocreate {
err.printStackTrace();
fail("H5.H5Oget_info: " + err);
}
- assertFalse("H5Oget_info ", obj_info==null);
+ assertFalse("H5Oget_info", obj_info==null);
assertTrue("H5Oget_info link type", obj_info.type==HDF5Constants.H5O_TYPE_DATASET);
- assertTrue("Link Address ", obj_info.addr>0);
+ assertTrue("Link Object Token", obj_info.token != null);
}
@Test(expected = HDF5LibraryException.class)
@@ -286,14 +285,14 @@ public class TestH5Ocreate {
err.printStackTrace();
fail("H5.H5Oget_info: " + err);
}
- assertFalse("H5Oget_info ", obj_info==null);
+ assertFalse("H5Oget_info", obj_info==null);
assertTrue("H5Oget_info link type", obj_info.type==HDF5Constants.H5O_TYPE_NAMED_DATATYPE);
- assertTrue("Link Address ", obj_info.addr>0);
+ assertTrue("Link Object Token", obj_info.token != null);
}
@Test
public void testH5Olink() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
H5O_info_t dst_obj_info = null;
try {
@@ -351,18 +350,18 @@ public class TestH5Ocreate {
this.link_type = type;
}
}
- class H5O_iter_data implements H5O_iterate_t {
+ class H5O_iter_data implements H5O_iterate_opdata_t {
public ArrayList<idata> iterdata = new ArrayList<idata>();
}
- H5O_iterate_t iter_data = new H5O_iter_data();
- class H5O_iter_callback implements H5O_iterate_cb {
- public int callback(long group, String name, H5O_info_t info, H5O_iterate_t op_data) {
+ H5O_iterate_opdata_t iter_data = new H5O_iter_data();
+ class H5O_iter_callback implements H5O_iterate_t {
+ public int callback(long group, String name, H5O_info_t info, H5O_iterate_opdata_t op_data) {
idata id = new idata(name, info.type);
((H5O_iter_data)op_data).iterdata.add(id);
return 0;
}
}
- H5O_iterate_cb iter_cb = new H5O_iter_callback();
+ H5O_iterate_t iter_cb = new H5O_iter_callback();
try {
H5.H5Ovisit(H5fid, HDF5Constants.H5_INDEX_CRT_ORDER, HDF5Constants.H5_ITER_INC, iter_cb, iter_data);
}
@@ -380,7 +379,7 @@ public class TestH5Ocreate {
@Test
public void testH5Ocomment() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
String obj_comment = null;
try {
oid = H5.H5Oopen(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
@@ -405,7 +404,7 @@ public class TestH5Ocreate {
@Test
public void testH5Ocomment_clear() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
String obj_comment = null;
try {
oid = H5.H5Oopen(H5fid, "DS1", HDF5Constants.H5P_DEFAULT);
@@ -506,7 +505,7 @@ public class TestH5Ocreate {
@Test
public void testH5Oinc_dec_count() {
- long oid = -1;
+ long oid = HDF5Constants.H5I_INVALID_HID;
H5O_info_t obj_info = null;
try {
try {
diff --git a/java/test/TestH5Oparams.java b/java/test/TestH5Oparams.java
index cac3dcd..5cbabe1 100644
--- a/java/test/TestH5Oparams.java
+++ b/java/test/TestH5Oparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -95,6 +94,31 @@ public class TestH5Oparams {
}
@Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_invalid() throws Throwable {
+ H5.H5Oget_native_info(-1, 0);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Oget_native_info_by_name_null() throws Throwable {
+ H5.H5Oget_native_info_by_name(-1, null, 0, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_name_invalid() throws Throwable {
+ H5.H5Oget_native_info_by_name(-1, "/testH5Gcreate", 0, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
+ public void testH5Oget_native_info_by_idx_invalid() throws Throwable {
+ H5.H5Oget_native_info_by_idx(-1, "Bogus", -1, -1, -1L, 0, -1);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Oget_native_info_by_idx_null() throws Throwable {
+ H5.H5Oget_native_info_by_idx(-1, null, 0, 0, 0L, 0, 0);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
public void testH5Olink_invalid() throws Throwable {
H5.H5Olink(-1, -1, "Bogus", -1, -1);
}
diff --git a/java/test/TestH5P.java b/java/test/TestH5P.java
index b1c29b2..6ae93d9 100644
--- a/java/test/TestH5P.java
+++ b/java/test/TestH5P.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -41,20 +40,20 @@ public class TestH5P {
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
long[] H5dims = { DIM_X, DIM_Y };
- long H5fid = -1;
- long H5dsid = -1;
- long H5did = -1;
- long lapl_id = -1;
- long fapl_id = -1;
- long fcpl_id = -1;
- long ocpl_id = -1;
- long ocp_plist_id = -1;
- long lcpl_id = -1;
- long plapl_id = -1;
- long plist_id = -1;
- long gapl_id = -1;
- long gcpl_id = -1;
- long acpl_id = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long lapl_id = HDF5Constants.H5I_INVALID_HID;
+ long fapl_id = HDF5Constants.H5I_INVALID_HID;
+ long fcpl_id = HDF5Constants.H5I_INVALID_HID;
+ long ocpl_id = HDF5Constants.H5I_INVALID_HID;
+ long ocp_plist_id = HDF5Constants.H5I_INVALID_HID;
+ long lcpl_id = HDF5Constants.H5I_INVALID_HID;
+ long plapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
+ long gapl_id = HDF5Constants.H5I_INVALID_HID;
+ long gcpl_id = HDF5Constants.H5I_INVALID_HID;
+ long acpl_id = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -65,7 +64,7 @@ public class TestH5P {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32BE, dsid,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
@@ -1174,12 +1173,12 @@ public class TestH5P {
strategy = H5.H5Pget_file_space_strategy(fcpl_id, persist, threshold);
assertTrue("strategy(default): "+strategy, strategy == HDF5Constants.H5F_FSPACE_STRATEGY_FSM_AGGR);
assertTrue("persist(default): "+persist[0], persist[0] == false);
- assertTrue("theshold(default): "+threshold[0], threshold[0] == 1);
+ assertTrue("threshold(default): "+threshold[0], threshold[0] == 1);
H5.H5Pset_file_space_strategy(fcpl_id, HDF5Constants.H5F_FSPACE_STRATEGY_PAGE, true, 1);
strategy = H5.H5Pget_file_space_strategy(fcpl_id, persist, threshold);
assertTrue("strategy: "+strategy, strategy == HDF5Constants.H5F_FSPACE_STRATEGY_PAGE);
assertTrue("persist: "+persist[0], persist[0] == true);
- assertTrue("theshold: "+threshold[0], threshold[0] == 1);
+ assertTrue("threshold: "+threshold[0], threshold[0] == 1);
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5PData.java b/java/test/TestH5PData.java
index dfd8e87..8b04629 100644
--- a/java/test/TestH5PData.java
+++ b/java/test/TestH5PData.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -37,10 +36,10 @@ public class TestH5PData {
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;
- long H5dsid = -1;
- long H5did = -1;
- long plist_id = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
double windchillF[][] =
{{36.0, 31.0, 25.0, 19.0, 13.0, 7.0, 1.0, -5.0, -11.0, -16.0, -22.0, -28.0, -34.0, -40.0, -46.0, -52.0, -57.0, -63.0},
@@ -66,7 +65,7 @@ public class TestH5PData {
}
private final long _createFloatDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_NATIVE_FLOAT, dsid,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
diff --git a/java/test/TestH5PL.java b/java/test/TestH5PL.java
index 8ce708b..d44cc0b 100644
--- a/java/test/TestH5PL.java
+++ b/java/test/TestH5PL.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -147,11 +146,11 @@ public class TestH5PL {
@Ignore
public void TestH5PLdlopen() {
- long file_id = -1;
- long filespace_id = -1;
- long dataset_id = -1;
- long fapl_id = -1;
- long dcpl_id = -1;
+ long file_id = HDF5Constants.H5I_INVALID_HID;
+ long filespace_id = HDF5Constants.H5I_INVALID_HID;
+ long dataset_id = HDF5Constants.H5I_INVALID_HID;
+ long fapl_id = HDF5Constants.H5I_INVALID_HID;
+ long dcpl_id = HDF5Constants.H5I_INVALID_HID;
try {
int[] cd_values = {9, 0, 0, 0};
int[] libversion = {0, 0, 0};
diff --git a/java/test/TestH5Pfapl.java b/java/test/TestH5Pfapl.java
index 10a79dd..f6be24f 100644
--- a/java/test/TestH5Pfapl.java
+++ b/java/test/TestH5Pfapl.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -47,17 +46,17 @@ public class TestH5Pfapl {
private static final int DIM_Y = 6;
private static final int DIMF_X = 12;
private static final int DIMF_Y = 18;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did = -1;
- long H5Fdsid = -1;
- long H5Fdid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long H5Fdsid = HDF5Constants.H5I_INVALID_HID;
+ long H5Fdid = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
- long fapl_id = -1;
- long plapl_id = -1;
- long dapl_id = -1;
- long plist_id = -1;
- long btplist_id = -1;
+ long fapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plapl_id = HDF5Constants.H5I_INVALID_HID;
+ long dapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
+ long btplist_id = HDF5Constants.H5I_INVALID_HID;
long[] H5Fdims = { DIMF_X, DIMF_Y };
double windchillF[][] =
{{36.0, 31.0, 25.0, 19.0, 13.0, 7.0, 1.0, -5.0, -11.0, -16.0, -22.0, -28.0, -34.0, -40.0, -46.0, -52.0, -57.0, -63.0},
@@ -103,7 +102,7 @@ public class TestH5Pfapl {
for(int indx = 0; ;indx++) {
java.text.DecimalFormat myFormat = new java.text.DecimalFormat("00000");
try {
- file = new File("test"+myFormat.format(new Integer(indx))+".h5");
+ file = new File("test"+myFormat.format(Integer.valueOf(indx))+".h5");
}
catch (Throwable err) {}
@@ -130,7 +129,7 @@ public class TestH5Pfapl {
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name, HDF5Constants.H5T_STD_I32BE, dsid,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT, dapl);
@@ -385,7 +384,7 @@ public class TestH5Pfapl {
@Test
public void testH5Pget_elink_fapl() {
- long ret_val_id = -1;
+ long ret_val_id = HDF5Constants.H5I_INVALID_HID;
try {
ret_val_id = H5.H5Pget_elink_fapl(plapl_id);
assertTrue("H5Pget_elink_fapl", ret_val_id >= 0);
@@ -403,7 +402,7 @@ public class TestH5Pfapl {
@Test
public void testH5P_elink_fapl() {
- long ret_val_id = -1;
+ long ret_val_id = HDF5Constants.H5I_INVALID_HID;
try {
H5.H5Pset_elink_fapl(plapl_id, fapl_id );
ret_val_id = H5.H5Pget_elink_fapl(plapl_id);
@@ -421,7 +420,7 @@ public class TestH5Pfapl {
@Test
public void testH5P_elink_file_cache_size() {
- long elink_fapl_id = -1;
+ long elink_fapl_id = HDF5Constants.H5I_INVALID_HID;
int efc_size = 0;
try {
H5.H5Pset_elink_fapl(plapl_id, fapl_id );
@@ -893,7 +892,7 @@ public class TestH5Pfapl {
try {
H5.H5Pset_fapl_multi(fapl_id, member_map, member_fapl, member_name, member_addr, true);
long driver_type = H5.H5Pget_driver(fapl_id);
- assertTrue("H5Pget_driver: muti = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
+ assertTrue("H5Pget_driver: multi = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
}
catch (Throwable err) {
err.printStackTrace();
@@ -933,7 +932,7 @@ public class TestH5Pfapl {
try {
H5.H5Pset_fapl_multi(fapl_id, member_map, member_fapl, member_name, member_addr, true);
long driver_type = H5.H5Pget_driver(fapl_id);
- assertTrue("H5Pget_driver: muti = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
+ assertTrue("H5Pget_driver: multi = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
}
catch (Throwable err) {
err.printStackTrace();
@@ -1002,7 +1001,7 @@ public class TestH5Pfapl {
try {
H5.H5Pset_fapl_multi(fapl_id, member_map, member_fapl, member_name, member_addr, true);
long driver_type = H5.H5Pget_driver(fapl_id);
- assertTrue("H5Pget_driver: muti = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
+ assertTrue("H5Pget_driver: multi = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
}
catch (Throwable err) {
err.printStackTrace();
@@ -1224,7 +1223,7 @@ public class TestH5Pfapl {
try {
H5.H5Pset_fapl_multi(fapl_id, member_map, member_fapl, member_name, member_addr, true);
long driver_type = H5.H5Pget_driver(fapl_id);
- assertTrue("H5Pget_driver: muti = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
+ assertTrue("H5Pget_driver: multi = "+ driver_type, HDF5Constants.H5FD_MULTI==driver_type);
}
catch (Throwable err) {
err.printStackTrace();
@@ -1398,4 +1397,36 @@ public class TestH5Pfapl {
fail("H5P_evict_on_close: " + err);
}
}
+
+ @Test
+ public void testH5P_file_locking() {
+ boolean use_file_locking = false;
+ boolean ignore_disabled_file_locking = false;
+ try {
+ // false values (usually not the default)
+ H5.H5Pset_file_locking(fapl_id, false, false);
+ use_file_locking = H5.H5Pget_use_file_locking(fapl_id);
+ ignore_disabled_file_locking = H5.H5Pget_ignore_disabled_file_locking(fapl_id);
+ assertFalse("H5P_file_locking", use_file_locking);
+ assertFalse("H5P_file_locking", ignore_disabled_file_locking);
+
+ // true values (typically the default)
+ H5.H5Pset_file_locking(fapl_id, true, true);
+ use_file_locking = H5.H5Pget_use_file_locking(fapl_id);
+ ignore_disabled_file_locking = H5.H5Pget_ignore_disabled_file_locking(fapl_id);
+ assertTrue("H5P_file_locking", use_file_locking);
+ assertTrue("H5P_file_locking", ignore_disabled_file_locking);
+ }
+ catch (HDF5PropertyListInterfaceException err) {
+ // parallel is not supported
+ if (err.getMinorErrorNumber() != HDF5Constants.H5E_UNSUPPORTED) {
+ err.printStackTrace();
+ fail("H5P_test_file_locking: " + err);
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5P_test_file_locking: " + err);
+ }
+ }
}
diff --git a/java/test/TestH5Pfaplhdfs.java b/java/test/TestH5Pfaplhdfs.java
index b0d42d8..d922666 100644
--- a/java/test/TestH5Pfaplhdfs.java
+++ b/java/test/TestH5Pfaplhdfs.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -34,11 +33,11 @@ import org.junit.rules.TestName;
public class TestH5Pfaplhdfs {
@Rule public TestName testname = new TestName();
- long fapl_id = -1;
- long plapl_id = -1;
- long dapl_id = -1;
- long plist_id = -1;
- long btplist_id = -1;
+ long fapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plapl_id = HDF5Constants.H5I_INVALID_HID;
+ long dapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
+ long btplist_id = HDF5Constants.H5I_INVALID_HID;
@Before
public void createFileAccess() throws NullPointerException, HDF5Exception
diff --git a/java/test/TestH5Pfapls3.java b/java/test/TestH5Pfapls3.java
index ba10524..dda2716 100644
--- a/java/test/TestH5Pfapls3.java
+++ b/java/test/TestH5Pfapls3.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -34,11 +33,11 @@ import org.junit.rules.TestName;
public class TestH5Pfapls3 {
@Rule public TestName testname = new TestName();
- long fapl_id = -1;
- long plapl_id = -1;
- long dapl_id = -1;
- long plist_id = -1;
- long btplist_id = -1;
+ long fapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plapl_id = HDF5Constants.H5I_INVALID_HID;
+ long dapl_id = HDF5Constants.H5I_INVALID_HID;
+ long plist_id = HDF5Constants.H5I_INVALID_HID;
+ long btplist_id = HDF5Constants.H5I_INVALID_HID;
@Before
public void createFileAccess() throws NullPointerException, HDF5Exception
diff --git a/java/test/TestH5Plist.java b/java/test/TestH5Plist.java
index e318cc9..03e1c8f 100644
--- a/java/test/TestH5Plist.java
+++ b/java/test/TestH5Plist.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -85,7 +84,7 @@ public class TestH5Plist {
PROP3_NAME,
PROP4_NAME};
- long plist_class_id = -1;
+ long plist_class_id = HDF5Constants.H5I_INVALID_HID;
@Before
public void createPropClass()throws NullPointerException, HDF5Exception
@@ -114,9 +113,9 @@ public class TestH5Plist {
@Test
public void testH5P_genprop_basic_class() {
int status = -1;
- long cid1 = -1; // Generic Property class ID
- long cid2 = -1; // Generic Property class ID
- long cid3 = -1; // Generic Property class ID
+ long cid1 = HDF5Constants.H5I_INVALID_HID; // Generic Property class ID
+ long cid2 = HDF5Constants.H5I_INVALID_HID; // Generic Property class ID
+ long cid3 = HDF5Constants.H5I_INVALID_HID; // Generic Property class ID
String name = null; // Name of class
try {
@@ -149,7 +148,7 @@ public class TestH5Plist {
}
assertTrue("H5Pequal cid2", status >= 0);
- // Make certain false postives aren't being returned
+ // Make certain false positives aren't being returned
try {
status = H5.H5Pequal(cid2, HDF5Constants.H5P_FILE_CREATE);
}
@@ -162,7 +161,7 @@ public class TestH5Plist {
// Close parent class
try {
H5.H5Pclose_class(cid2);
- cid2 = -1;
+ cid2 = HDF5Constants.H5I_INVALID_HID;
}
catch (Throwable err) {
err.printStackTrace();
@@ -172,7 +171,7 @@ public class TestH5Plist {
// Close class
try {
H5.H5Pclose_class(plist_class_id);
- plist_class_id = -1;
+ plist_class_id = HDF5Constants.H5I_INVALID_HID;
}
catch (Throwable err) {
err.printStackTrace();
@@ -242,7 +241,7 @@ public class TestH5Plist {
// Close parent class's parent
try {
H5.H5Pclose_class(cid3);
- cid3 = -1;
+ cid3 = HDF5Constants.H5I_INVALID_HID;
}
catch (Throwable err) {
err.printStackTrace();
@@ -252,7 +251,7 @@ public class TestH5Plist {
// Close parent class's parent
try {
H5.H5Pclose_class(cid2);
- cid2 = -1;
+ cid2 = HDF5Constants.H5I_INVALID_HID;
}
catch (Throwable err) {
err.printStackTrace();
@@ -262,7 +261,7 @@ public class TestH5Plist {
// Close parent class's parent
try {
H5.H5Pclose_class(cid1);
- cid1 = -1;
+ cid1 = HDF5Constants.H5I_INVALID_HID;
}
catch (Throwable err) {
err.printStackTrace();
@@ -296,7 +295,7 @@ public class TestH5Plist {
}
assertTrue("H5Pget_nprops: "+nprops, nprops==0);
- // Check the existance of the first property (should fail)
+ // Check the existence of the first property (should fail)
try {
status = H5.H5Pexist(plist_class_id, PROP1_NAME);
}
@@ -327,7 +326,7 @@ public class TestH5Plist {
catch (Throwable err) {
}
- // Check the existance of the first property
+ // Check the existence of the first property
try {
status = H5.H5Pexist(plist_class_id, PROP1_NAME);
}
@@ -378,7 +377,7 @@ public class TestH5Plist {
catch (Throwable err) {
}
- // Check the existance of the second property
+ // Check the existence of the second property
try {
status = H5.H5Pexist(plist_class_id, PROP2_NAME);
}
@@ -419,7 +418,7 @@ public class TestH5Plist {
fail("H5Pregister2 plist_class_id: "+PROP3_NAME + err);
}
- // Check the existance of the third property
+ // Check the existence of the third property
try {
status = H5.H5Pexist(plist_class_id, PROP3_NAME);
}
@@ -634,7 +633,7 @@ public class TestH5Plist {
@Test
public void testH5P_genprop_basic_list_prop() {
boolean status = false;
- long lid1 = -1; // Generic Property list ID
+ long lid1 = HDF5Constants.H5I_INVALID_HID; // Generic Property list ID
long nprops = -1; // Number of properties in class
try {
@@ -760,7 +759,7 @@ public class TestH5Plist {
// @Test
// public void testH5P_genprop_class_callback() {
// class cdata {
-// public long cls_id = -1;
+// public long cls_id = HDF5Constants.H5I_INVALID_HID;
// public int cls_count = -1;
// cdata(long id, int count) {
// this.cls_id = id;
@@ -813,11 +812,11 @@ public class TestH5Plist {
// }
// H5P_cls_close_func_cb cls_close_cb = new H5P_cls_close_callback();
//
-// long cid1 = -1; // Generic Property class ID
-// long cid2 = -1; // Generic Property class ID
-// long lid1 = -1; // Generic Property list ID
-// long lid2 = -1; // Generic Property list ID
-// long lid3 = -1; // Generic Property list ID
+// long cid1 = HDF5Constants.H5I_INVALID_HID; // Generic Property class ID
+// long cid2 = HDF5Constants.H5I_INVALID_HID; // Generic Property class ID
+// long lid1 = HDF5Constants.H5I_INVALID_HID; // Generic Property list ID
+// long lid2 = HDF5Constants.H5I_INVALID_HID; // Generic Property list ID
+// long lid3 = HDF5Constants.H5I_INVALID_HID; // Generic Property list ID
// long nprops = -1; // Number of properties in class
//
// try {
diff --git a/java/test/TestH5Pvirtual.java b/java/test/TestH5Pvirtual.java
index ff2e4dc..0478356 100644
--- a/java/test/TestH5Pvirtual.java
+++ b/java/test/TestH5Pvirtual.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -52,13 +51,13 @@ public class TestH5Pvirtual {
private static final int fill_value = -1;
long[] H5dims = { DIM_Y };
long[] VDSH5dims = { VDSDIM_X, VDSDIM_Y };
- long H5fid = -1;
- long H5dsid = -1;
- long H5dssid = -1;
- long H5dvsid = -1;
- long H5did = -1;
- long H5dcplid = -1;
- long H5dapl_id = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5dssid = HDF5Constants.H5I_INVALID_HID;
+ long H5dvsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long H5dcplid = HDF5Constants.H5I_INVALID_HID;
+ long H5dapl_id = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = new File(filename);
@@ -69,8 +68,8 @@ public class TestH5Pvirtual {
}
private final long _createDataset(long fid, long dsid, String name, long dcpl, long dapl) {
- long did = -1;
- long space_id = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
+ long space_id = HDF5Constants.H5I_INVALID_HID;
long[] start = {0, 0};
long[] stride = null;
long[] count = {1, 1};
@@ -100,9 +99,9 @@ public class TestH5Pvirtual {
int[] dset_data = new int[DIM_Y];
// Create source files and datasets
for (int i=0; i < 3; i++) {
- long space_id = -1;
- long dset_id = -1;
- long file_id = -1;
+ long space_id = HDF5Constants.H5I_INVALID_HID;
+ long dset_id = HDF5Constants.H5I_INVALID_HID;
+ long file_id = HDF5Constants.H5I_INVALID_HID;
for (int j = 0; j < DIM_Y; j++) dset_data[j] = i+1;
try {
@@ -265,7 +264,7 @@ public class TestH5Pvirtual {
@Test
public void testH5Pget_selection_source_dataset() throws Throwable {
- long src_space = -1;
+ long src_space = HDF5Constants.H5I_INVALID_HID;
long src_selection = -1;
H5did = _createDataset(H5fid, H5dsid, "VDS", H5dcplid, H5dapl_id);
diff --git a/java/test/TestH5R.java b/java/test/TestH5R.java
index 5349855..031b8e4 100644
--- a/java/test/TestH5R.java
+++ b/java/test/TestH5R.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -14,6 +13,7 @@
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;
@@ -24,9 +24,11 @@ import hdf.hdf5lib.H5;
import hdf.hdf5lib.HDF5Constants;
import hdf.hdf5lib.exceptions.HDF5Exception;
import hdf.hdf5lib.exceptions.HDF5LibraryException;
+import hdf.hdf5lib.exceptions.HDF5FunctionArgumentException;
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;
@@ -36,12 +38,14 @@ public class TestH5R {
private static final String H5_FILE = "testH5R.h5";
private static final int DIM_X = 4;
private static final int DIM_Y = 6;
- long H5fid = -1;
- long H5dsid = -1;
- long H5did = -1;
- long H5gid = -1;
- long H5did2 = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+ long H5gid = HDF5Constants.H5I_INVALID_HID;
+ long H5did2 = HDF5Constants.H5I_INVALID_HID;
long[] H5dims = { DIM_X, DIM_Y };
+ int[][] dset_data = new int[DIM_X][DIM_Y];
+ int FILLVAL = 99;
private final void _deleteFile(String filename) {
File file = null;
@@ -51,12 +55,13 @@ public class TestH5R {
catch (Throwable err) {}
if (file.exists()) {
- try {file.delete();} catch (SecurityException e) {}
+ try {file.delete();} catch (SecurityException e) {e.printStackTrace();}
}
+ assertFalse("TestH5R._deleteFile file still exists ", file.exists());
}
private final long _createDataset(long fid, long dsid, String name, long dapl) {
- long did = -1;
+ long did = HDF5Constants.H5I_INVALID_HID;
try {
did = H5.H5Dcreate(fid, name,
HDF5Constants.H5T_STD_I32BE, dsid,
@@ -66,13 +71,13 @@ public class TestH5R {
err.printStackTrace();
fail("H5.H5Dcreate: " + err);
}
- assertTrue("TestH5R._createDataset: ",did > 0);
+ assertTrue("TestH5R._createDataset: ", did > 0);
return did;
}
private final long _createGroup(long fid, String name) {
- long gid = -1;
+ long gid = HDF5Constants.H5I_INVALID_HID;
try {
gid = H5.H5Gcreate(fid, name, HDF5Constants.H5P_DEFAULT,
HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
@@ -100,6 +105,21 @@ public class TestH5R {
H5did2 = _createDataset(H5gid, H5dsid, "dset2", HDF5Constants.H5P_DEFAULT);
H5did = _createDataset(H5fid, H5dsid, "dset", HDF5Constants.H5P_DEFAULT);
+ // Initialize the dataset.
+ for (int indx = 0; indx < DIM_X; indx++)
+ for (int jndx = 0; jndx < DIM_Y; jndx++)
+ dset_data[indx][jndx] = FILLVAL;
+
+ try {
+ if (H5did >= 0)
+ H5.H5Dwrite(H5did, HDF5Constants.H5T_NATIVE_INT,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, dset_data[0]);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
catch (Throwable err) {
err.printStackTrace();
@@ -129,205 +149,335 @@ public class TestH5R {
System.out.println();
}
+ // Test v1.12 APIs params
+
@Test
- public void testH5Rget_name() {
- long loc_id=H5fid;
- int ref_type=HDF5Constants.H5R_OBJECT;
- long ret_val=-1;
- byte[] ref=null;
- String[] name= {""};
+ public void testH5Rget_object() {
+ int ref_type = HDF5Constants.H5R_OBJECT2;
+ long ret_val = -1;
+ byte[] ref = null;
+ String name = "";
String objName = "/dset";
try {
- ref = H5.H5Rcreate(H5fid, objName, ref_type, -1);
+ ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Rget_name:H5Rcreate " + err);
+ fail("testH5Rget_object: H5Rcreate_object " + err);
}
try {
- ret_val = H5.H5Rget_name(loc_id, ref_type, ref, name, 16);
+ ret_val = H5.H5Rget_type(ref);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Rget_name: " + err);
+ fail("testH5Rget_object: H5Rget_type: " + err);
}
-
- assertTrue("testH5Rget_name: H5Rget_name", ret_val>0);
- assertTrue("The name of the object: ", objName.equals(name[0]));
- }
-
- @Test
- public void testH5Rget_obj_type2() {
- int ref_type=HDF5Constants.H5R_OBJECT;
- byte[] ref=null;
-
- String objName = "/dset";
- int obj_type = -1;;
+ assertTrue("testH5Rget_object: H5Rget_type", ret_val == ref_type);
try {
- ref = H5.H5Rcreate(H5fid, objName, ref_type, -1);
+ name = H5.H5Rget_file_name(ref);
}
- catch(Throwable err) {
+ catch (Throwable err) {
err.printStackTrace();
+ fail("testH5Rget_object: H5Rget_file_name: " + err);
}
+ assertTrue("testH5Rget_object: H5Rget_file_name", H5_FILE.equals(name));
try {
- obj_type = H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_OBJECT, ref);
+ name = H5.H5Rget_obj_name(ref, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Rget_obj_type2: " + err);
+ fail("testH5Rget_object: H5Rget_obj_name: " + err);
}
- assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
+ assertTrue("The name of the object: ", objName.equals(name));
+ H5.H5Rdestroy(ref);
}
@Test
- public void testH5Rcreate_refobj() {
+ public void testH5Rget_obj_type3() {
+ int obj_type = -1;
byte[] ref = null;
+ String objName = "/dset";
try {
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, -1);
+ ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Rcreate: " + err);
+ fail("testH5Rget_obj_type3: H5Rcreate_object " + err);
}
- assertNotNull(ref);
- }
- @Test
- public void testH5Rcreate_regionrefobj() {
- byte[] ref = null;
try {
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, H5dsid);
+ obj_type = H5.H5Rget_obj_type3(ref, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5Rcreate: " + err);
+ fail("testH5Rget_obj_type3: H5.H5Rget_obj_type3: " + err);
}
- assertNotNull(ref);
+ assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
+ H5.H5Rdestroy(ref);
}
@Test
- public void testH5Rdereference() {
- byte[] ref1 = null;
- byte[] ref2 = null;
- long dataset_id = -1;
- long group_id = -1;
+ public void testH5Rcreate_regionref_object() {
+ byte[] ref = null;
+ String objName = "/dset";
+ long start[] = {2,2}; // Starting location of hyperslab
+ long stride[] = {1,1}; // Stride of hyperslab
+ long count[] = {1,1}; // Element count of hyperslab
+ long block[] = {3,3}; // Block size of hyperslab
+
+ // Select 3x3 hyperslab for reference
try {
- //Create reference on dataset
- ref1 = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, H5dsid);
- dataset_id= H5.H5Rdereference(H5fid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_DATASET_REGION, ref1);
-
- //Create reference on group
- ref2 = H5.H5Rcreate(H5gid, "/Group1", HDF5Constants.H5R_OBJECT, -1);
- group_id= H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref2);
- assertNotNull(ref1);
- assertNotNull(ref2);
- assertTrue(dataset_id>=0);
- assertTrue(group_id>=0);
+ H5.H5Sselect_hyperslab(H5dsid, HDF5Constants.H5S_SELECT_SET, start, stride, count, block);
}
catch (Throwable err) {
err.printStackTrace();
- fail("TestH5Rdereference " + err);
- }
- finally {
- try {H5.H5Dclose(dataset_id);} catch (Exception ex) {}
- try {H5.H5Gclose(group_id);} catch (Exception ex) {}
+ fail("testH5Rget_object: H5Sselect_hyperslab " + err);
}
- }
-
- @Test
- public void testH5Rget_region() {
- byte[] ref = null;
- long dsid = -1;
try {
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, H5dsid);
- dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
- assertNotNull(ref);
- assertTrue(dsid>=0);
+ ref = H5.H5Rcreate_region(H5fid, objName, H5dsid, HDF5Constants.H5P_DEFAULT);
}
catch (Throwable err) {
err.printStackTrace();
- fail("TestH5Rget_region: " + err);
- }
- finally {
- try {H5.H5Sclose(dsid);} catch (Exception ex) {}
+ fail("testH5Rget_object: H5Rcreate_region " + err);
}
+ assertNotNull(ref);
+ H5.H5Rdestroy(ref);
}
- @Test(expected = IllegalArgumentException.class)
- public void testH5Rget_name_Invalidreftype() throws Throwable {
- byte[] ref = null;
- String[] name= {""};
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, -1);
- H5.H5Rget_name(H5fid, HDF5Constants.H5R_DATASET_REGION, ref, name, 16);
+// These tests need to be updated with new APIs
+// @Test//
+// public void testH5Rget_group() {
+// long loc_id = H5fid;
+// int ref_type = HDF5Constants.H5R_OBJECT2;
+// long ret_val = -1;
+// byte[] ref = null;
+// String name = "";
+// String objName = "/dset";
+//
+// try {
+// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("testH5Rget_object: H5Rcreate_object " + err);
+// }
+// try {
+// dataset_id= H5.H5Rdereference(H5fid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_DATASET_REGION, ref1);
+//
+// //Create reference on group
+// ref2 = H5.H5Rcreate(H5gid, "/Group1", HDF5Constants.H5R_OBJECT, -1);
+// group_id= H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref2);
+// assertNotNull(ref1);
+// assertNotNull(ref2);
+// assertTrue(dataset_id >= 0);
+// assertTrue(group_id >= 0);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("TestH5Rdereference " + err);
+// }
+// finally {
+// try {H5.H5Dclose(dataset_id);} catch (Exception ex) {}
+// try {H5.H5Gclose(group_id);} catch (Exception ex) {}
+// }
+// }
+
+// @Test//
+// public void testH5Rget_region_dataset() {
+// long loc_id = H5fid;
+// int ref_type = HDF5Constants.H5R_OBJECT2;
+// long ret_val = -1;
+// byte[] ref = null;
+// String name = "";
+// String objName = "/dset";
+//
+// try {
+// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("testH5Rget_object: H5Rcreate_object " + err);
+// }
+// try {
+// dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+// assertNotNull(ref);
+// assertTrue(dsid >= 0);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("TestH5Rget_region: " + err);
+// }
+// finally {
+// try {H5.H5Sclose(dsid);} catch (Exception ex) {}
+// }
+// }
+
+// @Test//
+// public void testH5Rget_attr() {
+// long loc_id = H5fid;
+// int ref_type = HDF5Constants.H5R_OBJECT2;
+// long ret_val = -1;
+// byte[] ref = null;
+// String name = "";
+// String objName = "/dset";
+//
+// try {
+// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("testH5Rget_object: H5Rcreate_object " + err);
+// }
+// try {
+// dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+// assertNotNull(ref);
+// assertTrue(dsid >= 0);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("TestH5Rget_region: " + err);
+// }
+// finally {
+// try {H5.H5Sclose(dsid);} catch (Exception ex) {}
+// }
+// }
+
+ // Test parameters to H5Rcreate_object
+ @Test(expected = NullPointerException.class)
+ public void testH5Rcreate_object_Nullname() throws Throwable {
+ String name = null;
+ H5.H5Rcreate_object(H5fid, name, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5FunctionArgumentException.class)
+ public void testH5Rget_name_Invalidloc() throws Throwable {
+ String name= "";
+ H5.H5Rcreate_object(-1, name, HDF5Constants.H5P_DEFAULT);
}
+ // Test parameters to H5Rcreate_region
@Test(expected = NullPointerException.class)
- public void testH5Rget_name_NULLreference() throws Throwable {
+ public void testH5Rcreate_region_Nullname() throws Throwable {
+ String name = null;
+ H5.H5Rcreate_region(H5fid, name, -1, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5FunctionArgumentException.class)
+ public void testH5Rcreate_region_Invalidloc() throws Throwable {
+ String name= "";
+ H5.H5Rcreate_region(-1, name, -1, HDF5Constants.H5P_DEFAULT);
+ }
+
+ // Test parameters to H5Rcreate_attr
+ @Test(expected = NullPointerException.class)
+ public void testH5Rcreate_attr_Nullname() throws Throwable {
+ String name = null;
+ String attrname = "";
+ H5.H5Rcreate_attr(H5fid, name, attrname, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Rcreate_attr_Nullattrname() throws Throwable {
+ String name = "";
+ String attrname = null;
+ H5.H5Rcreate_attr(H5fid, name, attrname, HDF5Constants.H5P_DEFAULT);
+ }
+
+ @Test(expected = HDF5FunctionArgumentException.class)
+ public void testH5Rcreate_attr_Invalidloc() throws Throwable {
+ String name= "";
+ String attrname= "";
+ H5.H5Rcreate_attr(-1, name, attrname, HDF5Constants.H5P_DEFAULT);
+ }
+
+ // Test parameters to H5Rdestroy
+ @Test(expected = NullPointerException.class)
+ public void testH5Rdestroy_Nullref() throws Throwable {
byte[] ref = null;
- String[] name= {""};
- H5.H5Rget_name(H5fid, HDF5Constants.H5R_OBJECT, ref, name, 16);
+ H5.H5Rdestroy(ref);
}
- @Test(expected = HDF5LibraryException.class)
- public void testH5Rget_obj_type2_Invalidreftype() throws Throwable {
+ // Test parameters to H5Rget_type
+ @Test(expected = NullPointerException.class)
+ public void testH5Rget_type_Nullref() throws Throwable {
byte[] ref = null;
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, -1);
- H5.H5Rget_obj_type(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+ H5.H5Rget_type(ref);
+ }
+
+ // Test parameters to H5Requal
+ @Test(expected = NullPointerException.class)
+ public void testH5Requal_Nullref1() throws Throwable {
+ byte[] ref1 = null;
+ byte[] ref2 = {0,0,0,0};
+ H5.H5Requal(ref1, ref2);
}
- @Test(expected = HDF5LibraryException.class)
- public void testH5Rcreate_InvalidObjectName() throws Throwable {
- H5.H5Rcreate(H5fid, "/GROUPS", HDF5Constants.H5R_OBJECT, -1);
+ @Test(expected = NullPointerException.class)
+ public void testH5Requal_Nullref2() throws Throwable {
+ byte[] ref1 = {0,0,0,0};
+ byte[] ref2 = null;
+ H5.H5Requal(ref1, ref2);
}
- @Test(expected = HDF5LibraryException.class)
- public void testH5Rcreate_Invalidspace_id() throws Throwable {
- H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, -1);
+ // Test parameters to H5Rcopy
+ @Test(expected = NullPointerException.class)
+ public void testH5Rcopy_Nullref1() throws Throwable {
+ byte[] ref1 = null;
+ byte[] ref2 = H5.H5Rcopy(ref1);
}
- @Test(expected = IllegalArgumentException.class)
- public void testH5Rcreate_Invalidreftype() throws Throwable {
- H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_BADTYPE, -1);
+ // Test parameters to H5Ropen_object
+ @Test(expected = NullPointerException.class)
+ public void testH5Ropen_object_Nullref() throws Throwable {
+ byte[] ref = null;
+ H5.H5Ropen_object(ref, -1, -1);
}
- @Test(expected = IllegalArgumentException.class)
- public void testH5Rgetregion_Invalidreftype() throws Throwable {
+ // Test parameters to H5Ropen_region
+ @Test(expected = NullPointerException.class)
+ public void testH5Ropen_region_Nullref() throws Throwable {
byte[] ref = null;
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, H5dsid);
- H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+ H5.H5Ropen_region(ref, -1, -1);
}
- @Test(expected = IllegalArgumentException.class)
- public void testH5Rgetregion_Badreferencetype() throws Throwable {
+ // Test parameters to H5Ropen_attr
+ @Test(expected = NullPointerException.class)
+ public void testH5Ropen_attr_Nullref() throws Throwable {
byte[] ref = null;
- ref = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_OBJECT, H5dsid);
- H5.H5Rget_region(H5fid, HDF5Constants.H5R_OBJECT, ref);
+ H5.H5Ropen_attr(ref, -1, -1);
}
+ // Test parameters to H5Rget_obj_type3
@Test(expected = NullPointerException.class)
- public void testH5Rgetregion_Nullreference() throws Throwable {
+ public void testH5Rget_obj_type3_Nullref() throws Throwable {
byte[] ref = null;
- H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+ H5.H5Rget_obj_type3(ref, -1);
}
+ // Test parameters to H5Rget_file_name
@Test(expected = NullPointerException.class)
- public void testH5Rdereference_Nullreference() throws Throwable {
+ public void testH5Rget_file_name_Nullref() throws Throwable {
byte[] ref = null;
- H5.H5Rdereference(H5did2, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref);
+ H5.H5Rget_file_name(ref);
}
- @Test(expected = IllegalArgumentException.class)
- public void testH5Rdereference_Invalidreference() throws Throwable {
- byte[] ref1 = null;
- byte[] ref2 = null;
- ref1 = H5.H5Rcreate(H5fid, "/dset", HDF5Constants.H5R_DATASET_REGION, H5dsid);
- ref2 = H5.H5Rcreate(H5gid, "/Group1", HDF5Constants.H5R_OBJECT, -1);
- H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref1);
+ // Test parameters to H5Rget_obj_name
+ @Test(expected = NullPointerException.class)
+ public void testH5Rget_obj_name_Nullref() throws Throwable {
+ byte[] ref = null;
+ H5.H5Rget_obj_name(ref, -1);
+ }
+
+ // Test parameters to H5Rget_attr_name
+ @Test(expected = NullPointerException.class)
+ public void testH5Rget_attr_name_Nullref() throws Throwable {
+ byte[] ref = null;
+ H5.H5Rget_attr_name(ref);
}
}
diff --git a/java/test/TestH5Rref.java b/java/test/TestH5Rref.java
new file mode 100644
index 0000000..5733aae
--- /dev/null
+++ b/java/test/TestH5Rref.java
@@ -0,0 +1,563 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * 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.io.File;
+
+import hdf.hdf5lib.H5;
+import hdf.hdf5lib.HDF5Constants;
+import hdf.hdf5lib.exceptions.HDF5Exception;
+import hdf.hdf5lib.exceptions.HDF5LibraryException;
+import hdf.hdf5lib.exceptions.HDF5FunctionArgumentException;
+
+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 TestH5Rref {
+ @Rule public TestName testname = new TestName();
+ private static final String H5_DREG_FILE = "trefer_reg.h5";
+ private static final String H5_AREG_FILE = "trefer_attr.h5";
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5dsid = HDF5Constants.H5I_INVALID_HID;
+ long H5did = HDF5Constants.H5I_INVALID_HID;
+
+ private boolean byteArrayCheck(final byte[] array) {
+ for (byte b : array) {
+ if (b != 0) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public void openH5file(String filename, String dsetname) {
+ try {
+ H5fid = H5.H5Fopen(filename,
+ HDF5Constants.H5F_ACC_RDONLY, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5R._openH5file: " + err);
+ }
+ assertTrue("TestH5R._openH5file: H5.H5Fopen: ", H5fid >= 0);
+ try {
+ H5did = H5.H5Dopen(H5fid, dsetname, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5R._openH5file: " + err);
+ }
+ assertTrue("TestH5R._openH5file: H5.H5Dopen: ", H5did >= 0);
+ try {
+ H5dsid = H5.H5Dget_space(H5did);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5R._openH5file: " + err);
+ }
+ assertTrue("TestH5R._openH5file: H5.H5Screate_simple: ",H5dsid > 0);
+ }
+
+ @After
+ public void closeH5file() throws HDF5LibraryException {
+ if (H5did >= 0)
+ try {H5.H5Dclose(H5did);} catch (Exception ex) {}
+ if (H5dsid > 0)
+ try {H5.H5Sclose(H5dsid);} catch (Exception ex) {}
+ if (H5fid > 0)
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ H5fid = HDF5Constants.H5I_INVALID_HID;
+ H5dsid = HDF5Constants.H5I_INVALID_HID;
+ H5did = HDF5Constants.H5I_INVALID_HID;
+ System.out.println();
+ }
+
+ @Before
+ public void verifyCount()
+ throws NullPointerException, HDF5Exception {
+ assertTrue("H5 open ids is 0", H5.getOpenIDCount()==0);
+ System.out.print(testname.getMethodName());
+ }
+
+ // Test v1.12 APIs params
+
+ @Test
+ public void testH5Rget_object() {
+ int ref_type = HDF5Constants.H5R_OBJECT1;
+ long f_type = HDF5Constants.H5I_INVALID_HID;
+ int obj_type = -1;
+ int ndims = 1;
+ long ret_val = -1;
+ byte[][] refbuf = null;
+ String name = "";
+ String objName = "/DS_NA";
+
+ try {
+ openH5file(H5_DREG_FILE, objName);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_object: openH5file: " + err);
+ }
+ try {
+ f_type = H5.H5Dget_type(H5did);
+ int result = H5.H5Tget_class(f_type);
+ assertTrue("testH5Rget_object: H5Tget_class", result > 0);
+ String class_name = H5.H5Tget_class_name(result);
+ assertTrue("testH5Rget_object: H5Tget_class", class_name.compareTo("H5T_REFERENCE")==0);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_object: " + err);
+ }
+ finally {
+ try {H5.H5Tclose(f_type);} catch (Exception ex) {}
+ }
+ try {
+ ndims = (int)H5.H5Sget_simple_extent_npoints(H5dsid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_object: H5Sget_simple_extent_ndims: " + err);
+ }
+ refbuf = new byte[ndims][HDF5Constants.H5R_REF_BUF_SIZE];
+ // Read the reference from the dataset.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, refbuf);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Rget_object: H5Dread: " + err);
+ }
+
+ for (int i = 0; i < ndims; i++) {
+ try {
+ ret_val = H5.H5Rget_type(refbuf[i]);
+ assertTrue("testH5Rget_object: H5Rget_type["+i+"]="+ret_val, ret_val == ref_type);
+ if (!byteArrayCheck(refbuf[i])) {
+ try {
+ obj_type = H5.H5Rget_obj_type3(refbuf[i], HDF5Constants.H5P_DEFAULT);
+ assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
+ }
+ catch (Throwable err2) {
+ err2.printStackTrace();
+ fail("testH5Rget_object: H5.H5Rget_obj_type3: " + err2);
+ }
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_object: H5Rget_type: " + err);
+ }
+ finally {
+ H5.H5Rdestroy(refbuf[i]);
+ }
+ }
+ }
+
+ @Test
+ public void testH5Rget_obj_type3() {
+ long f_type = HDF5Constants.H5I_INVALID_HID;
+ int ref_type = HDF5Constants.H5R_DATASET_REGION2;
+ int obj_type = -1;
+ int ndims = 1;
+ long ret_val = -1;
+ byte[][] refbuf = null;
+ String objName = "/Dataset1";
+
+ try {
+ openH5file(H5_DREG_FILE, objName);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: openH5file: " + err);
+ }
+ try {
+ f_type = H5.H5Dget_type(H5did);
+ int result = H5.H5Tget_class(f_type);
+ assertTrue("testH5Rget_obj_type3: H5Tget_class", result > 0);
+ String class_name = H5.H5Tget_class_name(result);
+ assertTrue("testH5Rget_obj_type3: H5Tget_class="+class_name, class_name.compareTo("H5T_REFERENCE")==0);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: " + err);
+ }
+ finally {
+ try {H5.H5Tclose(f_type);} catch (Exception ex) {}
+ }
+ try {
+ ndims = (int)H5.H5Sget_simple_extent_npoints(H5dsid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: H5Sget_simple_extent_ndims: " + err);
+ }
+ refbuf = new byte[ndims][HDF5Constants.H5R_REF_BUF_SIZE];
+ // Read the reference from the dataset.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, refbuf);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: H5Dread: " + err);
+ }
+
+ for (int i = 0; i < ndims; i++) {
+ try {
+ ret_val = H5.H5Rget_type(refbuf[i]);
+ assertTrue("testH5Rget_obj_type3: H5Rget_type["+i+"]="+ret_val, ret_val == ref_type);
+ if (!byteArrayCheck(refbuf[i])) {
+ try {
+ obj_type = H5.H5Rget_obj_type3(refbuf[i], HDF5Constants.H5P_DEFAULT);
+ assertEquals(obj_type, HDF5Constants.H5O_TYPE_DATASET);
+ }
+ catch (Throwable err2) {
+ err2.printStackTrace();
+ fail("testH5Rget_obj_type3: H5.H5Rget_obj_type3: " + err2);
+ }
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: H5Rget_type: " + err);
+ }
+ finally {
+ H5.H5Rdestroy(refbuf[i]);
+ }
+ }
+ }
+
+ @Test
+ public void testH5Rget_region_dataset() {
+ long f_type = HDF5Constants.H5I_INVALID_HID;
+ long loc_id = HDF5Constants.H5I_INVALID_HID;
+ long loc_sid = HDF5Constants.H5I_INVALID_HID;
+ int ref_type = HDF5Constants.H5R_DATASET_REGION2;
+ int ndims = 1;
+ long ret_val = -1;
+ byte[][] refbuf = null;
+ String name = "";
+ String objName = "/Dataset1";
+
+ try {
+ openH5file(H5_DREG_FILE, objName);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_dataset: openH5file: " + err);
+ }
+ try {
+ f_type = H5.H5Dget_type(H5did);
+ int result = H5.H5Tget_class(f_type);
+ assertTrue("testH5Rget_region_dataset: H5Tget_class", result > 0);
+ String class_name = H5.H5Tget_class_name(result);
+ assertTrue("testH5Rget_region_dataset: H5Tget_class="+class_name, class_name.compareTo("H5T_REFERENCE")==0);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_dataset: " + err);
+ }
+ finally {
+ try {H5.H5Tclose(f_type);} catch (Exception ex) {}
+ }
+ try {
+ ndims = (int)H5.H5Sget_simple_extent_npoints(H5dsid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_dataset: H5Sget_simple_extent_ndims: " + err);
+ }
+ refbuf = new byte[ndims][HDF5Constants.H5R_REF_BUF_SIZE];
+ // Read the reference from the dataset.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, refbuf);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Rget_obj_type3: H5Dread: " + err);
+ }
+ for (int i = 0; i < ndims; i++) {
+ try {
+ try {
+ ret_val = H5.H5Rget_type(refbuf[i]);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_dataset: H5Rget_type["+i+"]: " + err);
+ }
+ assertTrue("testH5Rget_region_dataset: H5Rget_type["+i+"]="+ret_val, ret_val == ref_type);
+ try {
+ loc_id = H5.H5Ropen_object(refbuf[i], HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue(loc_id >= 0);
+ try {
+ loc_sid = H5.H5Ropen_region(refbuf[i], HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue(loc_sid >= 0);
+ int region_type = -1;
+ try {
+ int reg_ndims = H5.H5Sget_simple_extent_ndims(loc_sid);
+ region_type = H5.H5Sget_select_type(loc_sid);
+ if (i == 1)
+ assertTrue(region_type == HDF5Constants.H5S_SEL_POINTS);
+ else
+ assertTrue(region_type == HDF5Constants.H5S_SEL_HYPERSLABS);
+ if (region_type == HDF5Constants.H5S_SEL_POINTS) {
+ long reg_npoints = H5.H5Sget_select_elem_npoints(loc_sid);
+ // Coordinates for get point selection
+ long getcoord[] = new long[reg_ndims * (int)reg_npoints];
+ // Known coordinates for point selection
+ long coord[][] = {{6,9},{2,2},{8,4},{1,6},{2,8},{3,2},
+ {0,4},{9,0},{7,1},{3,3}};
+ try {
+ H5.H5Sget_select_elem_pointlist(loc_sid, 0, reg_npoints, getcoord);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[0][0] == getcoord[0]);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[0][1] == getcoord[1]);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[1][0] == getcoord[2]);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[1][1] == getcoord[3]);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[2][0] == getcoord[4]);
+ assertTrue("H5.H5Sget_select_elem_pointlist", coord[2][1] == getcoord[5]);
+ }
+ catch (Throwable err3) {
+ err3.printStackTrace();
+ fail("H5.H5Sget_select_elem_pointlist: " + err3);
+ }
+ }
+ else if (region_type == HDF5Constants.H5S_SEL_HYPERSLABS) {
+ long reg_nblocks = H5.H5Sget_select_hyper_nblocks(loc_sid);
+ assertTrue("H5Sget_select_hyper_nblocks", reg_nblocks == 1);
+ // Coordinates for get block selection
+ long getblocks[] = new long[reg_ndims * (int)reg_nblocks * 2];
+ long start[] = {2,2};
+ long block[] = {8,8};
+ try {
+ H5.H5Sget_select_hyper_blocklist(loc_sid, 0, reg_nblocks, getblocks);
+ assertTrue("H5.H5Sget_select_hyper_blocklist", start[0] == getblocks[0]);
+ assertTrue("H5.H5Sget_select_hyper_blocklist", start[1] == getblocks[1]);
+ assertTrue("H5.H5Sget_select_hyper_blocklist", (block[0]-1) == getblocks[2]);
+ assertTrue("H5.H5Sget_select_hyper_blocklist", (block[1]-1) == getblocks[3]);
+ }
+ catch (Throwable err3) {
+ err3.printStackTrace();
+ fail("H5.H5Sget_select_hyper_blocklist: " + err3);
+ }
+ }
+ }
+ catch (Throwable err2) {
+ err2.printStackTrace();
+ assertTrue("testH5Rget_region_dataset: H5Sget_select_type: " + err2, i > 1);
+ }
+ }
+ catch (Throwable err1) {
+ err1.printStackTrace();
+ fail("testH5Rget_region_dataset: " + err1);
+ }
+ finally {
+ try {H5.H5Sclose(loc_sid);} catch (Exception ex) {}
+ }
+ }
+ catch (Throwable err0) {
+ err0.printStackTrace();
+ fail("testH5Rget_region_dataset: " + err0);
+ }
+ finally {
+ try {H5.H5Dclose(loc_id);} catch (Exception ex) {}
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_dataset: H5Rget_type: " + err);
+ }
+ finally {
+ H5.H5Rdestroy(refbuf[i]);
+ }
+ } //for (int i = 0; i < ndims; i++)
+ }
+
+ @Test
+ public void testH5Rget_region_attribute() {
+ long f_type = HDF5Constants.H5I_INVALID_HID;
+ long loc_id = HDF5Constants.H5I_INVALID_HID;
+ long loc_sid = HDF5Constants.H5I_INVALID_HID;
+ int ref_type = HDF5Constants.H5R_ATTR;
+ int obj_type = -1;
+ int ndims = 1;
+ long ret_val = -1;
+ byte[][] refbuf = null;
+ String objName = "/Dataset3";
+
+ try {
+ openH5file(H5_AREG_FILE, objName);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_attribute: openH5file: " + err);
+ }
+ try {
+ f_type = H5.H5Dget_type(H5did);
+ int result = H5.H5Tget_class(f_type);
+ assertTrue("testH5Rget_region_attribute: H5Tget_class", result > 0);
+ String class_name = H5.H5Tget_class_name(result);
+ assertTrue("testH5Rget_region_attribute: H5Tget_class="+class_name, class_name.compareTo("H5T_REFERENCE")==0);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_attribute: " + err);
+ }
+ finally {
+ try {H5.H5Tclose(f_type);} catch (Exception ex) {}
+ }
+ try {
+ ndims = (int)H5.H5Sget_simple_extent_npoints(H5dsid);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_attribute: H5Sget_simple_extent_ndims: " + err);
+ }
+ refbuf = new byte[ndims][HDF5Constants.H5R_REF_BUF_SIZE];
+ // Read the reference from the dataset.
+ try {
+ H5.H5Dread(H5did, HDF5Constants.H5T_STD_REF,
+ HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5P_DEFAULT, refbuf);
+ }
+ catch (Exception err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_attribute: H5Dread: " + err);
+ }
+
+ for (int i = 0; i < ndims; i++) {
+ try {
+ ret_val = H5.H5Rget_type(refbuf[i]);
+ assertTrue("testH5Rget_region_attribute: H5Rget_type["+i+"]="+ret_val, ret_val == ref_type);
+ try {
+ loc_id = H5.H5Ropen_attr(refbuf[i], HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+ assertTrue(loc_id >= 0);
+ if (!byteArrayCheck(refbuf[i])) {
+ try {
+ loc_sid = H5.H5Aget_space(loc_id);
+ assertTrue(loc_sid >= 0);
+ }
+ catch (Throwable err1) {
+ err1.printStackTrace();
+ fail("testH5Rget_region_attribute: " + err1);
+ }
+ finally {
+ try {H5.H5Sclose(loc_sid);} catch (Exception ex) {}
+ }
+ }
+ }
+ catch (Throwable err0) {
+ err0.printStackTrace();
+ // second attribute is null
+ assertTrue("testH5Rget_region_attribute: " + err0, i == 1);
+ }
+ finally {
+ try {H5.H5Aclose(loc_id);} catch (Exception ex) {}
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("testH5Rget_region_attribute: H5Rget_type: " + err);
+ }
+ finally {
+ H5.H5Rdestroy(refbuf[i]);
+ }
+ }
+ }
+
+
+// These tests need to be updated with new APIs
+// @Test//
+// public void testH5Rget_group() {
+// long loc_id = H5fid;
+// int ref_type = HDF5Constants.H5R_OBJECT2;
+// long ret_val = -1;
+// byte[] ref = null;
+// String name = "";
+// String objName = "/dset";
+//
+// try {
+// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("testH5Rget_object: H5Rcreate_object " + err);
+// }
+// try {
+// dataset_id= H5.H5Rdereference(H5fid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_DATASET_REGION, ref1);
+//
+// //Create reference on group
+// ref2 = H5.H5Rcreate(H5gid, "/Group1", HDF5Constants.H5R_OBJECT, -1);
+// group_id= H5.H5Rdereference(H5gid, HDF5Constants.H5P_DEFAULT, HDF5Constants.H5R_OBJECT, ref2);
+// assertNotNull(ref1);
+// assertNotNull(ref2);
+// assertTrue(dataset_id >= 0);
+// assertTrue(group_id >= 0);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("TestH5Rdereference " + err);
+// }
+// finally {
+// try {H5.H5Dclose(dataset_id);} catch (Exception ex) {}
+// try {H5.H5Gclose(group_id);} catch (Exception ex) {}
+// }
+// }
+
+// @Test//
+// public void testH5Rget_attr() {
+// long loc_id = H5fid;
+// int ref_type = HDF5Constants.H5R_OBJECT2;
+// long ret_val = -1;
+// byte[] ref = null;
+// String name = "";
+// String objName = "/dset";
+//
+// try {
+// ref = H5.H5Rcreate_object(H5fid, objName, HDF5Constants.H5P_DEFAULT);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("testH5Rget_object: H5Rcreate_object " + err);
+// }
+// try {
+// dsid = H5.H5Rget_region(H5fid, HDF5Constants.H5R_DATASET_REGION, ref);
+// assertNotNull(ref);
+// assertTrue(dsid >= 0);
+// }
+// catch (Throwable err) {
+// err.printStackTrace();
+// fail("TestH5Rget_region: " + err);
+// }
+// finally {
+// try {H5.H5Sclose(dsid);} catch (Exception ex) {}
+// }
+// }
+
+}
diff --git a/java/test/TestH5S.java b/java/test/TestH5S.java
index 985342b..7eeed7a 100644
--- a/java/test/TestH5S.java
+++ b/java/test/TestH5S.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -30,7 +29,7 @@ import org.junit.rules.TestName;
public class TestH5S {
@Rule public TestName testname = new TestName();
- long H5sid = -1;
+ long H5sid = HDF5Constants.H5I_INVALID_HID;
int H5rank = 2;
long H5dims[] = {5, 5};
long H5maxdims[] = {10, 10};
@@ -171,7 +170,7 @@ public class TestH5S {
try {
H5.H5Sset_extent_none(H5sid);
read_type = H5.H5Sget_simple_extent_type(H5sid);
- assertTrue("H5.H5Sget_simple_extent_type: "+read_type, HDF5Constants.H5S_NO_CLASS == read_type);
+ assertTrue("H5.H5Sget_simple_extent_type: "+read_type, HDF5Constants.H5S_NULL == read_type);
}
catch (Throwable err) {
err.printStackTrace();
@@ -181,7 +180,7 @@ public class TestH5S {
@Test
public void testH5Scopy() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int read_rank = -1;
try {
@@ -201,7 +200,7 @@ public class TestH5S {
@Test
public void testH5Sextent_copy() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
try {
@@ -222,7 +221,7 @@ public class TestH5S {
@Test
public void testH5Sextent_equal() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
boolean result = false;
try {
@@ -252,8 +251,8 @@ public class TestH5S {
@Test
public void testH5Sencode_decode_null_dataspace() {
- long sid = -1;
- long decoded_sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long decoded_sid = HDF5Constants.H5I_INVALID_HID;
byte[] null_sbuf = null;
boolean result = false;
@@ -299,8 +298,8 @@ public class TestH5S {
@Test
public void testH5Sencode_decode_scalar_dataspace() {
- long sid = -1;
- long decoded_sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long decoded_sid = HDF5Constants.H5I_INVALID_HID;
byte[] scalar_sbuf = null;
boolean result = false;
int iresult = -1;
@@ -470,7 +469,7 @@ public class TestH5S {
@Test
public void testH5Sget_select_hyper() {
- long space1 = -1;
+ long space1 = HDF5Constants.H5I_INVALID_HID;
long start[] = {0,0};
long stride[] = {1,1};
long count[] = {1,1};
@@ -508,7 +507,7 @@ public class TestH5S {
@Test
public void testH5Sget_select_valid() {
- long space1 = -1;
+ long space1 = HDF5Constants.H5I_INVALID_HID;
long start[] = {1,0};
long stride[] = {1,1};
long count[] = {2,3};
diff --git a/java/test/TestH5Sbasic.java b/java/test/TestH5Sbasic.java
index 2173647..548ac95 100644
--- a/java/test/TestH5Sbasic.java
+++ b/java/test/TestH5Sbasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -56,7 +55,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_scalar() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
try {
sid = H5.H5Screate(HDF5Constants.H5S_SCALAR);
@@ -75,7 +74,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_null() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
try {
sid = H5.H5Screate(HDF5Constants.H5S_NULL);
@@ -125,7 +124,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_simple() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
int rank = 2;
long dims[] = {5, 5};
@@ -148,7 +147,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_simple_unlimted() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
int rank = 2;
long dims[] = {5, 5};
@@ -171,7 +170,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_simple_unlimted_1d() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int class_type = -1;
int rank = 1;
long dims[] = {5};
@@ -194,7 +193,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_simple_max_default() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int rank = 2;
long dims[] = {5, 5};
@@ -213,7 +212,7 @@ public class TestH5Sbasic {
@Test
public void testH5Screate_simple_extent() {
- long sid = -1;
+ long sid = HDF5Constants.H5I_INVALID_HID;
int rank = 2;
long dims[] = {5, 5};
long maxdims[] = {10, 10};
@@ -242,4 +241,142 @@ public class TestH5Sbasic {
H5.H5Sdecode(null);
}
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sget_regular_hyperslab_invalid() throws Throwable {
+ long q_start[] = new long[2];
+ long q_stride[] = new long[2];
+ long q_count[] = new long[2];
+ long q_block[] = new long[2];
+
+ H5.H5Sget_regular_hyperslab(-1, q_start, q_stride, q_count, q_block);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Sselect_copy_invalid() throws Throwable {
+ H5.H5Sselect_copy(-1, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5DataspaceInterfaceException.class)
+ public void testH5Sselect_shape_same_invalid() throws Throwable {
+ H5.H5Sselect_shape_same(-1, -1);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_adjust_invalid() throws Throwable {
+ long offset[][] = {{0,1},{2,4},{5,6}};
+ H5.H5Sselect_adjust(-1, offset);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_adjust_rank_offset() throws Throwable {
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long offset[][] = {{0,1},{2,4},{5,6}};
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_adjust(sid, offset);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_invalid() throws Throwable {
+ long start[] = new long[2];
+ long end[] = new long[2];
+ H5.H5Sselect_intersect_block(-1, start, end);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_rank_start() throws Throwable {
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long start[] = new long[2];
+ long end[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_intersect_block(sid, start, end);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testH5Sselect_intersect_block_rank_end() throws Throwable {
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long start[] = null;
+ long end[] = new long[2];
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Sselect_intersect_block(sid, start, end);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5DataspaceInterfaceException.class)
+ public void testH5Sselect_project_intersection_invalid() throws Throwable {
+ H5.H5Sselect_project_intersection(-1, -1, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Scombine_hyperslab_invalid() throws Throwable {
+ long start[] = new long[2];
+ long count[] = new long[2];
+ H5.H5Scombine_hyperslab(-1, 0, start, null, count, null);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Scombine_hyperslab_null_start() throws Throwable {
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long start[] = null;
+ long stride[] = null;
+ long count[] = new long[2];
+ long block[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Scombine_hyperslab(sid, 0, start, stride, count, block);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Scombine_hyperslab_null_count() throws Throwable {
+ long sid = HDF5Constants.H5I_INVALID_HID;
+ long start[] = new long[2];
+ long stride[] = null;
+ long count[] = null;
+ long block[] = null;
+
+ try {
+ sid = H5.H5Screate(HDF5Constants.H5S_SIMPLE);
+ assertTrue("H5.H5Screate_simple_extent",sid > 0);
+ H5.H5Scombine_hyperslab(sid, 0, start, stride, count, block);
+ }
+ finally {
+ try {H5.H5Sclose(sid);} catch (Exception ex) {}
+ }
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Smodify_select_invalid() throws Throwable {
+ H5.H5Smodify_select(-1, 0, -1);
+ }
+
+ @Test(expected = hdf.hdf5lib.exceptions.HDF5FunctionArgumentException.class)
+ public void testH5Scombine_select_invalid() throws Throwable {
+ H5.H5Scombine_select(-1, 0, -1);
+ }
+
}
diff --git a/java/test/TestH5T.java b/java/test/TestH5T.java
index 1a7e58b..ed4e2a9 100644
--- a/java/test/TestH5T.java
+++ b/java/test/TestH5T.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -33,8 +32,8 @@ import org.junit.rules.TestName;
public class TestH5T {
@Rule public TestName testname = new TestName();
private static final String H5_FILE = "testT.h5";
- long H5fid = -1;
- long H5strdid = -1;
+ long H5fid = HDF5Constants.H5I_INVALID_HID;
+ long H5strdid = HDF5Constants.H5I_INVALID_HID;
private final void _deleteFile(String filename) {
File file = null;
@@ -129,7 +128,7 @@ public class TestH5T {
@Test
public void testH5Tarray_create() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
long[] adims = { 3, 5 };
try {
@@ -148,7 +147,7 @@ public class TestH5T {
@Test
public void testH5Tget_array_ndims() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
int ndims = 0;
long[] adims = { 3, 5 };
@@ -176,7 +175,7 @@ public class TestH5T {
@Test
public void testH5Tget_array_dims() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
int ndims = 0;
long[] adims = { 3, 5 };
long[] rdims = new long[2];
@@ -207,7 +206,7 @@ public class TestH5T {
@Test
public void testH5Tenum_functions() {
- long filetype_id =-1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
String enum_type ="Enum_type";
byte[] enum_val = new byte[1];
String enum_name = null;
@@ -275,7 +274,7 @@ public class TestH5T {
@Test
public void testH5Tenum_create_functions() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
byte[] enum_val = new byte[1];
// Create a enumerate datatype
@@ -315,7 +314,7 @@ public class TestH5T {
@Test
public void testH5Topaque_functions() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
String opaque_name = null;
// Create a opaque datatype
@@ -345,7 +344,7 @@ public class TestH5T {
@Test
public void testH5Tvlen_create() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
try {
filetype_id = H5.H5Tvlen_create(HDF5Constants.H5T_C_S1);
@@ -368,7 +367,7 @@ public class TestH5T {
@Test
public void testH5Tis_variable_str() {
- long filetype_id = -1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
try {
filetype_id = H5.H5Tcopy(HDF5Constants.H5T_C_S1);
@@ -399,7 +398,7 @@ public class TestH5T {
@Test
public void testH5Tcompound_functions() {
- long filetype_id =-1;
+ long filetype_id = HDF5Constants.H5I_INVALID_HID;
// Create a compound datatype
try {
diff --git a/java/test/TestH5Tbasic.java b/java/test/TestH5Tbasic.java
index 3c2500b..7aac2ab 100644
--- a/java/test/TestH5Tbasic.java
+++ b/java/test/TestH5Tbasic.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -40,7 +39,7 @@ public class TestH5Tbasic {
@Test
public void testH5Tcopy() {
- long H5strdid = -1;
+ long H5strdid = HDF5Constants.H5I_INVALID_HID;
try {
H5strdid = H5.H5Tcopy(HDF5Constants.H5T_C_S1);
assertTrue("H5.H5Tcopy",H5strdid > 0);
@@ -57,7 +56,7 @@ public class TestH5Tbasic {
@Test
public void testH5Tequal() {
- long H5strdid = -1;
+ long H5strdid = HDF5Constants.H5I_INVALID_HID;
try {
H5strdid = H5.H5Tcopy(HDF5Constants.H5T_C_S1);
assertTrue("H5.H5Tcopy",H5strdid > 0);
@@ -76,7 +75,7 @@ public class TestH5Tbasic {
@Test
public void testH5Tequal_not() {
- long H5strdid = -1;
+ long H5strdid = HDF5Constants.H5I_INVALID_HID;
try {
H5strdid = H5.H5Tcopy(HDF5Constants.H5T_STD_U64LE);
assertTrue("H5.H5Tcopy",H5strdid > 0);
@@ -98,8 +97,8 @@ public class TestH5Tbasic {
String[] strs = {"a1234","b1234"};
int srcLen = 5;
int dstLen = 10;
- long srcId = -1;
- long dstId = -1;
+ long srcId = HDF5Constants.H5I_INVALID_HID;
+ long dstId = HDF5Constants.H5I_INVALID_HID;
int dimSize = strs.length;
byte[] buf = new byte[dimSize*dstLen];
@@ -131,7 +130,7 @@ public class TestH5Tbasic {
@Test
public void testH5Torder_size() {
- long H5strdid = -1;
+ long H5strdid = HDF5Constants.H5I_INVALID_HID;
try {
// Fixed length string
H5strdid = H5.H5Tcopy(HDF5Constants.H5T_C_S1);
diff --git a/java/test/TestH5Tparams.java b/java/test/TestH5Tparams.java
index 53d3a37..92a034c 100644
--- a/java/test/TestH5Tparams.java
+++ b/java/test/TestH5Tparams.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -276,6 +275,17 @@ public class TestH5Tparams {
}
@Test(expected = HDF5LibraryException.class)
+ public void testH5Treclaim_invalid() throws Throwable {
+ byte[] buf = new byte[2];
+ H5.H5Treclaim(-1, -1, -1, buf);
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testH5Treclaim_null() throws Throwable {
+ H5.H5Treclaim(-1, -1, -1, null);
+ }
+
+ @Test(expected = HDF5LibraryException.class)
public void testH5Tvlen_create_invalid() throws Throwable {
H5.H5Tvlen_create(-1);
}
diff --git a/java/test/TestH5VL.java b/java/test/TestH5VL.java
index 0397be1..4253d20 100644
--- a/java/test/TestH5VL.java
+++ b/java/test/TestH5VL.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -55,29 +54,77 @@ public class TestH5VL {
try {
boolean is_registered;
- is_registered = H5.H5VLis_connector_registered(HDF5Constants.H5VL_NATIVE_NAME);
- assertTrue("H5.H5VLis_connector_registered H5VL_NATIVE_NAME", is_registered);
+ is_registered = H5.H5VLis_connector_registered_by_name(HDF5Constants.H5VL_NATIVE_NAME);
+ assertTrue("H5.H5VLis_connector_registered_by_name H5VL_NATIVE_NAME", is_registered);
- is_registered = H5.H5VLis_connector_registered("FAKE_VOL_NAME");
- assertFalse("H5.H5VLis_connector_registered FAKE_VOL_NAME", is_registered);
+ is_registered = H5.H5VLis_connector_registered_by_name("FAKE_VOL_NAME");
+ assertFalse("H5.H5VLis_connector_registered_by_name FAKE_VOL_NAME", is_registered);
+
+ is_registered = H5.H5VLis_connector_registered_by_value(HDF5Constants.H5VL_NATIVE_VALUE);
+ assertTrue("H5.H5VLis_connector_registered_by_value H5VL_NATIVE_VALUE", is_registered);
}
catch (Throwable err) {
err.printStackTrace();
- fail("H5.H5VLis_connector_registered " + err);
+ fail("testH5VLnative_init(): " + err);
}
}
@Test
public void testH5VLget_connector_id() {
+ String H5_FILE = "testFvl.h5";
+
+ long H5fid = H5.H5Fcreate(H5_FILE, HDF5Constants.H5F_ACC_TRUNC,
+ HDF5Constants.H5P_DEFAULT, HDF5Constants.H5P_DEFAULT);
+
try {
- long native_id = H5.H5VLget_connector_id(HDF5Constants.H5VL_NATIVE_NAME);
- assertTrue("H5.H5VLget_connector_id H5VL_NATIVE_NAME", native_id >= 0);
- assertEquals(HDF5Constants.H5VL_NATIVE, native_id);
+ long native_id = H5.H5VLget_connector_id(H5fid);
+ assertTrue("H5.H5VLget_connector_id", native_id >= 0);
+
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector. Only check for the native connector
+ * if this isn't set.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertEquals(HDF5Constants.H5VL_NATIVE, native_id);
}
catch (Throwable err) {
err.printStackTrace();
fail("H5.H5VLget_connector_id " + err);
}
+ finally {
+ if (H5fid > 0) {
+ try {H5.H5Fclose(H5fid);} catch (Exception ex) {}
+ }
+ _deleteFile(H5_FILE);
+ }
+ }
+
+ @Test
+ public void testH5VLget_connector_id_by_name() {
+ try {
+ long native_id = H5.H5VLget_connector_id_by_name(HDF5Constants.H5VL_NATIVE_NAME);
+ assertTrue("H5.H5VLget_connector_id_by_name H5VL_NATIVE_NAME", native_id >= 0);
+ assertEquals(HDF5Constants.H5VL_NATIVE, native_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5VLget_connector_id_by_name " + err);
+ }
+ }
+
+ @Test
+ public void testH5VLget_connector_id_by_value() {
+ try {
+ long native_id = H5.H5VLget_connector_id_by_value(HDF5Constants.H5VL_NATIVE_VALUE);
+ assertTrue("H5.H5VLget_connector_id_by_value H5VL_NATIVE_VALUE", native_id >= 0);
+ assertEquals(HDF5Constants.H5VL_NATIVE, native_id);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("H5.H5VLget_connector_id_by_value " + err);
+ }
}
@Test
@@ -90,7 +137,15 @@ public class TestH5VL {
try {
String native_name = H5.H5VLget_connector_name(H5fid);
- assertTrue("H5.H5VLget_connector_name H5VL_NATIVE", native_name.compareToIgnoreCase(HDF5Constants.H5VL_NATIVE_NAME)==0);
+
+ /*
+ * If HDF5_VOL_CONNECTOR is set, this might not be the
+ * native connector. Only check for the native connector
+ * if this isn't set.
+ */
+ String connector = System.getenv("HDF5_VOL_CONNECTOR");
+ if (connector == null)
+ assertTrue("H5.H5VLget_connector_name H5VL_NATIVE", native_name.compareToIgnoreCase(HDF5Constants.H5VL_NATIVE_NAME)==0);
}
catch (Throwable err) {
err.printStackTrace();
diff --git a/java/test/TestH5Z.java b/java/test/TestH5Z.java
index 27bda6f..fde8f1a 100644
--- a/java/test/TestH5Z.java
+++ b/java/test/TestH5Z.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
diff --git a/java/test/junit.sh.in b/java/test/junit.sh.in
index ac09db7..ca2b3a9 100644
--- a/java/test/junit.sh.in
+++ b/java/test/junit.sh.in
@@ -1,13 +1,12 @@
#! /bin/sh
#
# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# distribution tree, or in https://www.hdfgroup.org/licenses.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
@@ -15,12 +14,12 @@
top_builddir=@top_builddir@
top_srcdir=@top_srcdir@
srcdir=@srcdir@
-prefix=@prefix@
USE_FILTER_SZIP="@USE_FILTER_SZIP@"
USE_FILTER_DEFLATE="@USE_FILTER_DEFLATE@"
USE_ROS3_VFD="@HAVE_ROS3_VFD@"
USE_HDFS_VFD="@HAVE_LIBHDFS@"
+IS_DARWIN="@H5_IS_DARWIN@"
TESTNAME=JUnitInterface
EXIT_SUCCESS=0
@@ -43,9 +42,11 @@ myos=`uname -s`
# where the libs exist
HDFLIB_HOME="$top_srcdir/java/lib"
-BLDLIBDIR="$prefix/lib"
BLDDIR="."
+BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/test"
+TOOLS_TESTFILES="$top_srcdir/tools/testfiles"
+
JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@test.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
@@ -65,8 +66,8 @@ $top_builddir/java/src/jni/.libs/libhdf5_java.*
LIST_JAR_TESTFILES="
$HDFLIB_HOME/hamcrest-core.jar
$HDFLIB_HOME/junit.jar
-$HDFLIB_HOME/slf4j-api-1.7.25.jar
-$HDFLIB_HOME/ext/slf4j-simple-1.7.25.jar
+$HDFLIB_HOME/slf4j-api-1.7.33.jar
+$HDFLIB_HOME/ext/slf4j-simple-1.7.33.jar
"
LIST_JAR_FILES="
$top_builddir/java/src/$JARFILE
@@ -89,10 +90,12 @@ $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-TestH5Drw.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-TestH5Rref.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5P.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5PData.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Pfapl.txt
@@ -101,9 +104,11 @@ $HDFTEST_HOME/testfiles/JUnit-TestH5Pfaplhdfs.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Pvirtual.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Plist.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5A.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5Arw.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Oparams.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Obasic.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Ocreate.txt
+$HDFTEST_HOME/testfiles/JUnit-TestH5OcopyOld.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5Ocopy.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5PL.txt
$HDFTEST_HOME/testfiles/JUnit-TestH5VL.txt
@@ -146,6 +151,13 @@ COPY_LIBFILES_TO_BLDLIBDIR()
fi
fi
done
+ if [ "$IS_DARWIN" = "yes" ]; then
+ (cd testlibs; \
+ install_name_tool -add_rpath @loader_path libhdf5_java.dylib; \
+ exist_path=` otool -l libhdf5_java.dylib | grep libhdf5 | grep -v java | awk '{print $2}'`; \
+ echo $exist_path; \
+ install_name_tool -change $exist_path @rpath/libhdf5.dylib libhdf5_java.dylib)
+ fi
# copy jar files. Used -f to make sure get a new copy
for tstfile in $COPY_JARTESTFILES
do
@@ -204,10 +216,7 @@ CLEAN_LIBFILES_AND_BLDLIBDIR()
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
- for tstfile in $COPY_JARTESTFILES
- do
- $RM $BLDLIBDIR/tstfile
- done
+ $RM -rf $BLDLIBDIR
fi
}
@@ -244,6 +253,12 @@ COPY_DATAFILES_TO_BLDDIR()
$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
+ $CP -f $TOOLS_TESTFILES/trefer_reg.h5 $BLDDIR/trefer_reg.h5
+ $CP -f $TOOLS_TESTFILES/trefer_attr.h5 $BLDDIR/trefer_attr.h5
+ $CP -f $TOOLS_TESTFILES/tdatareg.h5 $BLDDIR/tdatareg.h5
+ $CP -f $TOOLS_TESTFILES/tattrreg.h5 $BLDDIR/tattrreg.h5
+ $CP -f $TOOLS_TESTFILES/tintsattrs.h5 $BLDDIR/tintsattrs.h5
+ $CP -f $TOOLS_TESTFILES/tfloatsattrs.h5 $BLDDIR/tfloatsattrs.h5
}
CLEAN_DATAFILES_AND_BLDDIR()
@@ -284,7 +299,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.25.jar:"$BLDLIBDIR"/slf4j-simple-1.7.25.jar:"$TESTJARFILE""
+CPATH=".:"$BLDLIBDIR"/"$JARFILE":"$BLDLIBDIR"/junit.jar:"$BLDLIBDIR"/hamcrest-core.jar:"$BLDLIBDIR"/slf4j-api-1.7.33.jar:"$BLDLIBDIR"/slf4j-simple-1.7.33.jar:"$TESTJARFILE""
TEST=/usr/bin/test
if [ ! -x /usr/bin/test ]
@@ -330,7 +345,7 @@ TESTING JUnit-TestH5
# 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/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
@@ -351,7 +366,7 @@ TESTING JUnit-TestH5Eparams
# 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/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
@@ -372,7 +387,7 @@ TESTING JUnit-TestH5Eregister
# 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/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
@@ -393,7 +408,7 @@ TESTING JUnit-TestH5Fparams
# 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/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
@@ -414,7 +429,7 @@ TESTING JUnit-TestH5Fbasic
# 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/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
@@ -435,7 +450,7 @@ TESTING JUnit-TestH5F
# 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/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
@@ -456,7 +471,7 @@ TESTING JUnit-TestH5Fswmr
# 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/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
@@ -477,7 +492,7 @@ TESTING JUnit-TestH5Gbasic
# 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/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
@@ -498,7 +513,7 @@ TESTING JUnit-TestH5G
# 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/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
@@ -519,7 +534,7 @@ TESTING JUnit-TestH5Sbasic
# 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/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
@@ -540,7 +555,7 @@ TESTING JUnit-TestH5S
# 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/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
@@ -561,7 +576,7 @@ TESTING JUnit-TestH5Tparams
# 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/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
@@ -582,7 +597,7 @@ TESTING JUnit-TestH5Tbasic
# 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/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
@@ -603,7 +618,7 @@ TESTING JUnit-TestH5T
# 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/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
@@ -624,7 +639,7 @@ TESTING JUnit-TestH5Dparams
# 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/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
@@ -645,7 +660,7 @@ TESTING JUnit-TestH5D
# 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/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
@@ -659,6 +674,27 @@ else
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.TestH5Drw"
+TESTING JUnit-TestH5Drw
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Drw > JUnit-TestH5Drw.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-TestH5Drw.ext > JUnit-TestH5Drw.out
+
+if diff JUnit-TestH5Drw.out JUnit-TestH5Drw.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Drw"
+else
+ echo "**FAILED** JUnit-TestH5Drw"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Drw.txt JUnit-TestH5Drw.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)
@@ -666,7 +702,7 @@ TESTING JUnit-TestH5Dplist
# 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/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
@@ -687,7 +723,7 @@ TESTING JUnit-TestH5Lparams
# 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/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
@@ -708,7 +744,7 @@ TESTING JUnit-TestH5Lbasic
# 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/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
@@ -729,7 +765,7 @@ TESTING JUnit-TestH5Lcreate
# 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/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
@@ -750,7 +786,7 @@ TESTING JUnit-TestH5R
# 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/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
@@ -764,6 +800,27 @@ else
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.TestH5Rref"
+TESTING JUnit-TestH5Rref
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Rref > JUnit-TestH5Rref.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-TestH5Rref.ext > JUnit-TestH5Rref.out
+
+if diff JUnit-TestH5Rref.out JUnit-TestH5Rref.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Rref"
+else
+ echo "**FAILED** JUnit-TestH5Rref"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Rref.txt JUnit-TestH5Rref.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)
@@ -771,7 +828,7 @@ TESTING JUnit-TestH5P
# 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/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
@@ -792,7 +849,7 @@ TESTING JUnit-TestH5PData
# 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/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
@@ -813,7 +870,7 @@ TESTING JUnit-TestH5Pfapl
# 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/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
@@ -834,7 +891,7 @@ TESTING JUnit-TestH5Pvirtual
# 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/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
@@ -855,7 +912,7 @@ TESTING JUnit-TestH5Plist
# 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/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
@@ -876,7 +933,7 @@ TESTING JUnit-TestH5A
# 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/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
@@ -890,6 +947,27 @@ else
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.TestH5Arw"
+TESTING JUnit-TestH5Arw
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5Arw > JUnit-TestH5Arw.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-TestH5Arw.ext > JUnit-TestH5Arw.out
+
+if diff JUnit-TestH5Arw.out JUnit-TestH5Arw.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5Arw"
+else
+ echo "**FAILED** JUnit-TestH5Arw"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5Arw.txt JUnit-TestH5Arw.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)
@@ -897,7 +975,7 @@ TESTING JUnit-TestH5Oparams
# 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/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
@@ -918,7 +996,7 @@ TESTING JUnit-TestH5Obasic
# 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/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
@@ -939,7 +1017,7 @@ TESTING JUnit-TestH5Ocreate
# 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/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
@@ -953,6 +1031,27 @@ else
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.TestH5OcopyOld"
+TESTING JUnit-TestH5OcopyOld
+($RUNSERIAL $JAVAEXE $JAVAEXEFLAGS -Xmx1024M -Dorg.slf4j.simpleLogger.defaultLog=trace -Djava.library.path=$BLDLIBDIR -cp $CLASSPATH -ea org.junit.runner.JUnitCore test.TestH5OcopyOld > JUnit-TestH5OcopyOld.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-TestH5OcopyOld.ext > JUnit-TestH5OcopyOld.out
+
+if diff JUnit-TestH5OcopyOld.out JUnit-TestH5OcopyOld.txt > /dev/null; then
+ echo " PASSED JUnit-TestH5OcopyOld"
+else
+ echo "**FAILED** JUnit-TestH5OcopyOld"
+ echo " Expected result differs from actual result"
+ nerrors="`expr $nerrors + 1`"
+ test yes = "$verbose" && $DIFF JUnit-TestH5OcopyOld.txt JUnit-TestH5OcopyOld.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)
@@ -960,7 +1059,7 @@ TESTING JUnit-TestH5Ocopy
# 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/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
@@ -981,7 +1080,7 @@ TESTING JUnit-TestH5PL
# 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/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
@@ -1002,7 +1101,7 @@ TESTING JUnit-TestH5VL
# 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/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-TestH5VL.ext > JUnit-TestH5VL.out
@@ -1023,7 +1122,7 @@ TESTING JUnit-TestH5Z
# 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/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-TestH5Z.ext > JUnit-TestH5Z.out
@@ -1044,7 +1143,7 @@ TESTING JUnit-TestH5E
# 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/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
@@ -1065,7 +1164,7 @@ TESTING JUnit-TestH5Edefault
# 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/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
@@ -1087,7 +1186,7 @@ if test $USE_FILTER_SZIP = "yes"; then
# 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/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
@@ -1109,7 +1208,7 @@ if test "X$ROS3_VFD" = "Xyes"; then
# 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/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-TestH5Pfapls3.ext > JUnit-TestH5Pfapls3.out
@@ -1131,7 +1230,7 @@ if test "X$HAVE_LIBHDFS" = "Xyes"; then
# 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/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-TestH5Pfaplhdfs.ext > JUnit-TestH5Pfaplhdfs.out
diff --git a/java/test/testfiles/JUnit-TestH5.txt b/java/test/testfiles/JUnit-TestH5.txt
index b282a91..fb50a57 100644
--- a/java/test/testfiles/JUnit-TestH5.txt
+++ b/java/test/testfiles/JUnit-TestH5.txt
@@ -1,9 +1,14 @@
JUnit version 4.11
+.testH5export_region
.testH5get_libversion_null_param
.testJ2C
+.testH5export_dataset
.testIsSerializable
+.testH5export_attrdataset
.testH5garbage_collect
.testH5error_off
+.testH5export_regdataset
+.testH5export_attribute
.serializeToDisk
.testH5open
.testH5check_version
@@ -12,5 +17,5 @@ JUnit version 4.11
Time: XXXX
-OK (10 tests)
+OK (15 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Arw.txt b/java/test/testfiles/JUnit-TestH5Arw.txt
new file mode 100644
index 0000000..49d3b1c
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Arw.txt
@@ -0,0 +1,13 @@
+JUnit version 4.11
+.testH5Aread_128bit_floats
+.testH5Aread_64bit_floats
+.testH5Aread_8bit_ints
+.testH5Aread_32bit_ints
+.testH5Aread_64bit_ints
+.testH5Aread_32bit_floats
+.testH5Aread_16bit_ints
+
+Time: XXXX
+
+OK (7 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Dparams.txt b/java/test/testfiles/JUnit-TestH5Dparams.txt
index 9751be4..9acedd7 100644
--- a/java/test/testfiles/JUnit-TestH5Dparams.txt
+++ b/java/test/testfiles/JUnit-TestH5Dparams.txt
@@ -7,11 +7,9 @@ JUnit version 4.11
.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
@@ -22,5 +20,5 @@ JUnit version 4.11
Time: XXXX
-OK (20 tests)
+OK (18 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Drw.txt b/java/test/testfiles/JUnit-TestH5Drw.txt
new file mode 100644
index 0000000..6b854cf
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Drw.txt
@@ -0,0 +1,13 @@
+JUnit version 4.11
+.testH5Dread_32bit_floats
+.testH5Dread_32bit_ints
+.testH5Dread_64bit_ints
+.testH5Dread_64bit_floats
+.testH5Dread_8bit_ints
+.testH5Dread_128bit_floats
+.testH5Dread_16bit_ints
+
+Time: XXXX
+
+OK (7 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Edefault.txt b/java/test/testfiles/JUnit-TestH5Edefault.txt
index 48c6254..bb43c64 100644
--- a/java/test/testfiles/JUnit-TestH5Edefault.txt
+++ b/java/test/testfiles/JUnit-TestH5Edefault.txt
@@ -1,10 +1,8 @@
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
@@ -30,49 +28,5 @@ JUnit version 4.11
Time: XXXX
-OK (28 tests)
+OK (26 tests)
-HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
- #000: (file name) line (number) in H5Fopen(): unable to open file
- major: File accessibility
- minor: Unable to open file
- #001: (file name) line (number) in H5VL_file_open(): open failed
- major: Virtual Object Layer
- minor: Can't open object
- #002: (file name) line (number) in H5VL__file_open(): open failed
- major: Virtual Object Layer
- minor: Can't open object
- #003: (file name) line (number) in H5VL__native_file_open(): unable to open file
- major: File accessibility
- minor: Unable to open file
- #004: (file name) line (number) in H5F_open(): unable to open file: name = 'test', tent_flags = 1
- major: File accessibility
- minor: Unable to open file
- #005: (file name) line (number) in H5FD_open(): open failed
- major: Virtual File Layer
- minor: Unable to initialize object
- #006: (file name) line (number) in H5FD_sec2_open(): unable to open file: name = 'test', errno = 2, error message = 'No such file or directory', flags = 1, o_flags = 2
- major: File accessibility
- minor: Unable to open file
-HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
- #000: (file name) line (number) in H5Fopen(): unable to open file
- major: File accessibility
- minor: Unable to open file
- #001: (file name) line (number) in H5VL_file_open(): open failed
- major: Virtual Object Layer
- minor: Can't open object
- #002: (file name) line (number) in H5VL__file_open(): open failed
- major: Virtual Object Layer
- minor: Can't open object
- #003: (file name) line (number) in H5VL__native_file_open(): unable to open file
- major: File accessibility
- minor: Unable to open file
- #004: (file name) line (number) in H5F_open(): unable to open file: name = 'test', tent_flags = 1
- major: File accessibility
- minor: Unable to open file
- #005: (file name) line (number) in H5FD_open(): open failed
- major: Virtual File Layer
- minor: Unable to initialize object
- #006: (file name) line (number) in H5FD_sec2_open(): unable to open file: name = 'test', errno = 2, error message = 'No such file or directory', flags = 1, o_flags = 2
- major: File accessibility
- minor: Unable to open file
diff --git a/java/test/testfiles/JUnit-TestH5Obasic.txt b/java/test/testfiles/JUnit-TestH5Obasic.txt
index d015bdd..c39c01d 100644
--- a/java/test/testfiles/JUnit-TestH5Obasic.txt
+++ b/java/test/testfiles/JUnit-TestH5Obasic.txt
@@ -1,29 +1,45 @@
JUnit version 4.11
.testH5Oexists_by_name
+.testH5Oget_native_info_dataset
+.testH5Oopen_by_token
.testH5Oget_info_by_idx_n0
.testH5Oget_info_by_idx_n3
+.testH5Oget_native_info_datatype
.testH5Oget_info_by_name_not_exist_name
.testH5Ovisit_by_name
+.testH5Oget_native_info_by_name_datatype
.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
+.testH5Oget_native_info_by_name_not_exist_name
.testH5Oopen_not_exists
.testH5Ovisit
.testH5Oget_info_by_idx_not_exist_create
+.testH5Oget_native_info_by_idx_not_exist_name
.testH5Oget_info_by_name_hardlink
.testH5Oget_info_by_name_group
-.testH5Oopen_by_addr
.testH5Oget_info_by_name_not_exists
+.testH5Oget_native_info_by_idx_not_exist_create
.testH5Oget_info_by_name_dataset
.testH5Oget_info_group
+.testH5Oget_native_info_hardlink
+.testH5Oget_native_info_by_name_hardlink
+.testH5Oget_native_info_by_idx_name_not_exist_name
.testH5Oget_info_by_name_datatype
.testH5Oget_info_hardlink
+.testH5Oget_native_info_group
+.testH5Oget_native_info_by_name_not_exists
+.testH5Oget_native_info_by_name_dataset
.testH5Oget_info_by_idx_name_not_exist_create
+.testH5Oget_native_info_by_idx_n0
+.testH5Oget_native_info_by_idx_n3
.testH5Oget_info_dataset
+.testH5Oget_native_info_by_name_group
+.testH5Oget_native_info_by_idx_name_not_exist_create
Time: XXXX
-OK (23 tests)
+OK (39 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Ocopy.txt b/java/test/testfiles/JUnit-TestH5Ocopy.txt
index 32dfde7..7f66410 100644
--- a/java/test/testfiles/JUnit-TestH5Ocopy.txt
+++ b/java/test/testfiles/JUnit-TestH5Ocopy.txt
@@ -1,9 +1,10 @@
JUnit version 4.11
.testH5OcopyRefsDatasettosameFile
+.testH5OcopyNullRef
.testH5OcopyRefsDatasettodiffFile
.testH5OcopyRefsAttr
Time: XXXX
-OK (3 tests)
+OK (4 tests)
diff --git a/java/test/testfiles/JUnit-TestH5OcopyOld.txt b/java/test/testfiles/JUnit-TestH5OcopyOld.txt
new file mode 100644
index 0000000..7f66410
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5OcopyOld.txt
@@ -0,0 +1,10 @@
+JUnit version 4.11
+.testH5OcopyRefsDatasettosameFile
+.testH5OcopyNullRef
+.testH5OcopyRefsDatasettodiffFile
+.testH5OcopyRefsAttr
+
+Time: XXXX
+
+OK (4 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Oparams.txt b/java/test/testfiles/JUnit-TestH5Oparams.txt
index bc23695..b756bcf 100644
--- a/java/test/testfiles/JUnit-TestH5Oparams.txt
+++ b/java/test/testfiles/JUnit-TestH5Oparams.txt
@@ -1,22 +1,27 @@
JUnit version 4.11
.testH5Oget_comment_by_name_null
+.testH5Oget_native_info_by_name_invalid
.testH5Ovisit_by_name_nullname
.testH5Oget_info_invalid
.testH5Ovisit_by_name_null
.testH5Odisable_mdc_flushes
.testH5Oget_comment_invalid
+.testH5Oget_native_info_invalid
.testH5Oset_comment_by_name_invalid
.testH5Oare_mdc_flushes_disabled
.testH5Oopen_null
.testH5Oclose_invalid
.testH5Oflush_invalid
+.testH5Oget_native_info_by_name_null
.testH5Oget_comment_by_name_invalid
.testH5Orefresh_invalid
.testH5Ocopy_null_dest
+.testH5Oget_native_info_by_idx_null
.testH5Olink_invalid
.testH5Oget_info_by_idx_invalid
.testH5Oget_info_by_idx_null
.testH5Olink_null_dest
+.testH5Oget_native_info_by_idx_invalid
.testH5Oget_info_by_name_invalid
.testH5Oget_info_by_name_null
.testH5Ocopy_invalid
@@ -29,5 +34,5 @@ JUnit version 4.11
Time: XXXX
-OK (27 tests)
+OK (32 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Pfapl.txt b/java/test/testfiles/JUnit-TestH5Pfapl.txt
index c4f37d0..c34ac1c 100644
--- a/java/test/testfiles/JUnit-TestH5Pfapl.txt
+++ b/java/test/testfiles/JUnit-TestH5Pfapl.txt
@@ -28,6 +28,7 @@ JUnit version 4.11
.testH5Pset_elink_fapl
.testH5P_hyper_vector_size
.testH5P_gc_references
+.testH5P_file_locking
.testH5P_family_offset
.testH5P_fapl_core
.testH5P_fapl_muti
@@ -37,5 +38,5 @@ JUnit version 4.11
Time: XXXX
-OK (35 tests)
+OK (36 tests)
diff --git a/java/test/testfiles/JUnit-TestH5R.txt b/java/test/testfiles/JUnit-TestH5R.txt
index 150df54..a96fbb4 100644
--- a/java/test/testfiles/JUnit-TestH5R.txt
+++ b/java/test/testfiles/JUnit-TestH5R.txt
@@ -1,23 +1,28 @@
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
+.testH5Ropen_attr_Nullref
+.testH5Rget_attr_name_Nullref
+.testH5Ropen_region_Nullref
+.testH5Requal_Nullref1
+.testH5Requal_Nullref2
+.testH5Rget_object
+.testH5Rget_obj_type3_Nullref
+.testH5Ropen_object_Nullref
+.testH5Rdestroy_Nullref
+.testH5Rcreate_object_Nullname
+.testH5Rget_obj_type3
+.testH5Rget_name_Invalidloc
+.testH5Rcopy_Nullref1
+.testH5Rcreate_attr_Invalidloc
+.testH5Rget_file_name_Nullref
+.testH5Rget_obj_name_Nullref
+.testH5Rcreate_region_Nullname
+.testH5Rcreate_regionref_object
+.testH5Rcreate_attr_Nullattrname
+.testH5Rcreate_region_Invalidloc
+.testH5Rget_type_Nullref
+.testH5Rcreate_attr_Nullname
Time: XXXX
-OK (17 tests)
+OK (22 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Rref.txt b/java/test/testfiles/JUnit-TestH5Rref.txt
new file mode 100644
index 0000000..05019c0
--- /dev/null
+++ b/java/test/testfiles/JUnit-TestH5Rref.txt
@@ -0,0 +1,10 @@
+JUnit version 4.11
+.testH5Rget_region_dataset
+.testH5Rget_object
+.testH5Rget_region_attribute
+.testH5Rget_obj_type3
+
+Time: XXXX
+
+OK (4 tests)
+
diff --git a/java/test/testfiles/JUnit-TestH5Sbasic.txt b/java/test/testfiles/JUnit-TestH5Sbasic.txt
index 707878e..3422442 100644
--- a/java/test/testfiles/JUnit-TestH5Sbasic.txt
+++ b/java/test/testfiles/JUnit-TestH5Sbasic.txt
@@ -5,18 +5,32 @@ JUnit version 4.11
.testH5Sdecode_null
.testH5Screate_simple_dims_exceed
.testH5Screate_simple_unlimted_1d
+.testH5Sselect_intersect_block_rank_start
+.testH5Sget_regular_hyperslab_invalid
+.testH5Sselect_adjust_rank_offset
.testH5Screate_simple_dims_invalid
.testH5Screate_scalar
.testH5Screate_simple
+.testH5Sselect_project_intersection_invalid
.testH5Screate_simple_rank_invalid
.testH5Sget_simple_extent_type_invalid
+.testH5Scombine_hyperslab_invalid
+.testH5Scombine_hyperslab_null_count
+.testH5Scombine_hyperslab_null_start
.testH5Sencode_invalid
.testH5Screate_null
.testH5Screate_simple_extent
.testH5Screate_invalid
+.testH5Sselect_intersect_block_invalid
+.testH5Sselect_adjust_invalid
.testH5Screate_simple_unlimted
+.testH5Sselect_shape_same_invalid
+.testH5Smodify_select_invalid
+.testH5Scombine_select_invalid
+.testH5Sselect_copy_invalid
+.testH5Sselect_intersect_block_rank_end
Time: XXXX
-OK (16 tests)
+OK (30 tests)
diff --git a/java/test/testfiles/JUnit-TestH5Tparams.txt b/java/test/testfiles/JUnit-TestH5Tparams.txt
index e61f1e4..9f725ac 100644
--- a/java/test/testfiles/JUnit-TestH5Tparams.txt
+++ b/java/test/testfiles/JUnit-TestH5Tparams.txt
@@ -1,5 +1,6 @@
JUnit version 4.11
.testH5Tget_member_type_invalid
+.testH5Treclaim_invalid
.testH5Tenum_insert_null
.testH5Tget_offset_invalid
.testH5Tset_precision_invalid
@@ -68,9 +69,10 @@ JUnit version 4.11
.testH5Tget_member_index_null
.testH5Trefresh_invalid
.testH5Tset_sign_invalid
+.testH5Treclaim_null
.testH5Tenum_insert_name_null
Time: XXXX
-OK (70 tests)
+OK (72 tests)
diff --git a/java/test/testfiles/JUnit-TestH5VL.txt b/java/test/testfiles/JUnit-TestH5VL.txt
index caadf26..ff94969 100644
--- a/java/test/testfiles/JUnit-TestH5VL.txt
+++ b/java/test/testfiles/JUnit-TestH5VL.txt
@@ -1,4 +1,6 @@
JUnit version 4.11
+.testH5VLget_connector_id_by_name
+.testH5VLget_connector_id_by_value
.testH5VLget_connector_id
.testH5VLnative_init
.testH5VLget_connector_name
@@ -7,5 +9,5 @@ JUnit version 4.11
Time: XXXX
-OK (5 tests)
+OK (7 tests)