Commit Graph

4152 Commits

Author SHA1 Message Date
Dana Robinson
344ba97fec
Allow H5Soffset_simple to accept NULL offsets (#4152)
The reference manual states that the offset parameter of H5Soffset_simple()
  can be set to NULL to reset the offset of a simple dataspace to 0. This
  has never been true, and passing NULL was regarded as an error.

  The library will now accept NULL for the offset parameter and will
  correctly set the offset to zero.

  Fixes HDFFV-9299
2024-03-18 06:57:52 -07:00
Dana Robinson
fa44de4cdb
Fix mirror VFD script (#4170)
This had directory problems when running locally.
2024-03-17 18:47:59 -07:00
jhendersonHDF
a56675e12a
Fix some minor warnings (#4165) 2024-03-16 19:43:47 -07:00
Neil Fortner
40e1c6d078
Fix error when overwriting an indirectly nested vlen with a shorter sequence (#4140) 2024-03-15 09:26:56 -07:00
Allen Byrne
437f21549b
Fix doxygen link to example function usage (#4133) 2024-03-15 08:24:32 -07:00
jhendersonHDF
ca9c942844
Skip part of dsets.c test for IBM long double type (#4136) 2024-03-15 00:12:50 -07:00
mattjala
c3714b9f15
Fix segfault in vlen io API test (#4130) 2024-03-13 14:55:51 -05:00
jhendersonHDF
037c8b63d5
Handle IBM long double issues in dsets.c test_floattypes test (#4116)
* Handle IBM long double issues in dsets.c test_floattypes test
2024-03-12 07:49:41 -05:00
jhendersonHDF
4279c351f5
Fix up dsets test for some platforms with different long double format (#4114) 2024-03-11 14:39:13 -05:00
Allen Byrne
8340c4cb1f
long double tests has problems setting precision with offset (#4102)
* long double tests has problems setting precision with offset

* Disable long double until more development fixes issues
2024-03-11 07:58:35 -05:00
Dana Robinson
7403f20757
Move common variables out of cache test blocks (#4108)
Fixes a stack size warning w/ XCode
2024-03-10 16:17: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
jhendersonHDF
d8af09dd8f
Expand check for variable-length or reference types when clearing datatype conversion paths (#4085)
When clearing out datatype conversion paths involving variable-length or reference datatypes
on file close, also check for these datatypes inside compound or array datatypes
2024-03-08 21:15:56 -08:00
Allen Byrne
84ead492c0
Update long double test with correct values (#4060)
Update long double test with correct values
2024-03-08 14:13:38 -08:00
Dana Robinson
b0af7cf58b
Fixed asserts due to H5Pset_est_link_info() values (#4081)
* Fixed asserts due to H5Pset_est_link_info() values

If large values for est_num_entries and/or est_name_len were passed
to H5Pset_est_link_info(), the library would attempt to create an
object header NIL message to reserve enough space to hold the links in
compact form (i.e., concatenated), which could exceed allowable object
header message size limits and trip asserts in the library.

This bug only occurred when using the HDF5 1.8 file format or later and
required the product of the two values to be ~64k more than the size
of any links written to the group, which would cause the library to
write out a too-large NIL spacer message to reserve the space for the
unwritten links.

The library now inspects the phase change values to see if the dataset
is likely to be compact and checks the size to ensure any NIL spacer
messages won't be larger than the library allows.

Fixes GitHub #1632

* Fix copy-paste comments
2024-03-07 18:36:58 -08:00
mattjala
64a0b71c86
Close and reopen file during dset vlen IO API tests (#4050)
- Close/reopen file and file objects to prevent cache from being used instead of actual I/O.
- Moved vlen io test datasets under the dset container group instead of the root group
- Moved the PASSED() invocation to after individual test cleanup in case an error occurs during H5Treclaim
2024-03-07 09:07:05 -08:00
Dana Robinson
10a35d0ebb
Fix uninitialized bytes in selection I/O test (#4073)
This was due to a complex type fill value being set to -1 instead
of a proper complex value. This was a test problem and not a core
library issue.
2024-03-06 07:48:28 -08:00
Dana Robinson
e4d9b639d5
Fix uninitialized bytes in cmpd_dset test (#4072)
Compound fill values were set to the integer -1, causing valgrind
to flag 'uninitialized bytes' errors.

This is just a problem with the cmpd_dset test and not a core
library problem.
2024-03-05 14:33:09 -08:00
Dana Robinson
13348ab915
Fix a memory leak in the cmpd_dset test (#4071)
This was due to not freeing a test buffer. It was not a core
library memory leak.
2024-03-05 13:16:17 -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
jhendersonHDF
f5f6975c2f
Fix issue where H5Tset_fields does not account for datatype offsets (#4061)
H5Tset_fields did not account for any offset in a floating-point datatype,
causing it to fail when a datatype's precision is correctly set such that
it doesn't include the offset bits.
2024-03-05 08:23:34 -06:00
mattjala
8276bdbe09
Fix VOL-compatibility issues in External Link API test (#4039)
Fix link API tests with incorrect filename
2024-03-04 06:52:44 -08:00
jhendersonHDF
cc50a78000
Fix issue with FAPL file locking setting inheriting test (#4053)
Fixes an issue where the HDF5_USE_FILE_LOCKING environment variable being
set can interfere with the file locking setting that the test expects to
be returned.
2024-03-01 07:38:17 -06:00
mattjala
b79982a606
Fix allocating too much memory in dset API test (#4041) 2024-02-26 14:27:51 -06:00
Neil Fortner
560e80c0ad
Improve performance of flushing single objects (#4017)
Improve performance of flushing a single object, and remove metadata
cache flush markers
2024-02-23 09:06:06 -08:00
jhendersonHDF
46f7aa75fd
Fix H5F_get_access_plist to copy file locking settings (#4030)
H5F_get_access_plist previously did not copy over the file locking settings
from a file into the new File Access Property List that it creates. This would
make it difficult to match the file locking settings between an external file
and its parent file.
2024-02-22 14:52:36 -06:00
mattjala
0f56048a04
Test vlen sequence IO in API tests (#4027) 2024-02-21 13:52:39 -06:00
H. Joe Lee
f73da83a94
Remove oneapi return value warning. (#4028) 2024-02-19 11:08:38 -06:00
mattjala
4023fbcfbb
Add compound subset ops on attributes to API tests (#4005)
* Add partial compound io on attributes to API tests
2024-02-14 11:15:01 -06:00
Sean McBride
f309fcebbd
Issue #1824: Replaced most remaining sprintf with safer snprint (#4003) 2024-02-13 08:22:17 -06:00
jhendersonHDF
33bb1970b8
Fix build issue and some warnings in H5_api_dataset_test.c (#3998) 2024-02-09 11:05:54 -06:00
mattjala
824bbf5cbe
Sync API tests with vol-tests (#3940) 2024-02-06 14:57:50 -06:00
mattjala
853a7c6c9c
Fix potential infinite loop in API test (#3960) 2024-01-25 08:57:31 -08:00
jhendersonHDF
f86fe61c7f
Remove cached datatype conversion path table entries on file close (#3942)
Remove cached datatype conversion path table entries on file close

When performing datatype conversions during I/O, the library
checks to see whether it can re-use a cached datatype conversion
pathway by performing comparisons between the source and destination
datatypes of the current operation and the source and destination
datatypes associated with each cached datatype conversion pathway.
For variable-length and reference datatypes, a comparison is made
between the VOL object for the file associated with these datatypes,
which may change as a file is closed and reopened. In workflows
involving a loop that opens a file, performs I/O on an object with a
variable-length or reference datatype and then closes the file, this
can lead to constant memory usage growth as the library compares the
file VOL objects between the datatypes as different and adds a new
cached conversion pathway entry on each iteration during I/O. This is
now fixed by clearing out any cached conversion pathway entries for
variable-length or reference datatypes associated with a particular
file when that file is closed.
2024-01-23 08:21:59 -08:00
vchoi-hdfgroup
7e48d4f767
Add the user test program in HDFFV-9174 for committed types. (#3937)
Add the user test program for committed types in HDFFV-9174
2024-01-23 08:11:33 -08:00
Dana Robinson
ab11e076bf
Replace off_t with HDoff_t internally (#3944)
off_t is a 32-bit signed value on Windows, so we should use HDoff_t
(which is __int64 on Windows) internally instead.

Also defines HDftell on Windows to be _ftelli64().
2024-01-18 09:03:59 -08:00
mattjala
3d39b85952
Add H5Dread/write_multi to API tests (#3919) 2024-01-05 20:44:27 -06:00
Allen Byrne
a00d62f77a
Use props for includes and remove global includes (#3921) 2024-01-04 12:06:36 -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
Lori Cooper
2f23f2afe6
Some changes to portal links when they could be found on docs.hdfgroup.org, and changed the helpdesk link to help.hdfgroup.org (#3893)
* Updated some portal links to go directly to docs.hdfgroup. 

* Fixed some portal and help desk links
2023-12-12 22:21:15 -06:00
jhendersonHDF
a067bf71f5
Fix configuration issue due to possibly empty CMake variable (#3869) 2023-11-24 06:20:59 -06:00
mattjala
af4c6c4f15
Fix segfault on user compound dtype conversion callback (#3842)
* Fix segfault on user compound conversion

* Check if lib conversion func is in use
2023-11-22 07:55:25 -06:00
Allen Byrne
3ea21ccb3e
Add HDF5_DISABLE_TESTS_REGEX option to skip tests (#3859) 2023-11-22 07:51:30 -06:00
jhendersonHDF
c779464bfe
Add GitHub actions for testing VOL connectors (#3849)
* Fix issue with HDF5_VOL_ALLOW_EXTERNAL CMake variable

* Add initial API test workflow

* Initialize parallel testing with MPI_THREAD_MULTIPLE when testing API

* Add CMake variable to allow specifying a VOL connector's package name

* Remove call to MPI_Init in serial API tests

While previously necessary, it now interferes with VOL connectors that
may need to be initialized with MPI_THREAD_MULTIPLE
2023-11-15 08:20:50 -06:00
jhendersonHDF
28d2b6771f
HDF5 API test updates (#3835)
* HDF5 API test updates

Removed test duplication from bringing API tests
back into the library from external VOL tests
repo

Synced changes between API tests and library's
tests

Updated API tests CMake code to directly use and
install testhdf5, testphdf5, etc. instead of
creating duplicate binaries

Added new h5_using_native_vol() test function to
determine whether the VOL connector being used
is (or the VOL connector stack being used resolves
to) the native VOL connector

* Remove duplicate variable
2023-11-13 13:49:38 -06:00
mattjala
5e0b59a70c
Test and document path handling of H5Lcreate_* API (#3829) 2023-11-10 22:34:46 -06:00
H. Joe Lee
afb1f3c19a
Remove printf format warning on Windows oneAPI. (#3838) 2023-11-10 11:14:07 -06:00
jhendersonHDF
ebc1651425
Fix parallel driver check in h5_fixname_real (#3808) 2023-10-31 06:05:40 -07:00
jhendersonHDF
1bcef50b86
Print some messages in parallel tests on MPI rank 0 only (#3785)
Avoids overly verbose output from all processes emitting progress, etc. info.
2023-10-27 21:18:24 -07:00
Glenn Song
ea1714b303
Fix H5Pset_evict_on_close failing regardless of actual parallel use (#3761)
Allow H5Pset_evict_on_close to be called regardless of whether a parallel build of HDF5 is being used

Fail during file opens if H5Pset_evict_on_close has been set to true on the given File Access Property List and the size of the MPI communicator being used is greater than 1
2023-10-24 12:51:55 -05:00
Dana Robinson
4dfde6bac7
Fix file names in tfile.c (#3743)
Some tests in tfile.c use h5_fileaccess to get a VFD-dependent file
name but use the scheme from testhdf5, reusing the FILE1 and FILE8
names. This leads to files like test1.h5.h5 which are unintended
and not cleaned up.

This changes the filename scheme for a few tests to work with h5test,
resulting in more informative names and allowing the files to
be cleaned up at the end of the test. The test files have also
been added to the `make clean` target for the Autotools.
2023-10-21 19:08:12 -05:00
Dana Robinson
4b2d2eccdd
Clean the flushrefresh test dir on Autotools (#3741)
The flushrefresh_test directory was not being cleaned up w/
`make clean` under the Autotools
2023-10-21 11:44:33 -07:00
Dana Robinson
e01ea706e2
Add missing test files to distclean target (#3734)
Cleans up new files in Autotools `make distclean` in the test directory
2023-10-20 12:46:26 -07:00
Neil Fortner
630d6e27c9
Add new API function H5Pget_actual_select_io_mode() (#2974)
This function allows the user to determine if the library performed selection I/O, vector I/O, or scalar (legacy) I/O during the last HDF5 operation performed with the provided DXPL. Expanded existing tests to check this functionality.
2023-10-20 10:32:17 -07:00
jhendersonHDF
11f3804c48
Fix CMake VOL passthrough tests by copying files to correct directory (#3721) 2023-10-19 14:59:18 -07:00
jhendersonHDF
ebd3744407
Work around Theta system issue failure in links test (#3710)
When the Subfiling VFD is enabled, the links test may
try to initialize the Subfiling VFD and call MPI_Init_thread.
On Theta, this appears to have an issue that will cause
the links test to fail. Reworked the test to check for
the same conditions in a more roundabout way that doesn't
involved initializing the Subfiling VFD
2023-10-18 14:47:13 -07:00
H. Joe Lee
5e310254e2
Correct ld in format strings in cmpd_dset.c (#3697)
Removes clang warnings
2023-10-18 07:59:01 -07:00
Dana Robinson
2a3b511e96
Restore floating-point suffixes in tests (#3698)
A prior commit removed too many F suffixes. This restores the suffixes
for float variables.
2023-10-17 12:22:27 -07:00
Dana Robinson
3523d4ba66
Fix unused variable in tselect.c (#3701) 2023-10-17 12:14:24 -07:00
Dana Robinson
e158217012
Fix a possible NULL pointer dereference in tests (#3676)
The dtypes test could dereference a NULL pointer if a strdup call
failed.
2023-10-16 08:09:48 -05:00
vchoi-hdfgroup
6f56d06f6a
Add more tests for selection I/O. (#3528) 2023-10-10 10:13:00 -05:00
Allen Byrne
7631015ea4
Use real URLs and updated names for plugins (#3651)
* synchronize TGZ naming convention/usage
2023-10-10 09:30:19 -05:00
jhendersonHDF
34fcb9c5a4
Fix several spelling/grammar issues (#3621) 2023-10-03 09:01:28 -07:00
H. Joe Lee
4261552068
Fix Intel oneAPI icc warning (#3619) 2023-09-29 17:50:04 -07:00
Allen Byrne
1529ec0ab3
Develop tools move (#3580)
Reorganizes the tools files to support the VOL tests
2023-09-26 13:46:55 -07:00
Scot Breitenfeld
a87ca572fe
Replaces HDgetenv with getenv (#3599) 2023-09-26 13:11:22 -07:00
Dana Robinson
58f3d6664e
Use HDoff_t with lseek consistently (#3600)
lseek on Windows uses __int64 for both the offset and return type
instead of off_t like most POSIX systems. This changes ensures we
use HDoff_t (which is typdef'd correctly on Windows) w/ lseek.
2023-09-26 11:38:07 -07:00
H. Joe Lee
9d41d478ef
Fix typo (givin->given) in test/testframe.c. (#3567) 2023-09-22 08:45:10 -05:00
Dana Robinson
44a00ef876
Strip HD prefix from string/char C API calls (#3540)
* Strip HD prefix from string/char C API calls

* HD(f)(put|get)(s|c)
* HDstr*
* HDv*printf
* HD(s)(print|scan)f
* HDperror

But NOT:

* HDstrcase*
* HDvasprintf
* HDstrtok_r
* HDstrndup

As those are not C99 and have portability work-around
implementations. They will be handled later.

* Fix th5_system.c screwup
2023-09-15 15:13:18 -07:00
Dana Robinson
aa849f07e3
Remove HD prefix from math functions (#3538) 2023-09-14 10:54:00 -07:00
Scot Breitenfeld
75ba9ec7a6
removed C_INT32_T from Fortran APIs (#3537) 2023-09-14 07:51:39 -07:00
Scot Breitenfeld
117d579c32
Consistent initialization of hid_t in the tests (#3521) 2023-09-08 18:06:23 -05:00
Dana Robinson
9208697960
Convert hbool_t --> bool in test (#3494) 2023-09-05 13:11:52 -07:00
Scot Breitenfeld
896270cc6b
Removed all the ranks printing out testing information (#3457) 2023-08-31 21:34:57 -07:00
jhendersonHDF
8ef463e9bd
Fix an issue with use of uninitialized memory in trefer_deprec.c test (#3422) 2023-08-24 08:55:35 -07:00
vchoi-hdfgroup
291b2f7ae4
Implementation of the mpio driver with selection I/O. (#3222)
* This changes the default selection I/O to on for MPIO.
2023-08-06 22:12:07 -05:00
vchoi-hdfgroup
ede4987b63
Fix for the bug exposed from running test/set_extent.c when selection… (#3319)
* Fix for the bug exposed from running test/set_extent.c when selection I/O is enabled.
This is a fix from Neil.
The test/set_extent.c is modified to test for selection I/O enabled.
2023-08-04 16:36:50 -05:00
Sean McBride
07df0d252c
Fixes the last of the -Wextra-semi-stmt warnings (#3326)
* Fixed extra semi warning by adjusting alternative macro definitions

* Find-replace H5E_END_TRY; -> H5E_END_TRY

* Made H5Epush_goto a do-while loop, fixed indentation

* Made GOTOERROR and ERRMSG do-while loops

* Made Hgoto_error and Hgoto_done  do-while loops

* Made vrfy_cint_type and vrfy_ctype  do-while loops

* Made TEST_TYPE_CONTIG and others do-while loops

* Removed extraneous semi-colons

* Committing clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-02 17:46:26 -05:00
Larry Knox
0d3617135b
Update files to skip list and ignore_words_list (#3321)
* Update files to skip list and ignore_words_list for codespell to not
check files generated by autotools.  Autotools generate misspellings
that can't be fixed in HDF5 code.
2023-08-02 08:39:56 -05:00
Allen Byrne
56451503c5
Fix loading plugin fails with missing directory GH issue #3248 (#3315) 2023-08-01 23:16:11 -05:00
jhendersonHDF
a78863a82c
Fix incorrect error check in H5Ofill.c for undefined fill values (#3312) 2023-08-01 23:14:02 -05:00
Sean McBride
553e1cd311
Another round of fixing -Wextra-semi-stmt warnings (#3264)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-24 16:18:04 -05:00
Sean McBride
1903c4b1b0
Fixed more warnings about extra semicolons (#3249)
* Require semi-colon after H5_CHECK_OVERFLOW calls



Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-18 10:35:05 -05:00
jhendersonHDF
aab497a631
Fix some warnings in developer builds (#3247)
* Fix some warnings in developer builds

* Switch approach to Winline flag
2023-07-18 04:27:07 -07:00
Jan-Willem Blokland
305ac88865
ROS3: (feature) Temporary security credentials (#3030)
- Implemented support for AWS temporary security credentials.
  For this kind of credentials also a session/security token
  should be included in the request by adding the
  x-amz-security-token header.

Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Co-authored-by: Jordan Henderson <jhenderson@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-14 15:15:11 -05:00
Larry Knox
145e962bce
Replace support.hdfgroup.org URLs for alternative COPYING file (#3228)
* Replace support.hdfgroup.org URLs for alternative COPYING file
locations in copyright headers with https://www.hdfgroup.org/licenses.
Replace  support.hdfgroup.org URL for alternative COPYING_LBNL_HDF5
with github URL.
Tweak chkcopyright script for change from UICOPYRIGHTSTR to
THGCOPYRIGHTSTR.
2023-07-12 17:33:58 -05:00
Dana Robinson
39e6bf48c9
Remove HD from HDmem* calls (#3211) 2023-06-29 12:33:46 -07:00
Dana Robinson
fd933f30b1
Remove programmer/date from comments (#3210)
* Removes Programmer: and Date: fields
* Fixes a few Modifications: fields leftover from previous work
2023-06-29 12:13:29 -07:00
Dana Robinson
fd56a593b7
Remove HD from C std lib file ops (#3206)
* HDfclose
* HDferror
* HDfeof
* HDfflush
* HDfopen
* HDfread
* HDfwrite
2023-06-29 08:19:31 -07:00
Dana Robinson
8aef67f0ae
Remove HD from strto* calls (#3204)
* HDstrtod
* HDstrtol
* HDstrtoll
* HDstrtoul
* HDstrtoull
* HDstrtoumax
2023-06-29 08:18:49 -07:00
Dana Robinson
9f430d15b0
Rename HDexit() and related to exit(), etc. (#3202)
* HDatexit
* HDexit
* HD_exit
2023-06-29 08:18:01 -07:00
Dana Robinson
a5f1fb01b9
Remove some "Programmer" comments (#3209)
These are meaningless noise.

Removes the "Programmer" lines on comment start lines:

    /* Programmer: John Smith

These complicate my sed script that will rip out the rest of
the comments.
2023-06-29 06:33:49 -07:00
Dana Robinson
dd39b54c95
Rename HDato*() to ato*() (#3201) 2023-06-29 06:33:09 -07:00
Dana Robinson
a90bdbbcfc
Remove HD from protected POSIX calls (#3203)
These calls are non-C99 but protected by ifdefs and have no Windows
equivalents:
* HDalarm
* HDasprintf
* HDclock_gettime
* HDfcntl
* HDgethostname
* HDgetrusage
* HDsymlink
2023-06-29 06:32:40 -07:00
Dana Robinson
aebac33a1f
Remove HD from memory allocate/free calls (#3195)
* HDcalloc
* HDfree
* HDmalloc
* HDrealloc
2023-06-28 15:48:12 -07:00
Dana Robinson
605cea4af6
Remove HD from HDposix_memalign() (#3196)
The posix_memalign call is only used in the direct VFD, which can only
be built if posix_memalign() is available.
2023-06-28 13:03:45 -07:00
Dana Robinson
187ea8a9ae
Rename HD(f)printf() to (f)printf() (#3194) 2023-06-28 08:31:32 -07:00
Dana Robinson
7a44581a84
Rename HDassert() to assert() (#3191)
* Change HDassert to assert

* Fix bin/make_err
2023-06-28 07:31:56 -07:00
Dana Robinson
622fcbd138
Rename HDpipe() to pipe() (#3192)
Pipe is POSIX but implemented in Microsoft's CRT
2023-06-28 07:31:08 -07:00
Dana Robinson
6df077953e
Rename HDqsort() to qsort() (#3193)
* Rename HDqsort() to qsort()

* Committing clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-28 07:30:54 -07:00
Dana Robinson
7d1fdb2d27
Remove HD from fork/exec*/wait* (#3190)
These are not C99 but are hidden behind ifdefs and are highly
unlikely to ever have non-POSIX equivalents.
2023-06-27 21:35:55 -07:00
Dana Robinson
d81e751d41
Remove HDva_(arg|copy|end|start) (#3184) 2023-06-27 17:43:23 -07:00
Dana Robinson
56513d9df7
Remove dead code behind #ifdef OLD_WAY (#3163) 2023-06-20 22:37:07 -07:00
Sean McBride
65d8c93470
Many fixes to various compiler warnings (#3124)
* Fixed various -Wmissing-variable-declarations by adding static keyword
* In a few cases, renamed the variable suffix from _g to _s.
* Fixed some -Wmissing-variable-declarations by using different declaration macros
* Fixed various -Wconditional-uninitialized warnings by just initializing variable to zero
* Fixed various -Wcomma warnings
* Fixed clang -Wstrict-prototypes warnings
* Fixed various -Wunused-variable warnings
* Updated some casts to fix the only 3 -Wcast-qual warnings
* Fixed the only -Wsometimes-uninitialized warning
2023-06-18 22:13:38 -07:00
Dana Robinson
546d79dad7
Remove HD prefix from network calls (#3142)
HDsocket(), etc. Only affects the mirror VFD and its test code.
2023-06-16 00:16:29 -07:00
Sean McBride
68eba3da69
Many clang -Wextra-semi-stmt fixes (#2537)
* Adds semicolons to function-like macros
* Adds a do..while(0) loop to some macros
* Removes semicolons when inappropriate, especially H5E_TRY_BEGIN/END
2023-06-15 21:49:02 -07:00
Dana Robinson
fcdd0ab9dc
Revert long double checks (#3133)
* Revert "Remove long double conversion work-arounds (#3097)"

This reverts commit 1e1dac1dac.

* Update comments to reflect newer systems
2023-06-15 09:13:22 -07:00
H. Joe Lee
9a8c5810ed
Fix function name in comment in ros3 VFD (#3131) 2023-06-15 07:29:35 -07:00
Dana Robinson
b571da18fc
Fix spelling issues flagged by codespell (#3130) 2023-06-14 18:59:09 -07:00
Dana Robinson
9e7e2f8b8e
Fix a misc warning in test/vol.c (#3112)
The compiler complains about using integers instead of size_t
for some sizes.
2023-06-13 07:56:39 -07:00
Dana Robinson
1e1dac1dac
Remove long double conversion work-arounds (#3097)
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
2023-06-12 14:12:57 -07:00
Dana Robinson
d1d6a2187d
Remove code paths where long long < 8 bytes (#3098)
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.
2023-06-12 12:18:23 -07:00
Dana Robinson
a1a9526b14
Address memory issues when copying empty enums (#3088)
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.
2023-06-12 12:14:25 -07:00
Dana Robinson
7ecf1d09af
Convert H5F haddr_t macros to H5 (#3039)
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.
2023-06-05 08:04:56 -07:00
Dana Robinson
81bc34ac4c
Only pass efc pointer to H5F__efc_open (#3026)
The H5F__efc_open() API call only needs the efc pointer, so there is
no need to pass the entire file struct in.
2023-05-30 08:33:52 -07:00
jhendersonHDF
79bb60c3f6
API test updates (#3018)
* 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
2023-05-26 13:29:02 -07:00
Dana Robinson
8dd7a016b1
Suppress vfd.c test warning (#3014) 2023-05-25 13:47:30 -07:00
Dana Robinson
68abd201b2
Fix missing/misplaced h5_reset calls (#3001)
Fixes failures when running tests after building with thread-safety
w/ code stacks on.

Fixes #2990
2023-05-23 13:47:24 -07:00
Dana Robinson
5c2e434dc6
Fix 'datatype' misspellings ('dataype') (#2984) 2023-05-19 09:05:23 -07:00
jhendersonHDF
d7cb8aca5b
Add test for HDstrcasestr macro (#2115) 2023-05-19 09:05:01 -07:00
Quincey Koziol
940bdafacb
Remove unnecessary fields from cache structs (#2951)
* 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>
2023-05-15 13:54:58 -05:00
jhendersonHDF
977884a575
Fix warning in cache_common.c (#2952) 2023-05-14 22:12:28 -05:00
Quincey Koziol
0d4a12d7cd
Move functions into more focused source code modules (#2936)
* 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>
2023-05-12 14:52:11 -05:00
Quincey Koziol
1a89fa23fc
More code duplication reduction (#2930)
* 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>
2023-05-09 15:19:18 -05:00
Allen Byrne
4b228ec6af
Fix CMake generator expression syntax (#2909) 2023-05-05 15:57:40 -05:00
Quincey Koziol
cc4d63b026
Fix mirror VFD test timeouts (#2915)
* 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>
2023-05-05 15:34:17 -05:00
jhendersonHDF
a1a5d027a2
Minor tidying of API tests files (#2878)
* Minor tidying of API tests files

* Remove old API test configuration setting
2023-05-03 11:46:31 -05:00
Allen Byrne
571990d5c4
Changes to isolate API Test option files and use fetchcontent (#2880) 2023-05-03 11:45:16 -05:00
jhendersonHDF
f8a1b3ceec
Add initial version of HDF5 API tests (#2877) 2023-05-02 12:52:39 -07:00
Neil Fortner
62058276a9
Skip page buffer test for "no selection I/O cause" when using split or multi driver (#2866) 2023-05-01 14:31:09 -05:00
Dana Robinson
265494b5b9
Remove "the the" from comments and docs (#2865) 2023-05-01 09:06:39 -07:00
Neil Fortner
3236fb79ce
Implement selection I/O with type conversion (#2823)
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.
2023-04-28 16:58:25 -07:00
jhendersonHDF
bd7616cf98
Fix v1 object header gap bug in H5Ocopy (#2785) 2023-04-26 15:57:22 -07:00
jhendersonHDF
b7c8061505
Allow H5P_DEFAULT in H5Pget_vol_cap_flags and H5Pget_vol_id (#2807) 2023-04-25 10:04:17 -07:00
Dana Robinson
f909cb6c9b
H5Odtype.c decode cleanup (#2797)
* Adds bounds checking to H5Odtype.c
* Minor tidy of dtypes test
2023-04-25 10:03:12 -07:00
Dana Robinson
07c4360b4d
Sanitize the attribute object header msg code (#2749)
Adds:
* Bounds checks on buffer access
* Better memory cleanup
2023-04-19 08:21:25 -07:00
raylu-hdf
6e516abc29
Jira issue OESS-337: Create test for H5VLconnector_info_to_str (#2334)
* 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.
2023-04-18 10:19:45 -05:00
Allen Byrne
281071907b
Remove -Wunused-but-set-variable warnings in tests (#2661) 2023-04-11 14:07:14 -05:00
Quincey Koziol
3290889de3
Dead code removal (#2690)
* 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>
2023-04-11 09:30:02 -07:00
Quincey Koziol
49a71463a0
Comment cleanup (#2689)
* Clean up content and redundant logging in comments.
2023-04-11 09:41:32 -05:00
Dana Robinson
1ad030f669
Remove dead code hidden behind #ifdef LATER (#2686) 2023-04-10 11:39:46 -07:00
jhendersonHDF
f105dcc20a
Synchronize HDF5 tests with VOL tests (#2628) 2023-04-03 13:08:39 -05:00
H. Joe Lee
879575f3fa
chore: make comment consistent (#2654)
Use a 3rd person verb to match "Does not" in the next sentence.
2023-03-31 22:37:12 -05:00
Dana Robinson
7b5e67b066
Fix test script names in cleanup code (#2590)
When the test scripts were renamed, DISTCLEANFILES in Makefile.am
was not updated.
2023-03-20 08:04:27 -07:00
Allen Byrne
cb679af19d
Make sure that ONLY_SHARED_LIBS option is correctly set (#2544) 2023-03-13 16:24:49 -05:00
raylu-hdf
ea5b3952f7
HDFFV-10368 (OESS-319): Making two useful macros (H5L_EXT_FLAGS_ALL and 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>
2023-02-21 08:38:00 -08:00
Larry Knox
48a3d92d04
Remove duplicated "help@hdfgroup.org" lines in file headers. (#2441) 2023-02-10 19:28:57 -08:00
Dana Robinson
d61fd4aba7
Add szip/libaec to GitHub CI and fix warnings (#2438)
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.
2023-02-09 05:46:16 -08:00