summaryrefslogtreecommitdiffstats
path: root/java/test
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-09-14 21:02:43 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-09-14 21:02:43 (GMT)
commit7f817fea7c50cea4305bc14fcaf4d80fb3dc42e4 (patch)
treee18b6cefc2cc51c58ebacec1d6a9051742754f71 /java/test
parentc1c384878ba58193120c3da804d761542c47bd7d (diff)
parent052efd9bde06ea2427beffd3ea493cbc53a17608 (diff)
downloadhdf5-7f817fea7c50cea4305bc14fcaf4d80fb3dc42e4.zip
hdf5-7f817fea7c50cea4305bc14fcaf4d80fb3dc42e4.tar.gz
hdf5-7f817fea7c50cea4305bc14fcaf4d80fb3dc42e4.tar.bz2
Merge branch 'develop' into evict_on_close
Diffstat (limited to 'java/test')
-rw-r--r--java/test/CMakeLists.txt28
-rw-r--r--java/test/TestH5PL.java123
-rw-r--r--java/test/junit.sh.in2
3 files changed, 136 insertions, 17 deletions
diff --git a/java/test/CMakeLists.txt b/java/test/CMakeLists.txt
index 9038800..8cb41f7 100644
--- a/java/test/CMakeLists.txt
+++ b/java/test/CMakeLists.txt
@@ -68,22 +68,11 @@ set (HDF_JAVA_TEST_FILES
)
foreach (h5_file ${HDF_JAVA_TEST_FILES})
- set (dest "${PROJECT_BINARY_DIR}/${h5_file}")
- #message (STATUS " Copying ${h5_file}")
- add_custom_command (
- TARGET ${HDF5_JAVA_TEST_LIB_TARGET}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/${h5_file} ${dest}
- )
+ HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/${h5_file}" "${PROJECT_BINARY_DIR}/${h5_file}" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
endforeach (h5_file ${HDF_JAVA_TEST_FILES})
-add_custom_command (
- TARGET ${HDF5_JAVA_TEST_LIB_TARGET}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy_if_different ${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig ${PROJECT_BINARY_DIR}/h5ex_g_iterate.hdf
-)
+HDFTEST_COPY_FILE("${PROJECT_SOURCE_DIR}/h5ex_g_iterate.orig" "${PROJECT_BINARY_DIR}/h5ex_g_iterate.hdf" "${HDF5_JAVA_TEST_LIB_TARGET}_files")
+add_custom_target(${HDF5_JAVA_TEST_LIB_TARGET}_files ALL COMMENT "Copying files needed by ${HDF5_JAVA_TEST_LIB_TARGET} tests" DEPENDS ${${HDF5_JAVA_TEST_LIB_TARGET}_files_list})
if (WIN32)
set (CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
@@ -99,7 +88,11 @@ set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}
set (testfilter "OK (598 tests)")
if (CMAKE_BUILD_TYPE MATCHES Debug)
- set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=hdf5_java_debug;")
+ if (WIN32)
+ set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=hdf5_java_D;")
+ else()
+ set (CMD_ARGS "-Dhdf.hdf5lib.H5.loadLibraryName=hdf5_java_debug;")
+ endif()
endif(CMAKE_BUILD_TYPE MATCHES Debug)
add_test (
@@ -128,4 +121,7 @@ add_test (
-D "TEST_REFERENCE=JUnit-interface.txt"
-P "${HDF_RESOURCES_DIR}/jrunTest.cmake"
)
-set_tests_properties (JUnit-interface PROPERTIES DEPENDS "JUnit-interface-clearall-objects")
+set_tests_properties (JUnit-interface PROPERTIES
+ ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir2"
+ DEPENDS "JUnit-interface-clearall-objects"
+)
diff --git a/java/test/TestH5PL.java b/java/test/TestH5PL.java
index afcb88a..9f1876c 100644
--- a/java/test/TestH5PL.java
+++ b/java/test/TestH5PL.java
@@ -23,12 +23,22 @@ 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 TestH5PL {
@Rule public TestName testname = new TestName();
+ private static String FILENAME = "h5_dlopenChunk.h5";
+ private static String DATASETNAME = "DS1";
+ private static final int DIM_X = 6;
+ private static final int DIM_Y = 8;
+ private static final int CHUNK_X = 4;
+ private static final int CHUNK_Y = 4;
+ private static final int RANK = 2;
+ private static final int NDIMS = 2;
+ private static final int H5Z_FILTER_DYNLIB4 = 260;
@Before
public void checkOpenIDs() {
@@ -58,4 +68,117 @@ public class TestH5PL {
fail("TestH5PLplugins " + err);
}
}
+
+ @Ignore
+ public void TestH5PLdlopen() {
+ long file_id = -1;
+ long filespace_id = -1;
+ long dataset_id = -1;
+ long fapl_id = -1;
+ long dcpl_id = -1;
+ try {
+ int[] cd_values = {9, 0, 0, 0};
+ int[] libversion = {0, 0, 0};
+ long[] dims = { DIM_X, DIM_Y };
+ long[] chunk_dims = { CHUNK_X, CHUNK_Y };
+ int[][] dset_data = new int[DIM_X][DIM_Y];
+ int[] mdc_nelmts = {0};
+ long[] rdcc_nelmts = {0};
+ long[] rdcc_nbytes = {0};
+ double[] rdcc_w0 = {0};
+
+ // Initialize data to "1", to make it easier to see the selections.
+ for (int indx = 0; indx < DIM_X; indx++)
+ for (int jndx = 0; jndx < DIM_Y; jndx++)
+ dset_data[indx][jndx] = 1;
+
+ // Create a new file using default properties.
+ try {
+ file_id = H5.H5Fcreate(FILENAME, HDF5Constants.H5F_ACC_TRUNC, HDF5Constants.H5P_DEFAULT,
+ HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Fcreate:" + e);
+ }
+
+ // Create dataspace. Setting maximum size to NULL sets the maximum
+ // size to be the current size.
+ try {
+ filespace_id = H5.H5Screate_simple(RANK, dims, null);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Screate_simple:" + e);
+ }
+
+ // Create the dataset creation property list.
+ try {
+ dcpl_id = H5.H5Pcreate(HDF5Constants.H5P_DATASET_CREATE);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Pcreate:" + e);
+ }
+
+ // Set the chunk size.
+ try {
+ if (dcpl_id >= 0)
+ H5.H5Pset_chunk(dcpl_id, NDIMS, chunk_dims);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Pset_chunk:" + e);
+ }
+
+ try {
+ H5.H5get_libversion(libversion);
+ cd_values[1] = libversion[0];
+ cd_values[2] = libversion[1];
+ cd_values[3] = libversion[2];
+ if (dcpl_id >= 0)
+ H5.H5Pset_filter(dcpl_id, H5Z_FILTER_DYNLIB4, HDF5Constants.H5Z_FLAG_MANDATORY, 4, cd_values);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Pset_filter:" + e);
+ }
+
+ // Create the chunked dataset.
+ try {
+ if ((file_id >= 0) && (filespace_id >= 0) && (dcpl_id >= 0))
+ dataset_id = H5.H5Dcreate(file_id, DATASETNAME, HDF5Constants.H5T_NATIVE_INT, filespace_id,
+ HDF5Constants.H5P_DEFAULT, dcpl_id, HDF5Constants.H5P_DEFAULT);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Dcreate:" + e);
+ }
+
+ try {
+ if (dataset_id >= 0)
+ H5.H5Dwrite(dataset_id, HDF5Constants.H5T_NATIVE_INT, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL,
+ HDF5Constants.H5S_ALL, dset_data);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ fail("TestH5PLdlopen H5Dwrite:" + e);
+ }
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5PLdlopen " + err);
+ }
+ finally {
+ // End access to the dataset and release resources used by it.
+ if (dcpl_id >= 0)
+ try {H5.H5Pclose_class(dcpl_id);} catch (Throwable err) {}
+ if (dataset_id >= 0)
+ try {H5.H5Dclose(dataset_id);} catch (Throwable err) {}
+ if (filespace_id >= 0)
+ try {H5.H5Sclose(filespace_id);} catch (Throwable err) {}
+ if (file_id >= 0)
+ try {H5.H5Fclose(file_id);} catch (Throwable err) {}
+ }
+ }
}
diff --git a/java/test/junit.sh.in b/java/test/junit.sh.in
index f37703a..5001c32 100644
--- a/java/test/junit.sh.in
+++ b/java/test/junit.sh.in
@@ -111,7 +111,7 @@ CLEAN_LIBFILES_AND_BLDLIBDIR()
# skip rm if srcdir is same as destdir
# this occurs when build/test performed in source dir and
# make cp fail
- SDIR=`$DIRNAME $HDFLIB_HOME/junit.jar`
+ SDIR=$HDFLIB_HOME
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