Commit Graph

3779 Commits

Author SHA1 Message Date
H. Joe Lee
7d40520a55
Remove Windows oneAPI warning for %ld formatting (#4876) 2024-09-25 12:07:20 -05:00
Allen Byrne
0737d0dbf7
Correct URLs in documentation (#4823) 2024-09-12 22:46:58 -05:00
Allen Byrne
bca2806055
Update URL documentation links to support site (#4781) 2024-08-29 16:27:44 -05:00
H. Joe Lee
8b3041f3a3
Fix macro redefined warnings (#4744)
Removes a duplicated HDopen macro from the performance testing programs
2024-08-22 09:12:59 -07:00
Allen Byrne
f77b70859f
Rework Dynamic Analysis and sanitize testing (#4681)
* Ignore predetermined failing test and check pointer before use

* Rework Analysis process
2024-08-05 09:53:53 -05:00
Scot Breitenfeld
26f052c6f2
Warning fix (#4682)
* warning fix

* warning fix
2024-08-01 11:17:06 -05:00
Allen Byrne
f8069fa850
Add tools usage text as doxygen for Tools UG (#4602) 2024-07-15 09:43:20 -05:00
Allen Byrne
bbdebee600
These two generators create strings without NUL for testing (#4608) 2024-06-26 20:40:35 -07:00
Allen Byrne
162f01292c
Rework the TestExpress usage and refactor dead code (#4590) 2024-06-20 14:01:43 -07:00
Allen Byrne
e7796a60d2
Add page buffer cache command line option to tools (#4562)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-19 07:38:30 -05:00
Dana Robinson
f44fa558f2
Clean up off_t --> HDoff_t stragglers (#4555)
* off_t --> HDoff_t in test

* off_t --> HDoff_t in h5ls, h5dump, & h5repack

* Minor off_t tweak to configure.ac

* off_t --> HDoff_t fixes in src

This changes the type of the offset parameter in H5Pget_external()
to HDoff_t to match H5Pset_external(), along with other minor tweaks.

* off_t --> HDoff_t in C++ wrappers

* Fix off_t usage in Java wrapper
2024-06-07 17:25:06 -07:00
Allen Byrne
1dc0b67715
Adjust h5repack userblock option to allow reserve size (#4544) 2024-06-05 16:18:12 -05:00
Allen Byrne
552510e906
Add option to use zlib-ng as zlib library (#4487) 2024-06-04 09:44:13 -07:00
jhendersonHDF
8897e25b00
Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
Allen Byrne
9ad5f7e3a9
Use ADD_H5_ERR_TEST to not compare output (#4464) 2024-05-06 16:33:09 -05:00
Allen Byrne
ea3a3a25f1
Remove use of err files in autotools test scripts (#4461) 2024-05-06 08:31:39 -05:00
jhendersonHDF
6114d1adfb
Fixes and cleanup for ph5diff (#4460)
* Fixes and cleanup for ph5diff

Fixes concurrency issues in ph5diff that can cause interleaved
output

Fixes an issue where output can sometimes be dropped if it ended
up in ph5diff's output overflow file

Fixes an issue where MPI_Init is called after HDF5 has been
initialized, preventing the library from setting up an MPI
attribute to perform cleanup on MPI_Finalize

Fixes an issue in config/cmake/runTest.cmake where the CMake
logic would try to access an invalid list index if the number
of lines in a test's output and reference files don't match

* Add release note
2024-05-03 15:00:15 -05:00
Allen Byrne
1b6ae84d15
Convert ERR test to use grep (#4451)
* Convert ERR test to use grep
* Eliminate use of .err files in CMake
* Show error output if grep fails
* Turn off cuda in NVHPC CI
2024-05-03 03:29:53 -07:00
vchoi-hdfgroup
b23affc2a6
Fix for github issue #3790: infinite loop closing library (#4445)
* Fix for github issue #3790: infinite loop closing library
Cause of the problem:
When h5dump tries to open the user provided test file, the metadata cache will
call the "get_final_load_size" callback to find out the actual size of the
the root object header.  The callback function will call
H5O__prefix_deserialize() to allocate space for the object header
data structure (via H5FL_CALLOC) and to deserialize the object header prefix
in order to find the actual size of the object header.
The metadata cache will then check whether the actual size obtained
will exceed the file's EOA.
Since the actual size obtained from the test file exceeds the EOA,
the metadata cache throws an error and return.
However, the oh structure that was allocated in H5O__prefix_deserialize()
was not freed and hence causing the problem described in this issue.
Fix:
1) Deallocate the oh structure after obtaining and saving the needed
information in udata which will be used later on in the "verify_chksum" callback.
2) Deserialize the object header prefix in the "object header's
"deserialize" callback regardless.  The original coding intends to keep the
deserialized prefix so that the object header's "deserialize" callback
does not need to deserialize the prefix again if the object header is coming
through the "get_final_load_size" callback.
2024-04-30 07:21:08 -05:00
Quincey Koziol
0ce1a96b4e
Don't print thread ID when the library isn't multithreaded. (#4428)
Corresponding changes to make error output for regression tests agnostic
to thread setting.

Signed-off-by: Quincey Koziol <quincey@koziol.cc>
2024-04-24 08:32:28 -07:00
jhendersonHDF
b929dbd312
Fix use of possibly uninitialized memory in h5repack (#4354) 2024-04-08 15:47:32 -07:00
Dana Robinson
4dbaec7991
Remove HD from last non-win32 C89 functions (#4348)
Removes the HD prefix from the last C89 functions with no special
Windows equilvalent:

* rename
* rewind
* setbuf
* signal
* tmpfile
2024-04-08 07:58:13 -07:00
Dana Robinson
2f4372104a
Remove #undef ERR from H5private.h (#4346)
This is an old work-around that is no longer necessary.

The only place where we defined ERR is in h5import, and that code
has been updated (in this PR) to rename ERR to INVALID_TOKEN.
2024-04-08 07:57:42 -07:00
Dana Robinson
a99d620172
Clean up random number generator code (#4338)
* Clean up random number generator code

Depending on the platform, we use a mix of random, rand, and rand_r
to generate pseudo-random numbers, along with a messy set of ifdefs
in H5private.h. We are not a cryptographic library, only use random
numbers in our test code, and have no need for anything more than the
C standard's (s)rand(). There's no point dithering about using rand()
vs random() when we're also doing bad things like using mod to
restrict the range, which introduces bias.

Also removes CMake/configure checks for rand_r and random

* Remove random/rand_r checks from build system

* Fix missed HDrandom after GitHub merge
2024-04-07 15:15:25 -07:00
Dana Robinson
0de523bc42
Remove HD macros for C time functions (#4337)
* HDasctime
* HDclock
* HDctime
* HDdifftime
* HDgmtime
* HDlocaltime
* HDmktime
* HDtime
* HDtzset

HDgettimeofday will be done later
2024-04-07 14:09:23 -07:00
jhendersonHDF
ce53bc020d
Fixes for file format security issues (#4283) 2024-03-31 22:44:18 -05:00
Dana Robinson
80fc8558b0
Fix off_t straggers (#4291)
Convert off_t to HDoff_t (mainly for Windows):

* h5jam
* h5unjam
* chunk_info test
2024-03-31 12:12:26 -07:00
Dana Robinson
136739b37a
File format security issues (#4234) 2024-03-27 13:12:32 -07:00
jhendersonHDF
638c4d901f
Fix an issue with type size assumptions in h5dumpgentest (#4222) 2024-03-24 15:13:46 -05:00
jhendersonHDF
86ca181bd8
Fix 'make check-vfd' target for Autotools (#4211)
Changes Autotools testing to use HDF5_TEST_DRIVER environment
variable to avoid running tests that don't work well with several
VFDs

Restores old h5_get_vfd_fapl() testing function to setup a FAPL
with a particular VFD

Adds a macro for the default VFD name
2024-03-22 21:31:16 -05:00
Dana Robinson
15608c00b5
Call memset before stat calls (#4202)
The buffers passed to stat-like calls are only partially filled in by
the call, leaving ununitialized memory areas when the stat buffers are
created on the stack.

This change memsets the buffers to 0 before the stat calls, quieting
the -fsanitze=memory complaints.
2024-03-21 05:31:30 -07:00
Allen Byrne
977f4aab14
h5diff compares attribute data like dataset data (#4191)
Updates tools docs to indicate that dataset and attribute data are compared in the same way
2024-03-20 10:54:44 -07:00
jhendersonHDF
330b80a266
Add support for _Float16 16-bit floating point type (#4065)
Fixed some conversion issues with Clang due to problematic undefined
behavior when casting a negative floating-point value to an integer

Fixed a bug in the library's software integer to floating-point
conversion function where a user's conversion exception function
returning H5T_CONV_UNHANDLED in the case of overflows would result in
incorrect data after conversion

Added configure checks for functions and macros related to _Float16
usage since some compilers expose the datatype but not the functions or
macros

Fixed a dt_arith test failure when H5_WANT_DCONV_EXCEPTION isn't defined

Fixed a few warnings from not explicitly casting some _Float16 variables
upwards
2024-03-18 21:36:46 -07:00
Allen Byrne
50a6522322
Change compression tests reference files to use masking for compression ratios (#4083)
Rework TEST_FILTER tests to handle slightly different compression ratios
2024-03-10 16:43:37 -07:00
Dana Robinson
f0ba8baa0d
Minimize use of abort() (#4110)
The abort() call is used at several places where it probably shouldn't.
2024-03-10 12:42:16 -07:00
jhendersonHDF
ef401a5f5e
Refactor datatype conversion code to use pointers rather than IDs (#4104)
The datatype conversion code previously used IDs for the source and
destination datatypes rather than pointers to the internal structures
for those datatypes. This was mostly due to the need for an ID for these
datatypes that can be passed to an application-registered datatype
conversion function or datatype conversion exception function. However,
using IDs internally caused a lot of unnecessary ID lookups and hurt
performance of datatype conversions in general. This was especially
problematic for compound datatype conversions, where the ID lookups were
occuring on every member of every compound element of a dataset. The
code has now been refactored to use pointers internally and only create
IDs for datatypes when necessary.

Fixed a test issue in dt_arith where a library datatype conversion
function was being cast to an application conversion function. Since the
two have different prototypes, this started failing after the parameters
for a library conversion function changed from hid_t to H5T_t * and an
extra parameter was added. This appears to have worked coincidentally in
the past since the only different between a library conversion function
and application conversion function was an extra DXPL parameter at the
end of an application conversion function

Fixed an issue where memory wasn't being freed in the h5fc_chk_idx test
program. Even though the program exits quickly after allocating the
memory, it still causes failures when testing with -fsanitize=address
2024-03-09 23:47:31 -08:00
Dana Robinson
0ea1d7280b
Clean up off_t usage (#4095)
* Add comments to C++ and Fortran API calls that use off_t
* Remove noise casts for small integers
2024-03-09 09:06:10 -08:00
H. Joe Lee
1a05563183
Add subfiling for h5dump filedriver option help message (#3878) 2024-03-08 13:39:33 -08:00
Allen Byrne
0be892585a
Rename incorrectly named option (#4067)
* Rename incorrectly named option

* Restore the correct uses of USING_MEMCHECKER

* Update release note
2024-03-05 09:07:16 -08:00
Larry Knox
968cf9e707
Improve error messages when tools attempt to use non-enabled S3 and HDFS VFDs. (#4047) 2024-03-04 06:54:24 -08:00
Allen Byrne
7ce8c6f81a
Add options to allow tools type selection and naming (#4046) 2024-03-04 06:53:52 -08:00
Allen Byrne
02a57328f7
Grep for error messages instead of comparing files (#4024) 2024-02-16 09:14:22 -08:00
jhendersonHDF
be956ea302
Fix some output issues with ph5diff (#4008) 2024-02-13 09:06:33 -06:00
Sean McBride
f309fcebbd
Issue #1824: Replaced most remaining sprintf with safer snprint (#4003) 2024-02-13 08:22:17 -06:00
H. Joe Lee
0843a8c1be
Add h5dump tests that require subfiling VFD (#3879) 2024-02-01 09:02:47 -08:00
H. Joe Lee
6a5dd86315
Remove check for MPI initialization in tools library when using parallel VFDs
The tools library no longer checks for whether MPI is initialized when attempting to use a parallel VFD, such as the MPI I/O VFD or Subfiling VFD. This requires that parallel VFDs check for this situation and initialize MPI on their own if need be, but also allows parallel VFDs to be used with non-parallel HDF5 tools, such as h5dump.
2024-01-09 10:38:35 -06:00
Quincey Koziol
3a21ee0877
Add 'warning density' computation to the warnhist script (#3910)
* Add 'warning density' computation to the warnhist script, along with several
cleanups to it.   Add "--enable-show-all-warnings" configure (and CMake)
option to disable compiler diagnostic suppression (and therefore show all the
otherwise suppressed compiler diagnostics), disabled by default.  Clean up
a buncn of misc. warnings.

Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
2023-12-29 08:42:35 -06:00
Allen Byrne
6f2d22d86e
Add variable option syncing for examples (#3885) 2023-12-14 12:50:30 -06:00
Allen Byrne
4f01fb39d8
Correct CMake command and example packaging (#3888) 2023-12-08 07:45:54 -06:00
H. Joe Lee
0fa3029c88
Fix h5dump segmentation fault when --vfd-value option is used (#3873) 2023-11-28 15:31:35 -06:00