hdf5/test
Dana Robinson a50d211755
Switch ID code to use a hash table instead of a skip list (#52)
* Brings hash table ID code over from Bitbucket branch

* Includes reformatting via clang.

* Excludes uthash.h from reformatting.

* Still has the failing test issue in tid.c. This should only be a
  problem if a custom ID type is used and its free function deletes
  other IDs.

* Fixes munged H5_GCC_DIAG_ON/OFF macros in H5I.c

The H5_GCC_DIAG_ON/OFF macros used to turn off fallthrough warnings
in uthash.h (external code) were munged when formatting with clang
due to their lack of quotes.

e.g.;

    H5_GCC_DIAG_OFF(implicit-fallthrough)

was munged to:

    H5_GCC_DIAG_OFF(implicit - fallthrough)

which compiles, but is useless. So, with quotes, this is now:

    H5_GCC_DIAG_OFF("implicit-fallthrough")

which survives reformatting with clang.

* Fixes issues with user callbacks in the ID hash tables

The skip lists (previously) used to handle IDs use a mark-and-sweep
scheme to deal with user-defined ID delete callbacks which themselves delete
other IDs in the list. The uthash hash table implementation used to manage
the IDs in this feature branch does not have this ability.

This commit restores the skip lists for non-library ID types in lieu of
significantly modifying the uthash code. The hash tables are used to
manage the library IDs as those do not delete other IDs when they are
closed.

* Adds uthash.h to MANIFEST

* Removes implicit-fallthrough diagnostic disable

Removing -Wimplicit-fallthrough=5 means that the uthash code
no longer raises warnings so the H5_GCC_DIAG_OFF/ON macros
that disabled those warnings have been removed from H5I.c.

* Adds a test to ensure you can delete IDs in the H5Iiterate() callback
2020-11-17 12:06:39 -06:00
..
testfiles Correct error test spelling and use 2019-08-13 10:25:05 -05:00
accum_swmr_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
accum.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
aggr.h5
app_ref.c Clang-format of source files 2020-09-30 09:27:10 -05:00
atomic_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
atomic_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
AtomicWriterReader.txt
bad_compound.h5
bad_offset.h5
be_data.h5
be_extlink1.h5
be_extlink2.h5
big.c Clang-format of source files 2020-09-30 09:27:10 -05:00
bittests.c Clang-format of source files 2020-09-30 09:27:10 -05:00
btree2.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
btree_idx_1_6.h5
btree_idx_1_8.h5
cache_api.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
cache_common.c Clang-format of source files 2020-09-30 09:27:10 -05:00
cache_common.h Clang-format of source files 2020-09-30 09:27:10 -05:00
cache_image.c Clang-format of source files 2020-09-30 09:27:10 -05:00
cache_logging.c Clang-format of source files 2020-09-30 09:27:10 -05:00
cache_tagging.c Clang-format of source files 2020-09-30 09:27:10 -05:00
cache.c Clang-format of source files 2020-09-30 09:27:10 -05:00
chunk_info.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
CMakeLists.txt OESS-98 merge with clang-format changes 2020-09-25 16:43:57 -05:00
CMakePassthroughVOLTests.cmake HDFFV-10529 Update CMake tests to use test fixtures 2019-07-23 16:24:56 -05:00
CMakeTests.cmake CMake: MINGW implies WIN32 2020-10-30 16:09:28 +01:00
CMakeVFDTests.cmake HDFFV-11001 Add fine control over testing 2020-01-15 11:38:06 -06:00
cmpd_dset.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
COPYING
cork.c Clang-format of source files 2020-09-30 09:27:10 -05:00
corrupt_stab_msg.h5
cross_read.c Clang-format of source files 2020-09-30 09:27:10 -05:00
dangle.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
deflate.h5
del_many_dense_attrs.c Clang-format of source files 2020-09-30 09:27:10 -05:00
direct_chunk.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
dsets.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
dt_arith.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
dtransform.c Clang-format of source files 2020-09-30 09:27:10 -05:00
dtypes.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
earray.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
efc.c Clang-format of source files 2020-09-30 09:27:10 -05:00
enc_dec_plist_cross_platform.c Clang-format of source files 2020-09-30 09:27:10 -05:00
enc_dec_plist.c Clang-format of source files 2020-09-30 09:27:10 -05:00
enum.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
err_compat.c Clang-format of source files 2020-09-30 09:27:10 -05:00
error_test.c Clang-format of source files 2020-09-30 09:27:10 -05:00
evict_on_close.c Clang-format of source files 2020-09-30 09:27:10 -05:00
extend.c Clang-format of source files 2020-09-30 09:27:10 -05:00
external_common.c Clang-format of source files 2020-09-30 09:27:10 -05:00
external_common.h Clang-format of source files 2020-09-30 09:27:10 -05:00
external_env.c Clang-format of source files 2020-09-30 09:27:10 -05:00
external_fname.h Clang-format of source files 2020-09-30 09:27:10 -05:00
external.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
family_v16_00000.h5
family_v16_00001.h5
family_v16_00002.h5
family_v16_00003.h5
farray.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
fheap.c Clang-format of source files 2020-09-30 09:27:10 -05:00
file_image_core_test.h5
file_image.c Clang-format of source files 2020-09-30 09:27:10 -05:00
filenotclosed.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
filespace_1_6.h5
filespace_1_8.h5
fill18.h5 Fix for HDFFV-10800 H5Ocopy failure: 2019-06-12 12:55:12 -05:00
fill_old.h5
fillval.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
filter_error.h5
filter_fail.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
filter_plugin1_dsets.c Clang-format of source files 2020-09-30 09:27:10 -05:00
filter_plugin2_dsets.c Clang-format of source files 2020-09-30 09:27:10 -05:00
filter_plugin3_dsets.c Clang-format of source files 2020-09-30 09:27:10 -05:00
filter_plugin4_groups.c Clang-format of source files 2020-09-30 09:27:10 -05:00
filter_plugin.c Clang-format of source files 2020-09-30 09:27:10 -05:00
flush1.c Clang-format of source files 2020-09-30 09:27:10 -05:00
flush2.c Clang-format of source files 2020-09-30 09:27:10 -05:00
flushrefresh.c Clang-format of source files 2020-09-30 09:27:10 -05:00
flushrefreshTest.cmake CMake: MINGW implies WIN32 2020-10-30 16:09:28 +01:00
freespace.c Clang-format of source files 2020-09-30 09:27:10 -05:00
fsm_aggr_nopersist.h5
fsm_aggr_persist.h5
gen_bad_compound.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_bad_offset.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_bad_ohdr.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_bogus.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_bounds.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_cross.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
gen_deflate.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_file_image.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_filespace.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_filters.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
gen_mergemsg.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_new_array.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_new_fill.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_new_group.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_new_mtime.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_new_super.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_noencoder.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_nullspace.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_old_array.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_old_group.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_old_layout.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_old_mtime.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_plist.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_sizes_lheap.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_specmetaread.c Clang-format of source files 2020-09-30 09:27:10 -05:00
gen_udlinks.c Clang-format of source files 2020-09-30 09:27:10 -05:00
genall5.c Clang-format of source files 2020-09-30 09:27:10 -05:00
genall5.h Clang-format of source files 2020-09-30 09:27:10 -05:00
getname.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
gheap.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
group_old.h5
h5fc_ext1_f.h5
h5fc_ext1_i.h5
h5fc_ext2_if.h5
h5fc_ext2_sf.h5
h5fc_ext3_isf.h5
h5fc_ext_none.h5
h5test.c Update reformatting settings, trace wrapping, and printf-format strings (#22) 2020-10-06 17:37:42 -05:00
h5test.h Clang-format of source files 2020-09-30 09:27:10 -05:00
H5srcdir_str.h.in Avoid unused-variable warnings: change static const strings in a couple 2019-11-13 11:31:20 -06:00
H5srcdir.h Clang-format of source files 2020-09-30 09:27:10 -05:00
hdfs.c Fixes minor issues in various virtual file drivers 2020-10-28 23:50:37 -07:00
hyperslab.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
istore.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
le_data.h5
le_extlink1.h5
le_extlink2.h5
lheap.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
links_env.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
links.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
Makefile.am Fix for jira issue HDFFV-11080: 2020-07-14 10:56:33 -05:00
memleak_H5O_dtype_decode_helper_H5Odtype.h5 Added data file for test and updated MANIFEST 2019-01-25 00:19:16 -06:00
mergemsg.h5
mf.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
mirror_vfd.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
mount.c Clang-format of source files 2020-09-30 09:27:10 -05:00
mtime.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
multi_file_v16-r.h5
multi_file_v16-s.h5
noencoder.h5
none.h5
ntypes.c Clang-format of source files 2020-09-30 09:27:10 -05:00
null_vol_connector.c Clang-format of source files 2020-09-30 09:27:10 -05:00
null_vol_connector.h Clang-format of source files 2020-09-30 09:27:10 -05:00
objcopy_ref.c Clang-format of source files 2020-09-30 09:27:10 -05:00
objcopy.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
ohdr.c Clang-format of source files 2020-09-30 09:27:10 -05:00
page_buffer.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
paged_nopersist.h5
paged_persist.h5
pool.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
POSIX_Order_Write_Test_Report.docx
POSIX_Order_Write_Test_Report.pdf
reserved.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ros3.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
s3comms.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
set_extent.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
ShellTests.cmake Fix for HDFFV-10659: The library abort with "infinite loop closing library" 2018-12-28 16:49:11 -06:00
space_overflow.c Clang-format of source files 2020-09-30 09:27:10 -05:00
specmetaread.h5
stab.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_addrem_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_check_compat_vfd.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_common.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_common.h Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_generator.c Clang-format of source files 2020-09-30 09:27:10 -05:00
SWMR_POSIX_Order_UG.txt
swmr_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_remove_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_remove_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_sparse_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_sparse_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr_start_write.c Clang-format of source files 2020-09-30 09:27:10 -05:00
SWMR_UseCase_UG.txt Removes staff email addresses from the repository 2020-08-06 17:58:07 -07:00
swmr_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
swmr.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tarray.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tarrold.h5
tattr.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tbad_msg_count.h5
tbogus.h5 Delay checking if decoded message's "shareable" flag is appropriate for 2019-01-07 15:40:44 -06:00
tcheck_version.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tchecksum.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tconfig.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tcoords.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
test_filter_plugin.sh.in Trim trailing whitespace 2020-04-20 18:12:00 -05:00
test_filters_be.h5
test_filters_le.h5
test_mirror.sh.in Tidying of Mirror VFD. 2020-04-07 10:20:44 -05:00
test_usecases.sh.in HDFFV-10740 - skip copying dirs in for loops 2019-09-18 11:04:09 -05:00
test_vol_plugin.sh.in Trim trailing whitespace 2020-04-20 18:12:00 -05:00
testabort_fail.sh.in Trim trailing whitespace 2020-04-20 18:12:00 -05:00
testcheck_version.sh.in Add flags from config/clang-warnings/*general files to H5 C and CXX flags for all versions of Clang and Clang++ compilers. 2020-06-06 14:36:44 -05:00
testerror.sh.in Trim trailing whitespace 2020-04-20 18:12:00 -05:00
testexternal_env.sh.in Some coding style changes. 2019-04-11 15:51:21 -05:00
testflushrefresh.sh.in HDFFV-10740 - skip copying dirs in for loops 2019-09-18 11:04:09 -05:00
testframe.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
testhdf5.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
testhdf5.h Clang-format of source files 2020-09-30 09:27:10 -05:00
testlibinfo.sh.in Trim trailing whitespace 2020-04-20 18:12:00 -05:00
testlinks_env.sh.in Correct name of folder 2019-08-15 11:07:24 -05:00
testmeta.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
testswmr.sh.in HDFFV-10740 - skip copying dirs in for loops 2019-09-18 11:04:09 -05:00
testvds_env.sh.in Mostly whitespace in testpar, addl changes for tmp dir 2019-08-15 10:28:40 -05:00
testvdsswmr.sh.in HDFFV-10740 - skip copying dirs in for loops 2019-09-18 11:04:09 -05:00
tfile.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tgenprop.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
th5o.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
th5s.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
th5s.h5
theap.c Clang-format of source files 2020-09-30 09:27:10 -05:00
thread_id.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tid.c Switch ID code to use a hash table instead of a skip list (#52) 2020-11-17 12:06:39 -06:00
timer.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
titerate.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tlayouto.h5
tmeta.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tmisc.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tmtimen.h5
tmtimeo.h5
trefer_deprec.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
trefer_shutdown.c Clang-format of source files 2020-09-30 09:27:10 -05:00
trefer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
trefstr.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tselect.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tsizeslheap.h5
tskiplist.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tsohm.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ttime.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ttsafe_acreate.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ttsafe_attr_vlen.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ttsafe_cancel.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
ttsafe_dcreate.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
ttsafe_error.c Clang-format of source files 2020-09-30 09:27:10 -05:00
ttsafe.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
ttsafe.h Clang-format of source files 2020-09-30 09:27:10 -05:00
ttst.c Clang-format of source files 2020-09-30 09:27:10 -05:00
tunicode.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tvlstr.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
tvltypes.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
twriteorder.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
unlink.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
unregister.c Clang-format of source files 2020-09-30 09:27:10 -05:00
use_append_chunk_mirror.c Clang-format of source files 2020-09-30 09:27:10 -05:00
use_append_chunk.c Clang-format of source files 2020-09-30 09:27:10 -05:00
use_append_mchunks.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
use_common.c HD prefix updates in src/ and test/ 2020-10-23 17:13:05 -07:00
use_disable_mdc_flushes.c Clang-format of source files 2020-09-30 09:27:10 -05:00
use.h Clang-format of source files 2020-09-30 09:27:10 -05:00
vds_env.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vds_swmr_gen.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vds_swmr_reader.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vds_swmr_writer.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vds_swmr.h Clang-format of source files 2020-09-30 09:27:10 -05:00
vds.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vfd.c Fixes minor issues in various virtual file drivers 2020-10-28 23:50:37 -07:00
vol_plugin.c Clang-format of source files 2020-09-30 09:27:10 -05:00
vol.c Clang-format of source files 2020-09-30 09:27:10 -05:00