summaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Remove long double conversion work-arounds (#3097)Dana Robinson2023-06-121-112/+3
| | | | | | | | | | | | | | | | | | | | | Several options and public symbols that were provided to paper over non-standard long double conversions between signed/unsigned long and long long values were removed from the Autotools and CMake. These were added twenty years ago, when C99 and 64-bit platforms were less common and are no longer needed. Autotools: --enable-dconv-accuracy CMake: HDF5_WANT_DATA_ACCURACY H5pubconf.h symbols: H5_WANT_DATA_ACCURACY H5_LDOUBLE_TO_LONG_SPECIAL H5_LONG_TO_LDOUBLE_SPECIAL H5_LDOUBLE_TO_LLONG_ACCURATE H5_LLONG_TO_LDOUBLE_CORRECT H5_DISABLE_SOME_LDOUBLE_CONV
* Remove code paths where long long < 8 bytes (#3098)Dana Robinson2023-06-122-31/+4
| | | | | The C99 standard says that a long long is 8+ bytes. This change removes a few parts of the code where we assume that a long long could be less than that.
* Address memory issues when copying empty enums (#3088)Dana Robinson2023-06-121-476/+508
| | | | | | | | | | When copying an empty enum type (including implicitly, as when an enum is contained in a compound type), the library would allocate 0-size blocks of memory and attempt to memcpy 0 bytes from NULL pointers, which are undefined behavior. In debug mode, the library would raise an assert in H5MM. The library now avoid undefined memory operations when copying empty enum types and a test that copies empty enums has been added.
* Convert H5F haddr_t macros to H5 (#3039)Dana Robinson2023-06-0511-155/+155
| | | | | | | | | | | | | | | | | | | | | | Several macros for handling haddr_t values exist in H5Fprivate.h and have H5F prefixes, even though they have nothing to do with a particular file (e.g., H5F_addr_lt()). These macros have been moved to H5private.h and renamed to have an H5 prefix. Affected macros: H5F_addr_overflow H5F_addr_defined H5F_addr_eq H5F_addr_ne H5F_addr_lt H5F_addr_le H5F_addr_gt H5F_addr_ge H5F_addr_cmp H5F_addr_overlap H5F_addr_pow2 was unused and removed instead of converted.
* Only pass efc pointer to H5F__efc_open (#3026)Dana Robinson2023-05-301-325/+325
| | | | The H5F__efc_open() API call only needs the efc pointer, so there is no need to pass the entire file struct in.
* API test updates (#3018)jhendersonHDF2023-05-2624-3640/+3413
| | | | | | | | | | | | | | | | | | | | | | | | | * Remove macros from api tests (#2929) * Remove macros and undefined callbacks (#2959) * Remove remaining macros from H5_api_tests_disabled.h (#2968) * Put some vol capability checks in testpar tests and remove remaining warnings (#2995) * API tests datatype generation cleanup * Clean up API tests' random datatype generation and fix bug with enum datatype generation * Init parallel API tests with MPI_THREAD_MULTIPLE * HDF5 API tests - Check VOL connector registration * Determine whether a VOL connector failed to load before running API tests * Cleanup some usages of H5VL_CAP_FLAG_CREATION_ORDER in API tests * Remove some now-unused macros from H5_api_tests_disabled.h * Enable HDF5 API tests by default * Implement CMake option to install HDF5 API tests * Check for invalid AAPL from H5Acreate * Enable building of VOL connectors alongside HDF5 in CMake * Prepend CMake VOL URL option indices with 0s so they come in order * Don't turn on API tests by default yet * Document VOL connector FetchContent functionality * Add release note for API test updates * Only install testing library if API tests are installed * Fix grammar
* Suppress vfd.c test warning (#3014)Dana Robinson2023-05-251-8/+13
|
* Fix missing/misplaced h5_reset calls (#3001)Dana Robinson2023-05-232-17/+17
| | | | | | Fixes failures when running tests after building with thread-safety w/ code stacks on. Fixes #2990
* Fix 'datatype' misspellings ('dataype') (#2984)Dana Robinson2023-05-196-18/+18
|
* Add test for HDstrcasestr macro (#2115)jhendersonHDF2023-05-191-3/+41
|
* Remove unnecessary fields from cache structs (#2951)Quincey Koziol2023-05-154-49/+3
| | | | | | | | | | | | * Remove unnecessary 'magic' field from cache structs Signed-off-by: Quincey Koziol <quincey@koziol.cc> * Committing clang-format changes --------- Signed-off-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fix warning in cache_common.c (#2952)jhendersonHDF2023-05-151-65/+77
|
* Move functions into more focused source code modules (#2936)Quincey Koziol2023-05-121-2/+2
| | | | | | | | | | | | | | * Move functions into more focused source code modules, along with a small # of directly secondary effects. No actual changes to the contents of any moved routines. Signed-off-by: Quincey Koziol <quincey@koziol.cc> * Committing clang-format changes --------- Signed-off-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* More code duplication reduction (#2930)Quincey Koziol2023-05-091-37/+13
| | | | | | | | | | | | | | | | | | | | | | | | * Add failure value where it's missing from 1+ macros. Clean up whitespace / continuation characters ('\'). Made hash-table macros generic for use in both the package header and test header. Remove duplicated copy & pasted macros (by hoisting difference into #ifdef'd macro). Updated and re-flowed comments to read better. Also clean up a few compiler warnings in production builds. Signed-off-by: Quincey Koziol <quincey@koziol.cc> * Committing clang-format changes * Remove unused variable warning in H5C.c (#2844) * Remove trailing /* NDEBUG */ comment from #endif's * Committing clang-format changes --------- Signed-off-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fix CMake generator expression syntax (#2909)Allen Byrne2023-05-052-23/+23
|
* Fix mirror VFD test timeouts (#2915)Quincey Koziol2023-05-051-2/+17
| | | | | | | | | * Close & re-open socket when looping for timeouts * Committing clang-format changes --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Minor tidying of API tests files (#2878)jhendersonHDF2023-05-032-7/+9
| | | | | | * Minor tidying of API tests files * Remove old API test configuration setting
* Changes to isolate API Test option files and use fetchcontent (#2880)Allen Byrne2023-05-03109-36581/+52
|
* Add initial version of HDF5 API tests (#2877)jhendersonHDF2023-05-02159-31/+176005
|
* Skip page buffer test for "no selection I/O cause" when using split or multi ↵Neil Fortner2023-05-011-0/+11
| | | | driver (#2866)
* Remove "the the" from comments and docs (#2865)Dana Robinson2023-05-011-3/+3
|
* Implement selection I/O with type conversion (#2823)Neil Fortner2023-04-2813-1/+3282
| | | | | Initial implementation of selection I/O with type conversion. Allows Parallel collective I/O with type conversion, as long as selection I/O is enabled.
* Fix v1 object header gap bug in H5Ocopy (#2785)jhendersonHDF2023-04-261-0/+64
|
* Allow H5P_DEFAULT in H5Pget_vol_cap_flags and H5Pget_vol_id (#2807)jhendersonHDF2023-04-251-1/+25
|
* H5Odtype.c decode cleanup (#2797)Dana Robinson2023-04-251-84/+87
| | | | * Adds bounds checking to H5Odtype.c * Minor tidy of dtypes test
* Sanitize the attribute object header msg code (#2749)Dana Robinson2023-04-191-2/+5
| | | | | Adds: * Bounds checks on buffer access * Better memory cleanup
* Jira issue OESS-337: Create test for H5VLconnector_info_to_str (#2334)raylu-hdf2023-04-181-6/+152
| | | * Jira issue OESS-337: Adding a test case for H5VLconnector_info_to_str, H5VLconnector_str_to_info, and H5VLconnector_free_info. The test may need to change after the possible changes of the parameters of the API functions.
* Remove -Wunused-but-set-variable warnings in tests (#2661)Allen Byrne2023-04-113-31/+6
|
* Dead code removal (#2690)Quincey Koziol2023-04-112-254/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Correct concurrency bugs when running tests, along with a bugfix & small warning cleanup. * Committing clang-format changes * Allow spaces (and tabs) in VOL connector info string from environment variable. * Parse connector name from HDF5_PLUGIN_PATH environment variable better * Correct H5VLquery_optional to use H5VL routine instead of H5I. Also add an error message to the failure return value from not finding a plugin. * Play nice with existing plugin paths * Use API routine to determine if native connector is terminal. * Committing clang-format changes * Make string size larger, to allow for connectors with longer names. * Be more flexible about testing external pass through connectors, especially if they have registered new optional operations. * Dead code removal * Committing clang-format changes --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: AWS ParallelCluster user <ec2-user@ip-10-0-0-65.us-east-2.compute.internal> Co-authored-by: Koziol <qkoziol@88665a374c70.ant.amazon.com>
* Comment cleanup (#2689)Quincey Koziol2023-04-1155-910/+3
| | | * Clean up content and redundant logging in comments.
* Remove dead code hidden behind #ifdef LATER (#2686)Dana Robinson2023-04-102-38/+4
|
* Synchronize HDF5 tests with VOL tests (#2628)jhendersonHDF2023-04-0315-226/+779
|
* chore: make comment consistent (#2654)H. Joe Lee2023-04-011-1/+1
| | | Use a 3rd person verb to match "Does not" in the next sentence.
* Fix test script names in cleanup code (#2590)Dana Robinson2023-03-201-6/+9
| | | | When the test scripts were renamed, DISTCLEANFILES in Makefile.am was not updated.
* Make sure that ONLY_SHARED_LIBS option is correctly set (#2544)Allen Byrne2023-03-132-3/+3
|
* HDFFV-10368 (OESS-319): Making two useful macros (H5L_EXT_FLAGS_ALL and ↵raylu-hdf2023-02-212-2/+109
| | | | | | | | | | | | | | | | | | | | | H5L_EXT_VERSION) public (#2386) * HDFFV-10368 (OESS-319): Move two useful macros (H5L_EXT_FLAGS_ALL and H5L_EXT_VERSION) from H5Lpkg.h to H5Lpublic.h for public usage. The test in vol.c only envokes H5Lcreate_external using the passthru VOL. To test if the macros are public, one can use them in the link creation of the passthru VOL, such as printing out their values. * Committing clang-format changes * Moved the test for the external link public macros (H5L_EXT_FLAGS_ALL and H5L_EXT_VERSION) from vol.c to links.c. * Committing clang-format changes * Minor change: changed a pointer variable to an integer. * Committing clang-format changes * Moved two macros (H5L_EXT_VERSION and H5L_EXT_FLAGS_ALL) to H5Ldevelop.h for only developers to use. --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove duplicated "help@hdfgroup.org" lines in file headers. (#2441)Larry Knox2023-02-113-3/+0
|
* Add szip/libaec to GitHub CI and fix warnings (#2438)Dana Robinson2023-02-092-8/+4
| | | | | | | | szip (or libaec) is currently not tested in CI. This adds szip to the the Autotools GitHub CI actions on Linux when building with the Autotools. This PR also cleans up a few warnings that remained in the szip- related code so the -Werror check will pass.
* HDFFV-11208 (OESS-320): H5VLquery_optional had an assertion failure with a ↵raylu-hdf2023-01-101-0/+80
| | | | | | | | | | | | | | | committed datatype (#2398) * HDFFV-11208 (OESS-320): H5VLquery_optional had an assertion failure with a committed datatype. Added a test case for the fix that Quincey checked in. * Committing clang-format changes * Fixed a typo in a comment. * Fixed a typo in a comment. * Minor change: changed H5Tcommit to H5Tcommit2. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Pass-through connector testing flexibility (#2399)Quincey Koziol2023-01-091-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Correct concurrency bugs when running tests, along with a bugfix & small warning cleanup. * Committing clang-format changes * Allow spaces (and tabs) in VOL connector info string from environment variable. * Parse connector name from HDF5_PLUGIN_PATH environment variable better * Correct H5VLquery_optional to use H5VL routine instead of H5I. Also add an error message to the failure return value from not finding a plugin. * Play nice with existing plugin paths * Use API routine to determine if native connector is terminal. * Committing clang-format changes * Make string size larger, to allow for connectors with longer names. * Be more flexible about testing external pass through connectors, especially if they have registered new optional operations. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: AWS ParallelCluster user <ec2-user@ip-10-0-0-65.us-east-2.compute.internal> Co-authored-by: Koziol <qkoziol@88665a374c70.ant.amazon.com>
* Play nice with existing plugin paths (#2394)Quincey Koziol2023-01-061-1/+1
| | | | | | | | | | | | | | | | | | | * Correct concurrency bugs when running tests, along with a bugfix & small warning cleanup. * Committing clang-format changes * Allow spaces (and tabs) in VOL connector info string from environment variable. * Parse connector name from HDF5_PLUGIN_PATH environment variable better * Correct H5VLquery_optional to use H5VL routine instead of H5I. Also add an error message to the failure return value from not finding a plugin. * Play nice with existing plugin paths Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: AWS ParallelCluster user <ec2-user@ip-10-0-0-65.us-east-2.compute.internal> Co-authored-by: Koziol <qkoziol@88665a374c70.ant.amazon.com>
* H5F_LIBVER_LATEST changes for move to 1.15 (#2288)Allen Byrne2022-12-214-6/+13
| | | | | | | | | | | | | | | * H5F_LIBVER_LATEST changes for move to 1.15 * Add new default api check * Format fixes * Fix default configure * fix lib version tests * Fix another version variable * Add 1.14 doc link
* Fix up the H5Pencode2 test for virtual layout. (#2325)vchoi-hdfgroup2022-12-211-91/+87
| | | | | | | | | | * Fix up the H5Pencode2 test for virtual layout. * Committing clang-format changes * Remove VERIFY and use TEST_ERROR. Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Align arg types of H5D_chunk_iter_op_t with H5Dget_chunk_info (#2074)Mark Kittisopikul2022-12-191-9/+9
| | | | | | | * Align arg types of H5D_chunk_iter_op_t with H5Dget_chunk_info * Modify chunk_info test to for unsigned / hsize_t types * Fix types in test
* Hdffv 11052 (#2315)vchoi-hdfgroup2022-12-161-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC) producing a core dump. When h5debug closes the corrupted file, the library calls H5F__dest() which performs all the closing operations for the file "f" (H5F_t *) but just keeping note of errors in "ret_value" all the way till the end of the routine. The user-provided corrupted file has an illegal file size causing failure when reading the image during the closing process. At the end of this routine it sets f->shared to NULL and then frees "f". This is done whether there is error or not in "ret_value". Due to the failure in reading the file earlier, the routine then returns error. The error return from H5F__dest() causes the file object "f" not being removed from the ID node table. When the library finally exits, it will try to close the file objects in the table. This causes assert failure when H5F_ID_EXISTS(f) or H5F_NREFS(f). Fix: a) H5F_dest(): free the f only when there is no error in "ret_value" at the end of the routine. b) H5VL__native_file_close(): if f->shared is NULL, free "f"; otherwise, perform closing on "f" as before. c) h5debug.c main(): track error return from H5Fclose(). * Committing clang-format changes * Add test and release note info for fix to HDFFV-11052 which is merged via PR#2291. * Committing clang-format changes * Add the test file to Cmake. * Skip test_misc37() for drivers that is not default compatible as it is using a pre-generated file. * Committing clang-format changes Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Hdffv 11052 (#2303)vchoi-hdfgroup2022-12-153-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix for HDFFV-11052: h5debug fails on a corrupted file (h5_nrefs_POC) producing a core dump. When h5debug closes the corrupted file, the library calls H5F__dest() which performs all the closing operations for the file "f" (H5F_t *) but just keeping note of errors in "ret_value" all the way till the end of the routine. The user-provided corrupted file has an illegal file size causing failure when reading the image during the closing process. At the end of this routine it sets f->shared to NULL and then frees "f". This is done whether there is error or not in "ret_value". Due to the failure in reading the file earlier, the routine then returns error. The error return from H5F__dest() causes the file object "f" not being removed from the ID node table. When the library finally exits, it will try to close the file objects in the table. This causes assert failure when H5F_ID_EXISTS(f) or H5F_NREFS(f). Fix: a) H5F_dest(): free the f only when there is no error in "ret_value" at the end of the routine. b) H5VL__native_file_close(): if f->shared is NULL, free "f"; otherwise, perform closing on "f" as before. c) h5debug.c main(): track error return from H5Fclose(). * Committing clang-format changes * Add test and release note info for fix to HDFFV-11052 which is merged via PR#2291. * Committing clang-format changes * Add the test file to Cmake. Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Bug Fix: Segfault in H5CX_get_vol_wrap_ctx when H5VLwrap_register is called ↵raylu-hdf2022-11-171-0/+76
| | | | | | | | | | | | | | | | from an application (#2248) * Jira HDFFV-10881: Segfault in H5CX_get_vol_wrap_ctx when H5VLwrap_register is called from an application. A quick and simple fix to make it fail with a relevant error message. * Format changes. * Committing clang-format changes * Minor change: split one condition check into two for clarity. * Adding doxygen comment for H5VLwrap_register. * Minor change: adding a little more detail to the Doxygen comment for H5VLwrap_register.
* Bug fix: the previous checkin only supported the native connector (#2211)raylu-hdf2022-11-051-5/+21
| | | | | | | * Bug fix: make sure the test case supports the pass_through connector. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Removes the memory allocation sanity checks feature (#2218)Dana Robinson2022-11-031-46/+11
| | | | | | | | | | | | | | | * Removes the memory allocation sanity checks feature * Committing clang-format changes * Removes zero size checks for H5MM_(c|m)alloc() * Explicitly return NULL when size == 0 in H5allocate_memory() * Committing clang-format changes * Format fix Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Update copyright headers (#2184)Larry Knox2022-11-01171-183/+22
| | | | | * Updated source file copyright headers to remove "Copyright by the Board of Trustees of the University of Illinois", which is kept in the top-level COPYING file.