summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorQuincey Koziol <quincey@koziol.cc>2023-05-09 20:19:18 (GMT)
committerGitHub <noreply@github.com>2023-05-09 20:19:18 (GMT)
commit1a89fa23fc017d498c6add662d7c3cb707be511f (patch)
treec24a9e2f67b59da880f66d2e67f5ffba63f2bc62 /test
parent80cf4066473736d4c050a9ac47a43551ac3657a5 (diff)
downloadhdf5-1a89fa23fc017d498c6add662d7c3cb707be511f.zip
hdf5-1a89fa23fc017d498c6add662d7c3cb707be511f.tar.gz
hdf5-1a89fa23fc017d498c6add662d7c3cb707be511f.tar.bz2
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>
Diffstat (limited to 'test')
-rw-r--r--test/cache_common.h50
1 files changed, 13 insertions, 37 deletions
diff --git a/test/cache_common.h b/test/cache_common.h
index bdeeded..e91099c 100644
--- a/test/cache_common.h
+++ b/test/cache_common.h
@@ -402,37 +402,18 @@ typedef struct test_entry_t {
unsigned verify_ct; /* Count the # of checksum verification for an entry */
} test_entry_t;
-/* The following are cut down test versions of the hash table manipulation
- * macros from H5Cpkg.h, which have been further modified to avoid references
- * to the error reporting macros. Needless to say, these macros must be
- * updated as necessary.
- */
-
-#define H5C__HASH_MASK ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
-
#define H5C_TEST__PRE_HT_SEARCH_SC(cache_ptr, Addr) \
- if (((cache_ptr) == NULL) || ((cache_ptr)->magic != H5C__H5C_T_MAGIC) || \
- ((cache_ptr)->index_size != ((cache_ptr)->clean_index_size + (cache_ptr)->dirty_index_size)) || \
- (!H5F_addr_defined(Addr)) || (H5C__HASH_FCN(Addr) < 0) || \
- (H5C__HASH_FCN(Addr) >= H5C__HASH_TABLE_LEN)) { \
+ if (H5C__PRE_HT_SEARCH_SC_CMP(cache_ptr, Addr)) { \
HDfprintf(stdout, "Pre HT search SC failed.\n"); \
}
#define H5C_TEST__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k) \
- if (((cache_ptr) == NULL) || ((cache_ptr)->magic != H5C__H5C_T_MAGIC) || ((cache_ptr)->index_len < 1) || \
- ((entry_ptr) == NULL) || ((cache_ptr)->index_size < (entry_ptr)->size) || \
- ((cache_ptr)->index_size != ((cache_ptr)->clean_index_size + (cache_ptr)->dirty_index_size)) || \
- ((entry_ptr)->size <= 0) || (((cache_ptr)->index)[k] == NULL) || \
- ((((cache_ptr)->index)[k] != (entry_ptr)) && ((entry_ptr)->ht_prev == NULL)) || \
- ((((cache_ptr)->index)[k] == (entry_ptr)) && ((entry_ptr)->ht_prev != NULL)) || \
- (((entry_ptr)->ht_prev != NULL) && ((entry_ptr)->ht_prev->ht_next != (entry_ptr))) || \
- (((entry_ptr)->ht_next != NULL) && ((entry_ptr)->ht_next->ht_prev != (entry_ptr)))) { \
+ if (H5C__POST_SUC_HT_SEARCH_SC_CMP(cache_ptr, entry_ptr, k)) { \
HDfprintf(stdout, "Post successful HT search SC failed.\n"); \
}
-#define H5C_TEST__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k) \
- if (((cache_ptr) == NULL) || (((cache_ptr)->index)[k] != (entry_ptr)) || \
- ((entry_ptr)->ht_prev != NULL)) { \
+#define H5C_TEST__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k) \
+ if (H5C__POST_HT_SHIFT_TO_FRONT_SC_CMP(cache_ptr, entry_ptr, k)) { \
HDfprintf(stdout, "Post HT shift to front failed.\n"); \
}
@@ -440,21 +421,21 @@ typedef struct test_entry_t {
{ \
int k; \
H5C_TEST__PRE_HT_SEARCH_SC(cache_ptr, Addr) \
- k = H5C__HASH_FCN(Addr); \
- entry_ptr = ((cache_ptr)->index)[k]; \
+ k = H5C__HASH_FCN(Addr); \
+ (entry_ptr) = (cache_ptr)->index[k]; \
while (entry_ptr) { \
if (H5F_addr_eq(Addr, (entry_ptr)->addr)) { \
H5C_TEST__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k) \
- if (entry_ptr != ((cache_ptr)->index)[k]) { \
+ if ((entry_ptr) != (cache_ptr)->index[k]) { \
if ((entry_ptr)->ht_next) \
(entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev; \
HDassert((entry_ptr)->ht_prev != NULL); \
- (entry_ptr)->ht_prev->ht_next = (entry_ptr)->ht_next; \
- ((cache_ptr)->index)[k]->ht_prev = (entry_ptr); \
- (entry_ptr)->ht_next = ((cache_ptr)->index)[k]; \
- (entry_ptr)->ht_prev = NULL; \
- ((cache_ptr)->index)[k] = (entry_ptr); \
- H5C_TEST__POST_HT_SHIFT_TO_FRONT(cache_ptr, entry_ptr, k) \
+ (entry_ptr)->ht_prev->ht_next = (entry_ptr)->ht_next; \
+ (cache_ptr)->index[k]->ht_prev = (entry_ptr); \
+ (entry_ptr)->ht_next = (cache_ptr)->index[k]; \
+ (entry_ptr)->ht_prev = NULL; \
+ (cache_ptr)->index[k] = (entry_ptr); \
+ H5C_TEST__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k) \
} \
break; \
} \
@@ -568,11 +549,6 @@ H5TEST_DLL void add_flush_op(int target_type, int target_idx, int op_code, int t
H5TEST_DLL void addr_to_type_and_index(haddr_t addr, int32_t *type_ptr, int32_t *index_ptr);
-#if 0 /* keep this for a while -- it may be useful */
-H5TEST_DLL haddr_t type_and_index_to_addr(int32_t type,
- int32_t idx);
-#endif
-
H5TEST_DLL void dirty_entry(H5F_t *file_ptr, int32_t type, int32_t idx, hbool_t dirty_pin);
H5TEST_DLL void expunge_entry(H5F_t *file_ptr, int32_t type, int32_t idx);