diff options
| author | Dana Robinson <derobins@hdfgroup.org> | 2016-09-19 20:30:22 (GMT) |
|---|---|---|
| committer | Dana Robinson <derobins@hdfgroup.org> | 2016-09-19 20:30:22 (GMT) |
| commit | 5ac0b328c8de74c11afb7aad7a5305389c70adaa (patch) | |
| tree | 81bdef26f7c5a696fcacd5d824ef8abf97d80d2e /java/test/TestH5PL.java | |
| parent | c15d93826b1fee98dfebc9903808a3b8a29e9512 (diff) | |
| parent | 2646f917adb5b2e17404260e433dc3ed7c39a602 (diff) | |
| download | hdf5-5ac0b328c8de74c11afb7aad7a5305389c70adaa.zip hdf5-5ac0b328c8de74c11afb7aad7a5305389c70adaa.tar.gz hdf5-5ac0b328c8de74c11afb7aad7a5305389c70adaa.tar.bz2 | |
Merge pull request #32 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:evict_on_close to evict_on_close
Sync with develop and cleaned up feature. Feature works with datasets but testing is minimal.
* commit '2646f917adb5b2e17404260e433dc3ed7c39a602': (102 commits)
Cleaned up feature for dissemination to LLNL: - Removed support for datatypes. - Commented out support for groups - General change clean-up - Added a list of improvements to BRANCH.txt
Removed blank line in Fortran file (leftover from last commit)
Reverted H5T code since datatypes will not be supported at this time.
Fixed format_convert and fortran files (bad merge?).
Updated manifest. Was missing BRANCH.txt.
Add missing command to set shared generated file
Add default site names
Separate fortran generation into static and shared folders.
Revert to using old set command
Change string to list - older usage
Add option to submit to Cdash
Change UPDATE_TYPE to git
Update CMake java functions
Added missing evict on close test file line to test/CMakeLists.txt.
Restrict git commit hash in tar file names to first 7 characters with --short option.
Add longer timeout to cache tests - test has consistently exceeded default timing.
Removed -p option from invocation of autogen.sh by h5vers script to allow running h5vers on machines without /usr/hdf/bin/AUTOTOOLS.
Add bin/pkgscrpts files to MANIFEST.
dd bin/pkgscrpts directory with scripts to package deployed unix binaries into tarfiles.
Purpose: Code cleanup Description: - Used FP_EPSILON in comparing float values to verify read data - Casted C macro to fix mismatched types in verify_val calls Platforms tested: Linux/32 2.6 (jam) Linux/64 (platypus) Darwin (osx1010test)
...
Diffstat (limited to 'java/test/TestH5PL.java')
| -rw-r--r-- | java/test/TestH5PL.java | 123 |
1 files changed, 123 insertions, 0 deletions
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) {} + } + } } |
