59 Commits

Author SHA1 Message Date
Matt L
4b609617f6
Close attribute after shared attr dtype test (#5360) 2025-03-12 13:17:02 -05:00
Allen Byrne
0b55bcd98d
Change md file links to correct locations (#5349) 2025-03-03 15:00:44 -06:00
jhendersonHDF
d366d72830
Update API tests README.md with current information (#5348) 2025-03-03 15:00:25 -06:00
jhendersonHDF
46658a55b3
Fix memory leak in API tests for vlen dataset I/O (#5230) 2025-01-13 16:58:32 -08:00
jhendersonHDF
2d0c676642
Enable API tests by default and fix some issues (#5223)
* Enable API tests by default

* Fix leaked file handle in API link test

* Fix some versioned API misuses
2025-01-10 09:08:02 -08:00
jhendersonHDF
af0b2315bd
Remove const from testing parameters in testframe framework (#5214)
Makes testing parameters specified with AddTest non-const again when
passed to test functions. This allows test functions to update their
parameters during execution and is particularly useful for tests
which use those parameters to accumulate statistics, error counts,
etc. without resorting to global variables.
2025-01-08 13:33:00 -06:00
jhendersonHDF
fd7aef59ed
Integrate API tests with testing framework (#5133)
Allows skipping of individual tests by interface or by name
2024-11-26 07:34:52 -06:00
jhendersonHDF
90429f5e7d
Implement support for complex number datatypes (#4630)
* Implement support for complex number datatypes

Adds the new datatype class H5T_COMPLEX

Adds the new API function H5Tcomplex_create which creates a complex
number datatype from an ID of a base floating-point datatype

Adds the new feature check macros H5_HAVE_COMPLEX_NUMBERS and
H5_HAVE_C99_COMPLEX_NUMBERS

Adds the new datatype size macros H5_SIZEOF_FLOAT_COMPLEX,
H5_SIZEOF_DOUBLE_COMPLEX and H5_SIZEOF_LONG_DOUBLE_COMPLEX

Adds the new datatype ID macros H5T_NATIVE_FLOAT_COMPLEX,
H5T_NATIVE_DOUBLE_COMPLEX, H5T_NATIVE_LDOUBLE_COMPLEX,
H5T_CPLX_IEEE_F16LE, H5T_CPLX_IEEE_F16BE,
H5T_CPLX_IEEE_F32LE, H5T_CPLX_IEEE_F32BE,
H5T_CPLX_IEEE_F64LE and H5T_CPLX_IEEE_F64BE

Adds hard and soft datatype conversion paths between complex number
datatypes and all the integer and floating-point datatypes, as well as
between other complex number datatypes

Adds a special conversion path between complex number datatypes and
array or compound datatypes where the in-memory layout of data is the
same between the datatypes and data can be converted directly

Adds support for complex number datatypes to the h5dump, h5ls and
h5diff/ph5diff tools. Allows h5dump '-m' option to change floating-point
printing format for float complex and double complex datatypes, as well
as long double complex if it has the same size as double complex

Adds minimal support to the h5watch and h5import tools

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the Java wrappers. Also adds initial,
untested support to the JNI for future use with HDFView

Adds support for just the H5T_COMPLEX datatype class to the Fortran
wrappers

Adds support for the predefined complex number datatypes and
H5Tcomplex_create function to the high level library H5LT interface
for use with the H5LTtext_to_dtype and H5LTdtype_to_text functions

Changes some usages of "complex" in the library since it conflicts with
the "complex" keyword from the complex.h header. Also changes various
usages of the word "complex" throughout the library to distinguish
compound datatypes from complex datatypes.
2024-10-31 13:54:25 -07:00
Dana Robinson
7f1e49206d
Renamed COPYING to LICENSE (#4978)
This is where most people will expect to find license information. The
COPYING_LBNL_HDF5 file has also been renamed to LICENSE_LBNL_HDF5.
The licenses are unchanged.
2024-10-18 21:13:04 -07:00
jhendersonHDF
0559ba6881
Remove FALSE from some API tests (#4977) 2024-10-18 12:02:51 -07:00
Dana Robinson
54f8f12ed9
Update clang-format to 17 (#4931)
Also bump the clang-format GitHub actions to 17
2024-10-04 19:49:35 -07:00
jhendersonHDF
33d9fa8e62
Use H5VLcmp_connector_cls to compare VOL connector IDs in API tests (#4929) 2024-10-04 12:31:14 -07:00
Scot Breitenfeld
8d50786f7a
Reworked cleaning up API test files (#4626)
* Reworked cleaning up test files, only removing test files if present to account for skipped tests

* changed to using H5Fis_accessible

* update to full use of remove_test_file
2024-07-05 12:38:26 -07:00
Scot Breitenfeld
d6541ba8e3
Test fixes for log-based vol (#4618)
* fixes to address failures in the log-based VOL

* moved file cleanup to tests proper

* skipped index API test if not supported
2024-07-02 09:25:15 -05:00
Allen Byrne
c548657043
Update and use more URL alias (#4413) 2024-04-17 07:56:19 -05: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
bmribler
81c811b721
Fix links md files (#4239) 2024-03-25 10:54:31 -05:00
mattjala
e99b0af7e0
Skip vlen IO API test for cache VOL (#4135)
* Fix cache VOL segfault in vlen io test
* Skip vlen IO API test
2024-03-20 10:50:40 -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
mattjala
c3714b9f15
Fix segfault in vlen io API test (#4130) 2024-03-13 14:55:51 -05: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
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
mattjala
b79982a606
Fix allocating too much memory in dset API test (#4041) 2024-02-26 14:27:51 -06:00
mattjala
0f56048a04
Test vlen sequence IO in API tests (#4027) 2024-02-21 13:52:39 -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
mattjala
3d39b85952
Add H5Dread/write_multi to API tests (#3919) 2024-01-05 20:44:27 -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
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
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
Scot Breitenfeld
a87ca572fe
Replaces HDgetenv with getenv (#3599) 2023-09-26 13:11:22 -07: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
9208697960
Convert hbool_t --> bool in test (#3494) 2023-09-05 13:11:52 -07: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
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
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
9f430d15b0
Rename HDexit() and related to exit(), etc. (#3202)
* HDatexit
* HDexit
* HD_exit
2023-06-29 08:18:01 -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
187ea8a9ae
Rename HD(f)printf() to (f)printf() (#3194) 2023-06-28 08:31:32 -07:00