summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2020-11-20 02:54:00 (GMT)
committerGitHub <noreply@github.com>2020-11-20 02:54:00 (GMT)
commit793b3d1bae9aa888c748e088e9eec94656510171 (patch)
tree8be3451df6669553620fc132dda4d338c0a81f78 /test
parentfc7ac84e190cd2210c0c3fa4f86b68ad80720fb8 (diff)
downloadhdf5-793b3d1bae9aa888c748e088e9eec94656510171.zip
hdf5-793b3d1bae9aa888c748e088e9eec94656510171.tar.gz
hdf5-793b3d1bae9aa888c748e088e9eec94656510171.tar.bz2
Revert "Switch ID code to use a hash table instead of a skip list (#52)" (#104)
This reverts commit a50d211755cb272b2e468144e7d892a4c90813c4.
Diffstat (limited to 'test')
-rw-r--r--test/tid.c75
1 files changed, 0 insertions, 75 deletions
diff --git a/test/tid.c b/test/tid.c
index d3d3116..27135fc 100644
--- a/test/tid.c
+++ b/test/tid.c
@@ -763,79 +763,6 @@ out:
return -1;
} /* end test_remove_clear_type() */
-
-/* Test that IDs can be deleted while iterating */
-
-#define N_ITERATE_IDS 128
-
-/* A callback that (maybe) closes a random ID when invoked */
-static herr_t
-iterate_delete_op(hid_t H5_ATTR_UNUSED id, void *udata)
-{
- hid_t *ids = (hid_t *)udata;
- int closed_index;
- hid_t closed_id;
-
- /* Maybe close an ID
- *
- * Do nothing when an ID has already been closed so we don't
- * close ALL the IDs.
- *
- * Closing the ID we're currently iterating on is also acceptable.
- */
- closed_index = HDrandom() % N_ITERATE_IDS;
- closed_id = ids[closed_index];
-
- if (closed_id != H5I_INVALID_HID) {
- if (H5Sclose(closed_id) < 0)
- return -1;
- ids[closed_index] = H5I_INVALID_HID;
- }
-
- return 0;
-} /* end iterate_delete_op() */
-
-static int
-test_iteration_remove(void)
-{
- hid_t *ids = NULL;
- int i;
-
- /* Create a bunch of IDs of a single library type */
- if (NULL == (ids = malloc(N_ITERATE_IDS * sizeof(hid_t))))
- goto error;
- for (i = 0; i < N_ITERATE_IDS; i++)
- if ((ids[i] = H5Screate(H5S_NULL)) == H5I_INVALID_HID)
- goto error;
-
- /* Iterate over the IDs, (maybe) closing a random one in the callback */
- if (H5Iiterate(H5I_DATASPACE, iterate_delete_op, ids) < 0)
- goto error;
-
- /* Close and free */
- for (i = 0; i < N_ITERATE_IDS; i++) {
- if (ids[i] == H5I_INVALID_HID)
- continue;
- if (H5Sclose(ids[i]) < 0)
- goto error;
- ids[i] = H5I_INVALID_HID;
- }
- HDfree(ids);
-
- return 0;
-
-error:
- H5E_BEGIN_TRY
- if (ids != NULL)
- for (i = 0; i < N_ITERATE_IDS; i++)
- H5Sclose(ids[i]);
- H5E_END_TRY
-
- HDfree(ids);
-
- return -1;
-} /* end test_iteration_remove() */
-
void
test_ids(void)
{
@@ -854,6 +781,4 @@ test_ids(void)
TestErrPrintf("ID type list test failed\n");
if (test_remove_clear_type() < 0)
TestErrPrintf("ID remove during H5Iclear_type test failed\n");
- if (test_iteration_remove() < 0)
- TestErrPrintf("Removing random IDs while iterating failed\n");
}