summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSongyu Lu <songyulu@hdfgroup.org>2021-07-08 16:38:00 (GMT)
committerSongyu Lu <songyulu@hdfgroup.org>2021-07-08 16:38:00 (GMT)
commit4ac67187fa91ccb8132bc902348a3355389aa7ab (patch)
treecfa03faa8c89694418a6a9d9f9916f7ef85a015a /test
parent082de1cb75edd1e63269c9c6e1953a2e418d770e (diff)
parentb9dbabc1523c13627ada0bcb04d780e7ad93b658 (diff)
downloadhdf5-4ac67187fa91ccb8132bc902348a3355389aa7ab.zip
hdf5-4ac67187fa91ccb8132bc902348a3355389aa7ab.tar.gz
hdf5-4ac67187fa91ccb8132bc902348a3355389aa7ab.tar.bz2
Merge branch 'feature/vfd_swmr' of https://github.com/raylu-hdf/hdf5 into raylu_bigset_test
Diffstat (limited to 'test')
-rw-r--r--test/CMakeVFDTests.cmake2
-rw-r--r--test/Makefile.am4
-rw-r--r--test/cache.c9243
-rw-r--r--test/cache_api.c48
-rw-r--r--test/cache_common.c237
-rw-r--r--test/cache_common.h56
-rw-r--r--test/cache_image.c36
-rw-r--r--test/cache_tagging.c11
-rw-r--r--test/h5test.h8
-rw-r--r--test/hdfs.c2
-rw-r--r--test/null_vol_connector.c3
-rw-r--r--test/ohdr.c24
-rw-r--r--test/page_buffer.c576
-rw-r--r--test/ros3.c2
-rw-r--r--test/s3comms.c2
-rw-r--r--test/swmr_addrem_writer.c2
-rw-r--r--test/swmr_common.c4
-rw-r--r--test/swmr_common.h2
-rw-r--r--test/swmr_reader.c2
-rw-r--r--test/swmr_remove_reader.c2
-rw-r--r--test/swmr_remove_writer.c2
-rw-r--r--test/swmr_sparse_reader.c2
-rw-r--r--test/swmr_sparse_writer.c2
-rw-r--r--test/swmr_start_write.c2
-rw-r--r--test/swmr_writer.c2
-rw-r--r--test/tarray.c53
-rw-r--r--test/testframe.c22
-rw-r--r--test/testvfdswmr.sh.in624
-rw-r--r--test/vfd_swmr_addrem_writer.c46
-rw-r--r--test/vfd_swmr_attrdset_writer.c379
-rw-r--r--test/vfd_swmr_dsetchks_writer.c2274
-rw-r--r--test/vfd_swmr_dsetops_writer.c362
-rw-r--r--test/vfd_swmr_generator.c36
-rw-r--r--test/vfd_swmr_group_writer.c618
-rw-r--r--test/vfd_swmr_reader.c70
-rw-r--r--test/vfd_swmr_remove_reader.c60
-rw-r--r--test/vfd_swmr_remove_writer.c26
-rw-r--r--test/vfd_swmr_sparse_reader.c41
-rw-r--r--test/vfd_swmr_sparse_writer.c30
-rw-r--r--test/vfd_swmr_vlstr_reader.c43
-rw-r--r--test/vfd_swmr_vlstr_writer.c53
-rw-r--r--test/vfd_swmr_writer.c30
-rw-r--r--test/vfd_swmr_zoo_writer.c124
43 files changed, 5576 insertions, 9591 deletions
diff --git a/test/CMakeVFDTests.cmake b/test/CMakeVFDTests.cmake
index dada9a9..892ccf3 100644
--- a/test/CMakeVFDTests.cmake
+++ b/test/CMakeVFDTests.cmake
@@ -26,7 +26,7 @@ set (VFD_LIST
multi
family
)
-if (DIRECT_VFD)
+if (H5_HAVE_DIRECT)
set (VFD_LIST ${VFD_LIST} direct)
endif ()
diff --git a/test/Makefile.am b/test/Makefile.am
index 2d76946..ee35664 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -112,6 +112,7 @@ check_PROGRAMS=$(TEST_PROG) error_test err_compat tcheck_version \
vfd_swmr_zoo_reader vfd_swmr_zoo_writer \
vfd_swmr_attrdset_reader vfd_swmr_attrdset_writer \
vfd_swmr_check_compat \
+ vfd_swmr_dsetchks_reader vfd_swmr_dsetchks_writer \
swmr_check_compat_vfd vds_env vds_swmr_gen vds_swmr_reader vds_swmr_writer \
mirror_vfd
if HAVE_SHARED_CONDITIONAL
@@ -182,6 +183,9 @@ vfd_swmr_dsetops_reader_SOURCES=vfd_swmr_dsetops_writer.c
vfd_swmr_attrdset_writer_SOURCES=vfd_swmr_attrdset_writer.c
vfd_swmr_attrdset_reader_SOURCES=vfd_swmr_attrdset_writer.c
+vfd_swmr_dsetchks_writer_SOURCES=vfd_swmr_dsetchks_writer.c
+vfd_swmr_dsetchks_reader_SOURCES=vfd_swmr_dsetchks_writer.c
+
# Additional target for running timing test
timings _timings: testmeta
@for timing in $(TIMINGS) dummy; do \
diff --git a/test/cache.c b/test/cache.c
index abbfaff..6ded559 100644
--- a/test/cache.c
+++ b/test/cache.c
@@ -280,17 +280,17 @@ smoke_check_1(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(4 * 1024 * 1024), (size_t)(2 * 1024 * 1024), paged);
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -308,7 +308,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -326,7 +326,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -344,7 +344,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -354,7 +354,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -367,7 +367,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -377,7 +377,7 @@ smoke_check_1(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -390,12 +390,12 @@ smoke_check_1(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -409,7 +409,7 @@ smoke_check_1(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -478,17 +478,17 @@ smoke_check_2(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(4 * 1024 * 1024), (size_t)(2 * 1024 * 1024), paged);
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -506,7 +506,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -524,7 +524,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -542,7 +542,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -552,7 +552,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -565,7 +565,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -575,7 +575,7 @@ smoke_check_2(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -588,12 +588,12 @@ smoke_check_2(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -607,7 +607,7 @@ smoke_check_2(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -675,17 +675,17 @@ smoke_check_3(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -703,7 +703,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -721,7 +721,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -739,7 +739,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -749,7 +749,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -762,7 +762,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -772,7 +772,7 @@ smoke_check_3(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -785,12 +785,12 @@ smoke_check_3(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -804,7 +804,7 @@ smoke_check_3(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -873,17 +873,17 @@ smoke_check_4(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -901,7 +901,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -919,7 +919,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -937,7 +937,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -947,7 +947,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -960,7 +960,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -970,7 +970,7 @@ smoke_check_4(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -983,12 +983,12 @@ smoke_check_4(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -1002,7 +1002,7 @@ smoke_check_4(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -1116,12 +1116,12 @@ smoke_check_5(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
@@ -1138,7 +1138,7 @@ smoke_check_5(int express_test, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1149,7 +1149,7 @@ smoke_check_5(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1160,7 +1160,7 @@ smoke_check_5(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1171,7 +1171,7 @@ smoke_check_5(int express_test, unsigned paged)
/* do_inserts */ TRUE);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -1181,7 +1181,7 @@ smoke_check_5(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1193,7 +1193,7 @@ smoke_check_5(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -1203,7 +1203,7 @@ smoke_check_5(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1215,12 +1215,12 @@ smoke_check_5(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -1234,7 +1234,7 @@ smoke_check_5(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -1348,12 +1348,12 @@ smoke_check_6(int express_test, unsigned paged)
}
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
@@ -1370,7 +1370,7 @@ smoke_check_6(int express_test, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1381,7 +1381,7 @@ smoke_check_6(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1392,7 +1392,7 @@ smoke_check_6(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1403,7 +1403,7 @@ smoke_check_6(int express_test, unsigned paged)
/* do_inserts */ TRUE);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -1413,7 +1413,7 @@ smoke_check_6(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1425,7 +1425,7 @@ smoke_check_6(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -1435,7 +1435,7 @@ smoke_check_6(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1447,12 +1447,12 @@ smoke_check_6(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -1466,7 +1466,7 @@ smoke_check_6(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -1581,12 +1581,12 @@ smoke_check_7(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
@@ -1603,7 +1603,7 @@ smoke_check_7(int express_test, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1614,7 +1614,7 @@ smoke_check_7(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1625,7 +1625,7 @@ smoke_check_7(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1636,7 +1636,7 @@ smoke_check_7(int express_test, unsigned paged)
/* do_inserts */ TRUE);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -1646,7 +1646,7 @@ smoke_check_7(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1658,7 +1658,7 @@ smoke_check_7(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -1668,7 +1668,7 @@ smoke_check_7(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1680,12 +1680,12 @@ smoke_check_7(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -1699,7 +1699,7 @@ smoke_check_7(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -1814,12 +1814,12 @@ smoke_check_8(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
@@ -1836,7 +1836,7 @@ smoke_check_8(int express_test, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1847,7 +1847,7 @@ smoke_check_8(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1858,7 +1858,7 @@ smoke_check_8(int express_test, unsigned paged)
/* do_inserts */ FALSE);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1869,7 +1869,7 @@ smoke_check_8(int express_test, unsigned paged)
/* do_inserts */ TRUE);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -1879,7 +1879,7 @@ smoke_check_8(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1891,7 +1891,7 @@ smoke_check_8(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -1901,7 +1901,7 @@ smoke_check_8(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
hl_col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -1913,12 +1913,12 @@ smoke_check_8(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -1932,7 +1932,7 @@ smoke_check_8(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -2011,12 +2011,12 @@ smoke_check_9(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(4 * 1024 * 1024), (size_t)(2 * 1024 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
@@ -2024,7 +2024,7 @@ smoke_check_9(int express_test, unsigned paged)
/* disable evictions */
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2038,7 +2038,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2058,7 +2059,7 @@ smoke_check_9(int express_test, unsigned paged)
/* enable evictions */
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2072,7 +2073,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled \n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled \n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2090,7 +2092,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2104,7 +2106,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled \n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled \n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2122,7 +2125,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2136,7 +2139,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled \n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled \n", __func__, mile_stone++,
+ (int)pass);
/* flush and destroy all entries in the cache: */
@@ -2146,7 +2150,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2160,7 +2164,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 12 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2173,7 +2178,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 13 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush all entries in the cache: */
@@ -2183,7 +2188,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 14 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2197,7 +2202,8 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 15 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", __func__, mile_stone++,
+ (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2210,7 +2216,7 @@ smoke_check_9(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 16 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2224,12 +2230,13 @@ smoke_check_9(int express_test, unsigned paged)
}
if (show_progress) /* 17 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 18 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -2243,7 +2250,7 @@ smoke_check_9(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -2322,18 +2329,19 @@ smoke_check_10(int express_test, unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(4 * 1024 * 1024), (size_t)(2 * 1024 * 1024), paged);
cache_ptr = file_ptr->shared->cache;
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2351,7 +2359,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2365,7 +2373,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2383,7 +2392,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2397,7 +2406,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", __func__, mile_stone++,
+ (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2415,7 +2425,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2429,7 +2439,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
/* flush and destroy all entries in the cache: */
@@ -2439,7 +2450,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2453,7 +2464,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", __func__, mile_stone++,
+ (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2466,7 +2478,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 12 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2480,7 +2492,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 13 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
/* flush all entries in the cache: */
@@ -2490,7 +2503,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 14 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2504,7 +2517,8 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 15 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions enabled\n", __func__, mile_stone++,
+ (int)pass);
col_major_scan_backward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2517,7 +2531,7 @@ smoke_check_10(int express_test, unsigned paged)
/* dirty_unprotects */ dirty_unprotects);
if (show_progress) /* 16 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -2531,12 +2545,13 @@ smoke_check_10(int express_test, unsigned paged)
}
if (show_progress) /* 17 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d -- evictions disabled\n", __func__, mile_stone++,
+ (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 18 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -2550,7 +2565,7 @@ smoke_check_10(int express_test, unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -2625,17 +2640,17 @@ write_permitted_check(int
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
reset_entries();
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
file_ptr = setup_cache((size_t)(1 * 1024 * 1024), (size_t)0, paged);
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
row_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2653,7 +2668,7 @@ write_permitted_check(int
/* dirty_unprotects */ TRUE);
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
write_permitted = FALSE;
@@ -2673,7 +2688,7 @@ write_permitted_check(int
/* dirty_unprotects */ NO_CHANGE);
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
write_permitted = TRUE;
@@ -2693,7 +2708,7 @@ write_permitted_check(int
/* dirty_unprotects */ TRUE);
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* flush and destroy all entries in the cache: */
@@ -2703,7 +2718,7 @@ write_permitted_check(int
/* dump_detailed_stats */ FALSE);
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
col_major_scan_forward(/* file_ptr */ file_ptr,
/* max_index */ max_index,
@@ -2716,7 +2731,7 @@ write_permitted_check(int
/* dirty_unprotects */ TRUE);
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
write_permitted = FALSE;
@@ -2733,12 +2748,12 @@ write_permitted_check(int
write_permitted = TRUE;
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
takedown_cache(file_ptr, display_stats, TRUE);
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
verify_clean();
verify_unprotected();
@@ -2752,7 +2767,7 @@ write_permitted_check(int
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
#else /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */
@@ -2770,21 +2785,25 @@ write_permitted_check(int
/*-------------------------------------------------------------------------
* Function: check_insert_entry()
*
- * Purpose: Verify that H5C_insert_entry behaves as expected.
- * Test the behaviour with different flags.
+ * Purpose: Verify that H5C_insert_entry behaves as expected.
+ * Test the behaviour with different flags.
*
- * This test was added primarily to test basic insert
- * pinned entry functionallity, but I through in explicit
- * tests for other functionallity that is tested implicitly
- * elsewhere.
+ * This test was added primarily to test basic insert
+ * pinned entry functionallity, but I through in explicit
+ * tests for other functionallity that is tested implicitly
+ * elsewhere.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 8/10/06
*
* Modifications:
*
+ * Updated tests to accommodate the case in which the
+ * slist is disabled.
+ * JRM -- 5/14/20
+ *
*-------------------------------------------------------------------------
*/
@@ -2982,7 +3001,8 @@ check_insert_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 4) || (cache_ptr->index_size != 4 * entry_sizes[entry_type]) ||
- (cache_ptr->slist_len != 4) || (cache_ptr->slist_size != 4 * entry_sizes[entry_type]) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 4) || (cache_ptr->slist_size != 4 * entry_sizes[entry_type]))) ||
(cache_ptr->pl_len != 0) || (cache_ptr->pl_size != (size_t)0) || (cache_ptr->pel_len != 2) ||
(cache_ptr->pel_size != 2 * entry_sizes[entry_type]) || (cache_ptr->LRU_list_len != 2) ||
(cache_ptr->LRU_list_size != 2 * entry_sizes[entry_type])
@@ -3007,10 +3027,11 @@ check_insert_entry(unsigned paged)
if ((cache_ptr->insertions[entry_type] != 4) || (cache_ptr->pinned_insertions[entry_type] != 2) ||
(cache_ptr->pins[entry_type] != 2) || (cache_ptr->unpins[entry_type] != 0) ||
(cache_ptr->dirty_pins[entry_type] != 0) || (cache_ptr->max_index_len != 4) ||
- (cache_ptr->max_index_size != 4 * entry_sizes[entry_type]) || (cache_ptr->max_slist_len != 4) ||
- (cache_ptr->max_slist_size != 4 * entry_sizes[entry_type]) || (cache_ptr->max_pl_len != 0) ||
- (cache_ptr->max_pl_size != (size_t)0) || (cache_ptr->max_pel_len != 2) ||
- (cache_ptr->max_pel_size != 2 * entry_sizes[entry_type])) {
+ (cache_ptr->max_index_size != 4 * entry_sizes[entry_type]) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 4) || (cache_ptr->slist_size != 4 * entry_sizes[entry_type]))) ||
+ (cache_ptr->max_pl_len != 0) || (cache_ptr->max_pl_size != (size_t)0) ||
+ (cache_ptr->max_pel_len != 2) || (cache_ptr->max_pel_size != 2 * entry_sizes[entry_type])) {
pass = FALSE;
failure_mssg = "Unexpected insert results 11.";
@@ -3040,7 +3061,7 @@ check_insert_entry(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -3129,7 +3150,7 @@ check_flush_cache(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -3137,18 +3158,25 @@ check_flush_cache(unsigned paged)
} /* check_flush_cache() */
/*-------------------------------------------------------------------------
+ *
* Function: check_flush_cache__empty_cache()
*
- * Purpose: Verify that flush_cache behaves as expected with an empty
+ * Purpose : Verify that flush_cache behaves as expected with an empty
* cache.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 1/12/05
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
+ *
*-------------------------------------------------------------------------
*/
@@ -3156,7 +3184,6 @@ static void
check_flush_cache__empty_cache(H5F_t *file_ptr)
{
H5C_t *cache_ptr = file_ptr->shared->cache;
- herr_t result;
if (cache_ptr == NULL) {
@@ -3171,50 +3198,31 @@ check_flush_cache__empty_cache(H5F_t *file_ptr)
/* Test behaviour on an empty cache. Can't do much sanity
* checking in this case, so simply check the return values.
+ *
+ * Check of return values is done in the H5C_FLUSH_CACHE() macro.
*/
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
-
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "flush with flags = 0x00 failed on empty cache.\n";
- }
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "flush with flags = 0x00 failed on empty cache.\n")
}
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
-
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "flush with flags = 0x04 failed on empty cache.\n";
- }
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "flush with flags = 0x04 failed on empty cache.\n")
}
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_CLEAR_ONLY_FLAG);
-
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "flush with flags = 0x08 failed on empty cache.\n";
- }
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_CLEAR_ONLY_FLAG,
+ "flush with flags = 0x08 failed on empty cache.\n")
}
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_MARKED_ENTRIES_FLAG);
-
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "flush with flags = 0x10 failed on empty cache.\n";
- }
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_MARKED_ENTRIES_FLAG,
+ "flush with flags = 0x10 failed on empty cache.\n")
}
} /* check_flush_cache__empty_cache() */
@@ -4418,22 +4426,26 @@ check_flush_cache__multi_entry(H5F_t *file_ptr)
check_flush_cache__pe_multi_entry_test(file_ptr, test_num, flush_flags, spec_size, spec);
}
- return;
-
} /* check_flush_cache__multi_entry() */
/*-------------------------------------------------------------------------
* Function: check_flush_cache__multi_entry_test()
*
- * Purpose: Run a multi entry flush cache test.
+ * Purpose : Run a multi entry flush cache test.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 1/13/05
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
+ *
*-------------------------------------------------------------------------
*/
@@ -4443,7 +4455,6 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
{
H5C_t * cache_ptr = file_ptr->shared->cache;
static char msg[128];
- herr_t result;
unsigned u;
size_t total_entry_size = 0;
test_entry_t *base_addr;
@@ -4453,7 +4464,7 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
/* This gets used a lot, so lets leave it in. */
HDfprintf(stdout, "check_flush_cache__multi_entry_test: test %d\n",
- test_num);
+ test_num);
#endif /* JRM */
if (cache_ptr == NULL) {
@@ -4478,6 +4489,7 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
u = 0;
while (pass && (u < spec_size)) {
+
if (((unsigned)spec[u].entry_num != u) || (spec[u].entry_type < 0) ||
(spec[u].entry_type >= NUMBER_OF_ENTRY_TYPES) || (spec[u].entry_index < 0) ||
(spec[u].entry_index > max_indices[spec[u].entry_type])) {
@@ -4492,6 +4504,7 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
u = 0;
while (pass && (u < spec_size)) {
+
if (spec[u].insert_flag) {
insert_entry(file_ptr, spec[u].entry_type, spec[u].entry_index, spec[u].flags);
@@ -4510,11 +4523,10 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
if (pass) {
- result = H5C_flush_cache(file_ptr, flush_flags);
+ H5C_FLUSH_CACHE(file_ptr, flush_flags, "dummy failure message.\n")
- if (result < 0) {
+ if (!pass) {
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "flush with flags 0x%x failed in multi entry test #%d.", flush_flags,
test_num);
failure_mssg = msg;
@@ -4568,9 +4580,9 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
/* clean up the cache to prep for the next test */
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "dummy mssg.\n")
- if (result < 0) {
+ if (!pass) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Flush failed on cleanup in multi entry test #%d.", test_num);
@@ -4587,6 +4599,7 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
u = 0;
while (pass && (u < spec_size)) {
+
base_addr = entries[spec[u].entry_type];
entry_ptr = &(base_addr[spec[u].entry_index]);
@@ -4597,22 +4610,27 @@ check_flush_cache__multi_entry_test(H5F_t *file_ptr, int test_num, unsigned int
u++;
}
- return;
-
} /* check_flush_cache__multi_entry_test() */
/*-------------------------------------------------------------------------
+ *
* Function: check_flush_cache__pe_multi_entry_test()
*
- * Purpose: Run a multi entry flush cache test.
+ * Purpose: Run a multi entry flush cache test.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/5/06
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/16/20
+ *
*-------------------------------------------------------------------------
*/
@@ -4622,7 +4640,6 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
{
H5C_t * cache_ptr = file_ptr->shared->cache;
static char msg[128];
- herr_t result;
unsigned u;
int j;
size_t total_entry_size = 0;
@@ -4658,6 +4675,7 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
u = 0;
while (pass && (u < spec_size)) {
+
if (((unsigned)spec[u].entry_num != u) || (spec[u].entry_type < 0) ||
(spec[u].entry_type >= NUMBER_OF_ENTRY_TYPES) || (spec[u].entry_index < 0) ||
(spec[u].entry_index > max_indices[spec[u].entry_type]) || (spec[u].num_pins < 0) ||
@@ -4687,6 +4705,7 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
total_entry_size += entry_sizes[spec[u].entry_type];
for (j = 0; j < spec[u].num_pins; j++) {
+
create_pinned_entry_dependency(file_ptr, spec[u].entry_type, spec[u].entry_index,
spec[u].pin_type[j], spec[u].pin_idx[j]);
}
@@ -4696,11 +4715,10 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
if (pass) {
- result = H5C_flush_cache(file_ptr, flush_flags);
+ H5C_FLUSH_CACHE(file_ptr, flush_flags, "dummy failure message.\n")
- if (result < 0) {
+ if (!pass) {
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "flush with flags 0x%x failed in pe multi entry test #%d.",
flush_flags, test_num);
failure_mssg = msg;
@@ -4709,6 +4727,7 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
u = 0;
while (pass && (u < spec_size)) {
+
base_addr = entries[spec[u].entry_type];
entry_ptr = &(base_addr[spec[u].entry_index]);
@@ -4754,9 +4773,9 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
/* clean up the cache to prep for the next test */
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "dummy mssg.\n")
- if (result < 0) {
+ if (!pass) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Flush failed on cleanup in pe multi entry test #%d.", test_num);
@@ -4773,6 +4792,7 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
u = 0;
while (pass && (u < spec_size)) {
+
base_addr = entries[spec[u].entry_type];
entry_ptr = &(base_addr[spec[u].entry_index]);
@@ -4783,8 +4803,6 @@ check_flush_cache__pe_multi_entry_test(H5F_t *file_ptr, int test_num, unsigned i
u++;
}
- return;
-
} /* check_flush_cache__pe_multi_entry_test() */
/*-------------------------------------------------------------------------
@@ -7980,23 +7998,27 @@ check_flush_cache__flush_ops(H5F_t *file_ptr)
/* finally finish up with the flush ops eviction test */
check_flush_cache__flush_op_eviction_test(file_ptr);
- return;
-
} /* check_flush_cache__flush_ops() */
/*-------------------------------------------------------------------------
* Function: check_flush_cache__flush_op_test()
*
- * Purpose: Run a flush op flush cache test. Of the nature of
- * flush operations, this is a multi-entry test.
+ * Purpose: Run a flush op flush cache test. Of the nature of
+ * flush operations, this is a multi-entry test.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 9/3/06
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/16/20
+ *
*-------------------------------------------------------------------------
*/
@@ -8009,7 +8031,6 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
{
H5C_t * cache_ptr = file_ptr->shared->cache;
static char msg[128];
- herr_t result;
int i;
int j;
test_entry_t *base_addr;
@@ -8042,6 +8063,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < spec_size)) {
+
if ((spec[i].entry_num != i) || (spec[i].entry_type < 0) ||
(spec[i].entry_type >= NUMBER_OF_ENTRY_TYPES) || (spec[i].entry_index < 0) ||
(spec[i].entry_index > max_indices[spec[i].entry_type]) || (spec[i].num_pins < 0) ||
@@ -8057,6 +8079,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < check_size)) {
+
if ((check[i].entry_num != i) || (check[i].entry_type < 0) ||
(check[i].entry_type >= NUMBER_OF_ENTRY_TYPES) || (check[i].entry_index < 0) ||
(check[i].entry_index > max_indices[check[i].entry_type]) ||
@@ -8071,6 +8094,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < spec_size)) {
+
if (spec[i].insert_flag) {
insert_entry(file_ptr, spec[i].entry_type, spec[i].entry_index, spec[i].flags);
@@ -8091,6 +8115,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
}
for (j = 0; j < spec[i].num_flush_ops; j++) {
+
add_flush_op(spec[i].entry_type, spec[i].entry_index, spec[i].flush_ops[j].op_code,
spec[i].flush_ops[j].type, spec[i].flush_ops[j].idx, spec[i].flush_ops[j].flag,
spec[i].flush_ops[j].size, spec[i].flush_ops[j].order_ptr);
@@ -8113,9 +8138,9 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
if (pass) {
- result = H5C_flush_cache(file_ptr, flush_flags);
+ H5C_FLUSH_CACHE(file_ptr, flush_flags, "dummy failure message")
- if (result < 0) {
+ if (!pass) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "flush with flags 0x%x failed in flush op test #%d.", flush_flags,
@@ -8126,6 +8151,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < spec_size)) {
+
base_addr = entries[spec[i].entry_type];
entry_ptr = &(base_addr[spec[i].entry_index]);
@@ -8159,6 +8185,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < check_size)) {
+
if (check[i].in_cache != entry_in_cache(cache_ptr, check[i].entry_type, check[i].entry_index)) {
pass = FALSE;
@@ -8186,74 +8213,104 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
#if 0 /* This is useful debugging code. Lets keep it around for a while. */
- if(entry_ptr->size != check[i].expected_size) {
- HDfprintf(stdout, "entry_ptr->size (expected) = %d (%d).\n",
- (int)(entry_ptr->size),
- (int)(check[i].expected_size));
- }
- if((!entry_ptr->header.destroy_in_progress) &&
- (check[i].in_cache) &&
- (entry_ptr->header.size != check[i].expected_size)) {
- HDfprintf(stdout,
+ if ( entry_ptr->size != check[i].expected_size ) {
+
+ HDfprintf(stdout, "entry_ptr->size (expected) = %d (%d).\n",
+ (int)(entry_ptr->size),
+ (int)(check[i].expected_size));
+ }
+
+ if ( ( ! entry_ptr->header.destroy_in_progress ) &&
+ ( check[i].in_cache ) &&
+ ( entry_ptr->header.size != check[i].expected_size ) ) {
+
+ HDfprintf(stdout,
"(!destroy in progress and in cache and size (expected) = %d (%d).\n",
(int)(entry_ptr->header.size),
- (int)(check[i].expected_size));
- }
- if(entry_ptr->at_main_addr != check[i].at_main_addr) {
- HDfprintf(stdout, "(%d,%d) at main addr (expected) = %d (%d).\n",
- (int)(check[i].entry_type),
- (int)(check[i].entry_index),
+ (int)(check[i].expected_size));
+ }
+
+ if ( entry_ptr->at_main_addr != check[i].at_main_addr ) {
+
+ HDfprintf(stdout,
+ "(%d,%d) at main addr (expected) = %d (%d).\n",
+ (int)(check[i].entry_type),
+ (int)(check[i].entry_index),
(int)(entry_ptr->at_main_addr),
- (int)(check[i].at_main_addr));
+ (int)(check[i].at_main_addr));
+ }
+
+ if ( entry_ptr->is_dirty != check[i].is_dirty ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->is_dirty (expected) = %d (%d).\n",
+ (int)(entry_ptr->is_dirty),
+ (int)(check[i].is_dirty));
+ }
+
+ if ( entry_ptr->header.is_dirty != check[i].is_dirty ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->header.is_dirty (expected) = %d (%d).\n",
+ (int)(entry_ptr->header.is_dirty),
+ (int)(check[i].is_dirty));
+ }
+
+ if ( entry_ptr->is_protected != check[i].is_protected ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->is_protected (expected) = %d (%d).\n",
+ (int)(entry_ptr->is_protected),
+ (int)(check[i].is_protected));
+ }
+
+ if ( entry_ptr->header.is_protected != check[i].is_protected ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->header.is_protected (expected) = %d (%d).\n",
+ (int)(entry_ptr->is_protected),
+ (int)(check[i].is_protected));
+ }
+
+ if ( entry_ptr->is_pinned != check[i].is_pinned ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->is_pinned (expected) = %d (%d).\n",
+ (int)(entry_ptr->is_pinned),
+ (int)(check[i].is_pinned));
+ }
+
+ if ( entry_ptr->header.is_pinned != check[i].is_pinned ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->header.is_pinned (expected) = %d (%d).\n",
+ (int)(entry_ptr->header.is_pinned),
+ (int)(check[i].is_pinned));
+ }
+
+ if ( entry_ptr->deserialized != check[i].expected_deserialized ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->deserialized (expected) = %d (%d).\n",
+ (int)(entry_ptr->deserialized),
+ (int)(check[i].expected_deserialized));
+ }
+
+ if ( entry_ptr->serialized != check[i].expected_serialized ) {
+
+ HDfprintf(stdout,
+ "entry_ptr->serialized (expected) = %d (%d).\n",
+ (int)(entry_ptr->serialized),
+ (int)(check[i].expected_serialized));
+ }
+
+ if ( entry_ptr->destroyed != check[i].expected_destroyed ) {
+
+ HDfprintf(stdout, \
+ "entry_ptr->destroyed (expected) = %d (%d).\n",
+ (int)(entry_ptr->destroyed),
+ (int)(check[i].expected_destroyed));
}
- if(entry_ptr->is_dirty != check[i].is_dirty) {
- HDfprintf(stdout, "entry_ptr->is_dirty (expected) = %d (%d).\n",
- (int)(entry_ptr->is_dirty),
- (int)(check[i].is_dirty));
- }
- if(entry_ptr->header.is_dirty != check[i].is_dirty) {
- HDfprintf(stdout, "entry_ptr->header.is_dirty (expected) = %d (%d).\n",
- (int)(entry_ptr->header.is_dirty),
- (int)(check[i].is_dirty));
- }
- if(entry_ptr->is_protected != check[i].is_protected) {
- HDfprintf(stdout, "entry_ptr->is_protected (expected) = %d (%d).\n",
- (int)(entry_ptr->is_protected),
- (int)(check[i].is_protected));
- }
- if(entry_ptr->header.is_protected != check[i].is_protected) {
- HDfprintf(stdout, "entry_ptr->header.is_protected (expected) = %d (%d).\n",
- (int)(entry_ptr->is_protected),
- (int)(check[i].is_protected));
- }
- if(entry_ptr->is_pinned != check[i].is_pinned) {
- HDfprintf(stdout, "entry_ptr->is_pinned (expected) = %d (%d).\n",
- (int)(entry_ptr->is_pinned),
- (int)(check[i].is_pinned));
- }
- if(entry_ptr->header.is_pinned != check[i].is_pinned) {
- HDfprintf(stdout, "entry_ptr->header.is_pinned (expected) = %d (%d).\n",
- (int)(entry_ptr->header.is_pinned),
- (int)(check[i].is_pinned));
- }
- if(entry_ptr->deserialized !=
- check[i].expected_deserialized) {
- HDfprintf(stdout,
- "entry_ptr->deserialized (expected) = %d (%d).\n",
- (int)(entry_ptr->deserialized),
- (int)(check[i].expected_deserialized));
- }
- if(entry_ptr->serialized != check[i].expected_serialized) {
- HDfprintf(stdout,
- "entry_ptr->serialized (expected) = %d (%d).\n",
- (int)(entry_ptr->serialized),
- (int)(check[i].expected_serialized));
- }
- if(entry_ptr->destroyed != check[i].expected_destroyed) {
- HDfprintf(stdout, "entry_ptr->destroyed (expected) = %d (%d).\n",
- (int)(entry_ptr->destroyed),
- (int)(check[i].expected_destroyed));
- }
#endif
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Check2 failed on entry %d after flush op test #%d.", i,
@@ -8282,11 +8339,10 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
/* clean up the cache to prep for the next test */
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "dummy mssg.")
- if (result < 0) {
+ if (!pass) {
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "Flush failed on cleanup in flush op test #%d.", test_num);
failure_mssg = msg;
}
@@ -8302,6 +8358,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < spec_size)) {
+
base_addr = entries[spec[i].entry_type];
entry_ptr = &(base_addr[spec[i].entry_index]);
@@ -8316,6 +8373,7 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i = 0;
while (pass && (i < check_size)) {
+
base_addr = entries[check[i].entry_type];
entry_ptr = &(base_addr[check[i].entry_index]);
@@ -8328,29 +8386,33 @@ check_flush_cache__flush_op_test(H5F_t *file_ptr, int test_num, unsigned int flu
i++;
}
- return;
-
} /* check_flush_cache__flush_op_test() */
/*-------------------------------------------------------------------------
* Function: check_flush_cache__flush_op_eviction_test()
*
- * Purpose: Verify that flush operations work as expected when an
+ * Purpose: Verify that flush operations work as expected when an
* entry is evicted.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 10/3/06
*
* Modifications:
*
- * Updated test for minor changes in the behaviour
- * of H5C__flush_single_entry().
+ * Updated test for minor changes in the behaviour
+ * of H5C__flush_single_entry().
+ *
+ * JRM -- 2/16/15
*
- * JRM -- 2/16/15
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/16/20
*
*-------------------------------------------------------------------------
*/
@@ -8363,7 +8425,6 @@ check_flush_cache__flush_op_eviction_test(H5F_t *file_ptr)
int num_variable_entries = 10;
int num_monster_entries = 31;
int num_large_entries = 0;
- herr_t result;
test_entry_t * entry_ptr;
test_entry_t * base_addr;
struct expected_entry_status expected[10 + 31 + 14] = {
@@ -10377,14 +10438,10 @@ check_flush_cache__flush_op_eviction_test(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
-
- if (result < 0) {
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush invalidate failed after flush op eviction test")
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed after flush op eviction test";
- }
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after cleanup of flush op eviction test";
@@ -10479,8 +10536,6 @@ check_flush_cache__flush_op_eviction_test(H5F_t *file_ptr)
reset_entries();
}
- return;
-
} /* check_flush_cache__flush_op_eviction_test() */
/*-------------------------------------------------------------------------
@@ -12104,22 +12159,26 @@ check_flush_cache__single_entry(H5F_t *file_ptr)
}
}
- return;
-
} /* check_flush_cache__single_entry() */
/*-------------------------------------------------------------------------
* Function: check_flush_cache__single_entry_test()
*
- * Purpose: Run a single entry flush cache test.
+ * Purpose: Run a single entry flush cache test.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 1/12/05
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
+ *
*-------------------------------------------------------------------------
*/
@@ -12131,7 +12190,6 @@ check_flush_cache__single_entry_test(H5F_t *file_ptr, int test_num, int entry_ty
{
H5C_t * cache_ptr = file_ptr->shared->cache;
static char msg[128];
- herr_t result;
test_entry_t *base_addr;
test_entry_t *entry_ptr = NULL;
@@ -12174,18 +12232,19 @@ check_flush_cache__single_entry_test(H5F_t *file_ptr, int test_num, int entry_ty
if (pass) {
- result = H5C_flush_cache(file_ptr, flush_flags);
+ H5C_FLUSH_CACHE(file_ptr, flush_flags, "dummy failure mssg.")
- if (result < 0) {
+ if (!pass) { /* construct and set actual failure message */
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "flush with flags 0x%x failed in single entry test #%d.",
flush_flags, test_num);
+
failure_mssg = msg;
}
else if ((entry_ptr->deserialized != expected_deserialized) ||
(entry_ptr->serialized != expected_serialized) ||
(entry_ptr->destroyed != expected_destroyed)) {
+
#if 0 /* This is useful debugging code -- lets keep it for a while */
HDfprintf(stdout,
@@ -12217,11 +12276,10 @@ check_flush_cache__single_entry_test(H5F_t *file_ptr, int test_num, int entry_ty
/* clean up the cache to prep for the next test */
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "dummy failure mssg.")
- if (result < 0) {
+ if (!pass) { /* construct and set actual failure message */
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "Flush failed on cleanup in single entry test #%d.", test_num);
failure_mssg = msg;
}
@@ -12240,29 +12298,32 @@ check_flush_cache__single_entry_test(H5F_t *file_ptr, int test_num, int entry_ty
}
}
- return;
-
} /* check_flush_cache__single_entry_test() */
/*-------------------------------------------------------------------------
* Function: check_flush_cache__pinned_single_entry_test()
*
- * Purpose: Run a pinned single entry flush cache test.
+ * Purpose: Run a pinned single entry flush cache test.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 3/28/06
*
* Modifications:
*
- * JRM -- 5/17/06
- * Added the pop_mark_dirty_prot and pop_mark_dirty_pinned
- * flags and supporting code to allow us to test the
- * H5C_mark_entry_dirty() call. Use the
- * call to mark the entry dirty while the entry is protected
- * if pop_mark_dirty_prot is TRUE, and to mark the entry
- * dirty while it is pinned if pop_mark_dirty_pinned is TRUE.
+ * JRM -- 5/17/06
+ * Added the pop_mark_dirty_prot and pop_mark_dirty_pinned
+ * flags and supporting code to allow us to test the
+ * H5C_mark_entry_dirty() call. Use the
+ * call to mark the entry dirty while the entry is protected
+ * if pop_mark_dirty_prot is TRUE, and to mark the entry
+ * dirty while it is pinned if pop_mark_dirty_pinned is TRUE.
+ *
+ * JRM -- 5/14/20
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
*
*-------------------------------------------------------------------------
*/
@@ -12278,7 +12339,6 @@ check_flush_cache__pinned_single_entry_test(H5F_t *file_ptr, int test_num, int e
H5C_t * cache_ptr = file_ptr->shared->cache;
static char msg[128];
hbool_t expected_deserialized = TRUE;
- herr_t result;
test_entry_t *base_addr;
test_entry_t *entry_ptr = NULL;
@@ -12332,11 +12392,10 @@ check_flush_cache__pinned_single_entry_test(H5F_t *file_ptr, int test_num, int e
if (pass) {
- result = H5C_flush_cache(file_ptr, flush_flags);
+ H5C_FLUSH_CACHE(file_ptr, flush_flags, "dummy failure message\n")
- if (result < 0) {
+ if (!pass) { /* construct and set the correct failure message */
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "flush with flags 0x%x failed in pinned single entry test #%d.",
flush_flags, test_num);
failure_mssg = msg;
@@ -12344,6 +12403,7 @@ check_flush_cache__pinned_single_entry_test(H5F_t *file_ptr, int test_num, int e
else if ((entry_ptr->deserialized != expected_deserialized) ||
(entry_ptr->serialized != expected_serialized) ||
(entry_ptr->destroyed != expected_destroyed)) {
+
#if 0 /* this is useful debugging code -- keep it around */
HDfprintf(stdout,
"desrlzd = %d(%d), srlzd = %d(%d), dest = %d(%d)\n",
@@ -12390,11 +12450,10 @@ check_flush_cache__pinned_single_entry_test(H5F_t *file_ptr, int test_num, int e
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "dummy mssg\n")
- if (result < 0) {
+ if (!pass) {
- pass = FALSE;
HDsnprintf(msg, (size_t)128, "Flush failed on cleanup in pinned single entry test #%d.",
test_num);
failure_mssg = msg;
@@ -12414,8 +12473,6 @@ check_flush_cache__pinned_single_entry_test(H5F_t *file_ptr, int test_num, int e
}
}
- return;
-
} /* check_flush_cache__pinned_single_entry_test() */
/*-------------------------------------------------------------------------
@@ -12631,7 +12688,7 @@ check_get_entry_status(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -12912,7 +12969,7 @@ check_expunge_entry(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -13303,7 +13360,7 @@ check_multiple_read_protect(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -13403,7 +13460,7 @@ check_move_entry(unsigned paged)
H5_FAILED()
if (!pass)
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
return (unsigned)!pass;
} /* check_move_entry() */
@@ -13564,8 +13621,6 @@ check_move_entry__run_test(H5F_t *file_ptr, unsigned test_num, struct move_entry
/* put the entry back where it started from */
move_entry(cache_ptr, spec_ptr->entry_type, spec_ptr->entry_index, TRUE);
- return;
-
} /* check_move_entry__run_test() */
/*-------------------------------------------------------------------------
@@ -13663,7 +13718,7 @@ check_pin_protected_entry(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -13673,14 +13728,20 @@ check_pin_protected_entry(unsigned paged)
/*-------------------------------------------------------------------------
* Function: check_resize_entry()
*
- * Purpose: Verify that H5C_resize_entry() and H5C_unprotect() resize
- * entries as expected.
+ * Purpose: Verify that H5C_resize_entry() and H5C_unprotect() resize
+ * entries as expected.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 7/7/06
*
+ * Modifications:
+ *
+ * Updated function to allow for disabling of the slist.
+ *
+ * JRM -- 5/18/20
+ *
*-------------------------------------------------------------------------
*/
@@ -13845,7 +13906,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 1) || (cache_ptr->index_size != (LARGE_ENTRY_SIZE / 2)) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != (LARGE_ENTRY_SIZE / 2))) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != (LARGE_ENTRY_SIZE / 2))))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 3.");
@@ -13919,7 +13981,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 1) || (cache_ptr->index_size != LARGE_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 4.");
@@ -13975,7 +14038,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 1) || (cache_ptr->index_size != (LARGE_ENTRY_SIZE / 4)) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != (LARGE_ENTRY_SIZE / 4))) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != (LARGE_ENTRY_SIZE / 4))))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 5.");
@@ -14024,7 +14088,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 1) || (cache_ptr->index_size != LARGE_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 6.");
@@ -14092,8 +14157,8 @@ check_resize_entry(unsigned paged)
if (pass) {
- if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) || (cache_ptr->slist_len != 0) ||
- (cache_ptr->slist_size != 0)) {
+ if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 7.");
@@ -14105,13 +14170,14 @@ check_resize_entry(unsigned paged)
if (pass) {
- if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) || (cache_ptr->slist_len != 0) ||
- (cache_ptr->slist_size != 0)) {
+ if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 8.");
failure_mssg = msg;
}
+
base_addr = entries[LARGE_ENTRY_TYPE];
entry_ptr = &(base_addr[3]);
entry_size = LARGE_ENTRY_SIZE;
@@ -14132,7 +14198,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 3) || (cache_ptr->index_size != 3 * LARGE_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 9.");
@@ -14148,7 +14215,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 4) || (cache_ptr->index_size != 4 * LARGE_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 10.");
@@ -14217,8 +14285,9 @@ check_resize_entry(unsigned paged)
if ((cache_ptr->index_len != 4) ||
(cache_ptr->index_size != ((3 * LARGE_ENTRY_SIZE) + (LARGE_ENTRY_SIZE / 2))) ||
- (cache_ptr->slist_len != 2) ||
- (cache_ptr->slist_size != (LARGE_ENTRY_SIZE + (LARGE_ENTRY_SIZE / 2)))) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) ||
+ (cache_ptr->slist_size != (LARGE_ENTRY_SIZE + (LARGE_ENTRY_SIZE / 2)))))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 11.");
@@ -14292,7 +14361,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 4) || (cache_ptr->index_size != 4 * LARGE_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 12.");
@@ -14349,8 +14419,9 @@ check_resize_entry(unsigned paged)
if ((cache_ptr->index_len != 4) ||
(cache_ptr->index_size != ((3 * LARGE_ENTRY_SIZE) + (LARGE_ENTRY_SIZE / 4))) ||
- (cache_ptr->slist_len != 2) ||
- (cache_ptr->slist_size != (LARGE_ENTRY_SIZE + (LARGE_ENTRY_SIZE / 4)))) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) ||
+ (cache_ptr->slist_size != (LARGE_ENTRY_SIZE + (LARGE_ENTRY_SIZE / 4)))))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 13.");
@@ -14399,7 +14470,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 4) || (cache_ptr->index_size != (4 * LARGE_ENTRY_SIZE)) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != (2 * LARGE_ENTRY_SIZE))) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != (2 * LARGE_ENTRY_SIZE))))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 14.");
@@ -14468,7 +14540,8 @@ check_resize_entry(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 3) || (cache_ptr->index_size != (3 * LARGE_ENTRY_SIZE)) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)) {
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != LARGE_ENTRY_SIZE)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 15.");
@@ -14490,8 +14563,8 @@ check_resize_entry(unsigned paged)
if (pass) {
- if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) || (cache_ptr->slist_len != 0) ||
- (cache_ptr->slist_size != 0)) {
+ if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0)))) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 16.");
@@ -14513,7 +14586,7 @@ check_resize_entry(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -14523,16 +14596,19 @@ check_resize_entry(unsigned paged)
/*-------------------------------------------------------------------------
* Function: check_evictions_enabled()
*
- * Purpose: Verify that H5C_get_evictions_enabled() and
- * H5C_set_evictions_enabled() functions perform as expected.
+ * Purpose: Verify that H5C_get_evictions_enabled() and
+ * H5C_set_evictions_enabled() functions perform as expected.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 8/2/07
*
* Modifications:
*
+ * Updated function to allow for disabling of the slist.
+ *
+ * JRM -- 5/18/20
*
*-------------------------------------------------------------------------
*/
@@ -14595,7 +14671,7 @@ check_evictions_enabled(unsigned paged)
pass = TRUE;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* create the cache */
if (pass) {
@@ -14617,13 +14693,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that it is empty */
if (pass) {
- if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) || (cache_ptr->slist_len != 0) ||
- (cache_ptr->slist_size != 0) || (cache_ptr->evictions_enabled != TRUE)) {
+ if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0))) ||
+ (cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
HDsnprintf(msg, (size_t)128, "Unexpected cache status 1.");
@@ -14632,7 +14709,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that H5C_get_evictions_enabled() returns the expected value */
if (pass) {
@@ -14648,7 +14725,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14660,13 +14737,13 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that the cache is full */
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -14676,7 +14753,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14686,13 +14763,13 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that an entry has been evicted */
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0) ||
+ ((cache_ptr->slist_enabled) && ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -14702,7 +14779,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14732,7 +14809,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14741,13 +14818,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that another entry has been evicted */
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -14757,7 +14835,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14787,7 +14865,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 12 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* disable evictions */
if (pass) {
@@ -14803,13 +14881,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 13 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that evictions are disabled */
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != FALSE)) {
pass = FALSE;
@@ -14819,7 +14898,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 14 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14829,13 +14908,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 15 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that no entry has been evicted */
if (pass) {
if ((cache_ptr->index_len != 17) || (cache_ptr->index_size != 17 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 1) || (cache_ptr->slist_size != MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != FALSE)) {
pass = FALSE;
@@ -14845,7 +14925,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 16 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14854,13 +14934,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 17 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that no entry has been evicted */
if (pass) {
if ((cache_ptr->index_len != 18) || (cache_ptr->index_size != 18 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != FALSE)) {
pass = FALSE;
@@ -14870,7 +14951,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 18 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* re-enable evictions */
if (pass) {
@@ -14886,7 +14967,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 19 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14896,13 +14977,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 20 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that no entries have been evicted */
if (pass) {
if ((cache_ptr->index_len != 18) || (cache_ptr->index_size != 18 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -14912,7 +14994,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 21 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14922,7 +15004,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 22 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that the entries have been evicted to bring the
* cache back down to its normal size.
@@ -14931,7 +15013,8 @@ check_evictions_enabled(unsigned paged)
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -14941,7 +15024,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 23 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -14971,7 +15054,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 24 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -15001,7 +15084,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 25 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* disable evictions again */
if (pass) {
@@ -15017,7 +15100,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 26 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -15029,13 +15112,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 27 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that the cache has grown */
if (pass) {
if ((cache_ptr->index_len != 17) || (cache_ptr->index_size != 17 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 2) || (cache_ptr->slist_size != 2 * MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != FALSE)) {
pass = FALSE;
@@ -15045,7 +15129,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 28 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* re-enable evictions again */
if (pass) {
@@ -15061,7 +15145,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 29 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -15070,13 +15154,14 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 30 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* verify that the cache has returned to its maximum size */
if (pass) {
if ((cache_ptr->index_len != 16) || (cache_ptr->index_size != 16 * MONSTER_ENTRY_SIZE) ||
- (cache_ptr->slist_len != 3) || (cache_ptr->slist_size != 3 * MONSTER_ENTRY_SIZE) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->slist_len != 3) || (cache_ptr->slist_size != 3 * MONSTER_ENTRY_SIZE))) ||
(cache_ptr->evictions_enabled != TRUE)) {
pass = FALSE;
@@ -15086,7 +15171,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 31 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -15116,7 +15201,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 32 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* disable evictions one last time before we shut down */
if (pass) {
@@ -15132,7 +15217,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 33 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -15140,7 +15225,7 @@ check_evictions_enabled(unsigned paged)
}
if (show_progress) /* 34 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
PASSED();
@@ -15151,7 +15236,7 @@ check_evictions_enabled(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15161,23 +15246,29 @@ check_evictions_enabled(unsigned paged)
/*-------------------------------------------------------------------------
* Function: check_flush_protected_err()
*
- * Purpose: Verify that an attempt to flush the cache when it contains
- * a protected entry will generate an error.
+ * Purpose: Verify that an attempt to flush the cache when it contains
+ * a protected entry will generate an error.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 6/24/04
*
* Modifications:
*
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache().
+ *
+ * JRM -- 5/14/20
+ *
*-------------------------------------------------------------------------
*/
static unsigned
check_flush_protected_err(unsigned paged)
{
- H5F_t *file_ptr = NULL;
+ H5F_t *file_ptr = NULL;
+ H5C_t *cache_ptr = NULL;
if (paged)
TESTING("flush cache with protected entry error (paged aggregation)")
@@ -15197,27 +15288,41 @@ check_flush_protected_err(unsigned paged)
file_ptr = setup_cache((size_t)(2 * 1024), (size_t)(1 * 1024), paged);
+ if (pass) {
+
+ cache_ptr = file_ptr->shared->cache;
+ }
+
protect_entry(file_ptr, 0, 0);
- if (H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET) >= 0) {
+ /* enable slist prior to flush */
+ if ((pass) && (H5C_set_slist_enabled(cache_ptr, TRUE, FALSE) < 0)) {
+
+ pass = FALSE;
+ failure_mssg = "unable to enable slist prior to flush.\n";
+ }
+
+ if ((pass) && (H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET) >= 0)) {
pass = FALSE;
failure_mssg = "flush succeeded on cache with protected entry.\n";
}
- else {
- unprotect_entry(file_ptr, 0, 0, H5C__DIRTIED_FLAG);
+ /* disable the slist after the flush */
+ if ((pass) && (H5C_set_slist_enabled(cache_ptr, FALSE, FALSE) < 0)) {
- if (H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET) < 0) {
+ pass = FALSE;
+ failure_mssg = "unable to disable slist after flush.\n";
+ }
- pass = FALSE;
- failure_mssg = "flush failed after unprotect.\n";
- }
- else {
+ unprotect_entry(file_ptr, 0, 0, H5C__DIRTIED_FLAG);
- takedown_cache(file_ptr, FALSE, FALSE);
- }
+ if (pass) {
+
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "flush failed after unprotect.\n")
}
+
+ takedown_cache(file_ptr, FALSE, FALSE);
}
if (pass) {
@@ -15229,7 +15334,7 @@ check_flush_protected_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15318,7 +15423,7 @@ check_destroy_pinned_err(unsigned paged)
}
if (!pass)
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
return (unsigned)!pass;
@@ -15414,7 +15519,7 @@ check_destroy_protected_err(unsigned paged)
}
if (!pass)
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
return (unsigned)!pass;
@@ -15495,7 +15600,7 @@ check_duplicate_insert_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15584,7 +15689,7 @@ check_double_pin_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15682,7 +15787,7 @@ check_double_unpin_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15794,7 +15899,7 @@ check_pin_entry_errs(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15876,7 +15981,7 @@ check_double_protect_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -15954,7 +16059,7 @@ check_double_unprotect_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16036,7 +16141,7 @@ check_mark_entry_dirty_errs(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16153,7 +16258,7 @@ check_expunge_entry_errs(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16270,7 +16375,7 @@ check_move_entry_errs(unsigned paged)
else {
H5_FAILED()
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
} /* end else */
return (unsigned)!pass;
@@ -16279,12 +16384,12 @@ check_move_entry_errs(unsigned paged)
/*-------------------------------------------------------------------------
* Function: check_resize_entry_errs()
*
- * Purpose: Verify that invalid calls to H5C_resize_entry()
- * generates errors as expected.
+ * Purpose: Verify that invalid calls to H5C_resize_entry()
+ * generates errors as expected.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 7/7/06
*
*-------------------------------------------------------------------------
@@ -16370,7 +16475,7 @@ check_resize_entry_errs(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16491,7 +16596,7 @@ check_unprotect_ro_dirty_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16578,7 +16683,7 @@ check_protect_ro_rw_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16707,7 +16812,7 @@ check_protect_retries(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_msg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_msg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -16847,7 +16952,7 @@ check_check_evictions_enabled_err(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -20713,7 +20818,7 @@ check_auto_cache_resize(hbool_t cork_ageout, unsigned paged)
} /* end else */
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return (unsigned)!pass;
} /* check_auto_cache_resize() */
@@ -23313,7 +23418,7 @@ check_auto_cache_resize_disable(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -24000,7 +24105,7 @@ check_auto_cache_resize_epoch_markers(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -26232,7 +26337,7 @@ check_auto_cache_resize_input_errs(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -26728,7 +26833,7 @@ check_auto_cache_resize_aux_fcns(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -26755,7 +26860,6 @@ check_auto_cache_resize_aux_fcns(unsigned paged)
* Return: void
*
* Programmer: Mike McGreevy
- * <mamcgree@hdfgroup.org>
* 12/16/08
*
* Modifications:
@@ -26783,2711 +26887,163 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
/* Set up the expected array. This is used to maintain a table of the
* expected status of every entry used in this test.
*/
- struct expected_entry_status expected[150] = {
- /* entry entry in at main flush
- dep flush dep child flush flush flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {HUGE_ENTRY_TYPE,
- 0,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 1,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 2,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 3,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 4,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 5,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 6,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 7,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 8,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 9,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 10,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 11,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 12,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 13,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 14,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 15,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 16,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 17,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 18,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 19,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 20,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 21,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 22,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 23,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 24,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 25,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 26,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 27,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 28,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 29,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 30,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 31,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 32,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 33,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 34,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 35,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 36,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 37,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 38,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 39,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 40,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 41,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 42,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 43,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 44,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 45,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 46,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 47,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 48,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 49,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 50,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 51,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 52,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 53,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 54,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 55,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 56,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 57,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 58,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 59,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 60,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 61,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 62,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 63,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 64,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 65,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 66,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 67,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 68,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 69,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 70,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 71,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 72,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 73,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 74,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 75,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 76,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 77,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 78,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 79,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 80,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 81,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 82,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 83,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 84,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 85,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 86,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 87,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 88,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 89,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 90,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 91,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 92,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 93,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 94,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 95,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 96,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 97,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 98,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 99,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 100,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 101,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 102,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 103,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 104,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 105,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 106,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 107,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 108,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 109,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 110,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 111,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 112,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 113,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 114,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 115,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 116,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 117,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 118,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 119,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 120,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 121,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 122,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 123,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 124,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 125,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 126,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 127,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 128,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 129,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 130,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 131,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 132,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 133,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 134,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 135,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 136,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 137,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 138,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 139,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 140,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 141,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 142,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 143,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 144,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 145,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 146,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 147,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 148,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 149,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
+ /* clang-format off */
+ struct expected_entry_status expected[150] =
+ {
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { HUGE_ENTRY_TYPE, 0, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 1, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 2, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 3, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 4, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 5, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 6, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 7, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 8, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 9, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 10, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 11, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 12, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 13, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 14, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 15, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 16, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 17, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 18, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 19, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 20, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 21, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 22, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 23, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 24, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 25, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 26, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 27, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 28, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 29, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 30, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 31, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 32, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 33, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 34, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 35, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 36, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 37, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 38, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 39, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 40, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 41, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 42, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 43, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 44, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 45, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 46, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 47, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 48, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 49, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 50, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 51, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 52, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 53, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 54, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 55, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 56, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 57, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 58, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 59, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 60, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 61, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 62, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 63, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 64, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 65, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 66, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 67, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 68, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 69, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 70, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 71, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 72, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 73, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 74, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 75, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 76, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 77, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 78, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 79, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 80, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 81, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 82, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 83, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 84, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 85, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 86, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 87, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 88, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 89, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 90, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 91, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 92, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 93, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 94, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 95, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 96, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 97, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 98, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 99, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 100, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 101, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 102, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 103, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 104, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 105, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 106, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 107, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 108, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 109, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 110, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 111, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 112, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 113, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 114, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 115, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 116, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 117, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 118, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 119, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 120, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 121, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 122, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 123, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 124, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 125, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 126, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 127, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 128, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 129, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 130, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 131, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 132, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 133, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 134, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 135, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 136, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 137, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 138, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 139, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 140, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 141, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 142, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 143, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 144, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 145, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 146, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 147, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 148, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 149, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE}
+ };
+ /* clang-format on */
pass = TRUE;
@@ -29507,7 +27063,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
} /* end else */
if (show_progress) /* 0 */
- HDfprintf(stdout, "\n%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "\n%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -29528,7 +27084,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
/* ========================================================================
* ========================================================================
@@ -29591,7 +27147,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
/* ========================================================================
* ========================================================================
@@ -29661,7 +27217,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -29715,13 +27271,13 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
/* Fill out the rest of the cache with entries */
/* Verify expected status of entries after each insertion */
- for (entry_idx = entry_idx; entry_idx < 50; entry_idx++) {
+ for (; entry_idx < 50; entry_idx++) {
if (fill_via_insertion) {
insert_entry(file_ptr, /* H5F_t * file_ptr */
@@ -29768,7 +27324,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
/* ========================================================================
* ========================================================================
@@ -29843,7 +27399,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -29855,7 +27411,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
* After each insertion, verify the expected status of the
* entries in the cache.
*/
- for (entry_idx = entry_idx; entry_idx < 100; entry_idx++) {
+ for (; entry_idx < 100; entry_idx++) {
if (fill_via_insertion) {
insert_entry(file_ptr, /* H5F_t * file_ptr */
@@ -29914,7 +27470,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
/* ========================================================================
* ========================================================================
@@ -29973,7 +27529,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -30021,7 +27577,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -30072,7 +27628,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 10 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
@@ -30118,7 +27674,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 11 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (cache_ptr) {
@@ -30128,7 +27684,7 @@ check_metadata_blizzard_absence(hbool_t fill_via_insertion, unsigned paged)
}
if (show_progress) /* 12 */
- HDfprintf(stdout, "%s: check point %d -- pass %d\n", FUNC, checkpoint++, pass);
+ HDfprintf(stdout, "%s: check point %d -- pass %d\n", __func__, checkpoint++, pass);
if (pass) {
PASSED();
@@ -30162,101 +27718,19 @@ check_flush_deps(unsigned paged)
test_entry_t *base_addr; /* Base address of entries for test */
int entry_type = PICO_ENTRY_TYPE; /* Use very small entry size (size of entries doesn't matter) */
unsigned u; /* Local index variable */
- struct expected_entry_status expected[5] = {
- /* entry entry in at main flush dep flush dep child flush flush flush
- */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {PICO_ENTRY_TYPE,
- 0,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 1,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 2,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 3,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 4,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
+
+ /* clang-format off */
+ struct expected_entry_status expected[5] =
+ {
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { PICO_ENTRY_TYPE, 0, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 1, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 2, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 3, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 4, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE}
+ };
+ /* clang-format on */
if (paged)
TESTING("flush dependencies (paged aggregation)")
@@ -32415,13 +29889,21 @@ done:
/*-------------------------------------------------------------------------
* Function: check_flush_deps_order()
*
- * Purpose: Verify that the order that entries with flush dependencies
+ * Purpose: Verify that the order that entries with flush dependencies
* is correct
*
- * Return: 0 on success, non-zero on failure
+ * Return: 0 on success, non-zero on failure
*
- * Programmer: Quincey Koziol
- * 3/17/09
+ * Programmer: Quincey Koziol
+ * 3/17/09
+ *
+ * Modifications:
+ *
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -32433,102 +29915,19 @@ check_flush_deps_order(unsigned paged)
H5C_t * cache_ptr = NULL; /* Metadata cache for this test */
int entry_type = PICO_ENTRY_TYPE; /* Use very small entry size (size of entries doesn't matter) */
unsigned u; /* Local index variable */
- struct expected_entry_status expected[5] = {
- /* entry entry in at main flush dep flush dep child flush flush flush
- */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {PICO_ENTRY_TYPE,
- 0,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 1,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 2,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 3,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {PICO_ENTRY_TYPE,
- 4,
- PICO_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
- unsigned flush_order; /* Index for tracking flush order */
+ unsigned flush_order; /* Index for tracking flush order */
+ /* clang-format off */
+ struct expected_entry_status expected[5] =
+ {
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { PICO_ENTRY_TYPE, 0, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 1, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 2, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 3, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { PICO_ENTRY_TYPE, 4, PICO_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE}
+ };
+ /* clang-format on */
if (paged)
TESTING("flush dependencies flush order (paged aggregation)")
@@ -32603,8 +30002,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -32618,8 +30015,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -32704,8 +30101,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -32731,8 +30126,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -32819,8 +30214,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -32850,8 +30243,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -32946,8 +30339,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -32977,8 +30368,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -33118,8 +30509,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -33167,8 +30556,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -33345,8 +30734,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -33394,8 +30781,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -33521,8 +30908,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -33560,8 +30945,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -33659,8 +31044,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -33698,8 +31081,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -33851,8 +31234,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -33903,8 +31284,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -34106,8 +31487,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -34159,8 +31538,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -34382,8 +31761,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -34435,8 +31812,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -34697,8 +32074,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -34746,8 +32121,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -35041,8 +32416,6 @@ check_flush_deps_order(unsigned paged)
/* Flush the cache and verify that the entries were flushed in correct order */
{
- herr_t result; /* Generic return value */
-
add_flush_op(entry_type, 0, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 1, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
add_flush_op(entry_type, 2, FLUSH_OP__ORDER, entry_type, 0, FALSE, (size_t)0, &flush_order);
@@ -35090,8 +32463,8 @@ check_flush_deps_order(unsigned paged)
/* Reset index for tracking flush order */
flush_order = 0;
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
- if (result < 0)
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "dummy mssg")
+ if (!pass)
CACHE_ERROR("flushing entries with flush dependendices")
/* Change expected values, and verify the status of the entries
@@ -35272,102 +32645,19 @@ check_notify_cb(unsigned paged)
test_entry_t *base_addr; /* Base address of entries for test */
test_entry_t *entry_ptr; /* Cache entry to examine/manipulate */
int entry_type = NOTIFY_ENTRY_TYPE; /* Use entry w/notify callback (size of entries doesn't matter) */
- unsigned u; /* Local index variable */
- struct expected_entry_status expected[5] = {
- /* entry entry in at main flush
- dep flush dep child flush flush flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {NOTIFY_ENTRY_TYPE,
- 0,
- NOTIFY_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {NOTIFY_ENTRY_TYPE,
- 1,
- NOTIFY_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {NOTIFY_ENTRY_TYPE,
- 2,
- NOTIFY_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {NOTIFY_ENTRY_TYPE,
- 3,
- NOTIFY_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {NOTIFY_ENTRY_TYPE,
- 4,
- NOTIFY_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
+ unsigned u; /* Local index variable */
+ /* clang-format off */
+ struct expected_entry_status expected[5] =
+ {
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { NOTIFY_ENTRY_TYPE, 0, NOTIFY_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { NOTIFY_ENTRY_TYPE, 1, NOTIFY_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { NOTIFY_ENTRY_TYPE, 2, NOTIFY_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { NOTIFY_ENTRY_TYPE, 3, NOTIFY_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { NOTIFY_ENTRY_TYPE, 4, NOTIFY_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE}
+ };
+ /* clang-format on */
if (paged)
TESTING("'notify' callback (paged)")
@@ -35585,2711 +32875,163 @@ check_metadata_cork(hbool_t fill_via_insertion, unsigned paged)
/* Set up the expected array. This is used to maintain a table of the
* expected status of every entry used in this test.
*/
- struct expected_entry_status expected[150] = {
- /* entry entry in at main flush
- dep flush dep child flush flush flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {HUGE_ENTRY_TYPE,
- 0,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 1,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 2,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 3,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 4,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 5,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 6,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 7,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 8,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 9,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 10,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 11,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 12,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 13,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 14,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 15,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 16,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 17,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 18,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 19,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 20,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 21,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 22,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 23,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 24,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 25,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 26,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 27,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 28,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 29,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 30,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 31,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 32,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 33,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 34,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 35,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 36,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 37,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 38,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 39,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 40,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 41,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 42,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 43,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 44,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 45,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 46,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 47,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 48,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 49,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 50,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 51,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 52,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 53,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 54,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 55,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 56,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 57,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 58,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 59,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 60,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 61,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 62,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 63,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 64,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 65,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 66,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 67,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 68,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 69,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 70,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 71,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 72,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 73,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 74,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 75,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 76,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 77,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 78,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 79,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 80,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 81,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 82,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 83,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 84,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 85,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 86,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 87,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 88,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 89,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 90,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 91,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 92,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 93,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 94,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 95,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 96,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 97,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 98,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 99,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 100,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 101,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 102,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 103,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 104,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 105,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 106,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 107,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 108,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 109,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 110,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 111,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 112,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 113,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 114,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 115,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 116,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 117,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 118,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 119,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 120,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 121,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 122,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 123,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 124,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 125,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 126,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 127,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 128,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 129,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 130,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 131,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 132,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 133,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 134,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 135,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 136,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 137,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 138,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 139,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 140,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 141,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 142,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 143,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 144,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 145,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 146,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 147,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 148,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 149,
- HUGE_ENTRY_SIZE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- FALSE,
- {0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
+ /* clang-format off */
+ struct expected_entry_status expected[150] =
+ {
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { HUGE_ENTRY_TYPE, 0, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 1, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 2, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 3, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 4, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 5, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 6, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 7, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 8, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 9, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 10, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 11, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 12, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 13, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 14, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 15, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 16, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 17, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 18, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 19, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 20, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 21, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 22, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 23, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 24, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 25, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 26, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 27, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 28, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 29, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 30, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 31, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 32, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 33, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 34, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 35, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 36, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 37, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 38, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 39, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 40, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 41, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 42, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 43, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 44, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 45, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 46, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 47, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 48, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 49, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 50, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 51, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 52, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 53, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 54, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 55, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 56, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 57, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 58, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 59, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 60, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 61, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 62, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 63, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 64, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 65, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 66, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 67, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 68, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 69, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 70, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 71, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 72, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 73, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 74, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 75, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 76, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 77, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 78, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 79, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 80, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 81, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 82, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 83, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 84, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 85, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 86, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 87, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 88, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 89, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 90, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 91, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 92, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 93, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 94, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 95, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 96, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 97, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 98, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 99, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 100, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 101, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 102, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 103, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 104, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 105, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 106, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 107, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 108, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 109, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 110, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 111, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 112, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 113, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 114, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 115, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 116, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 117, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 118, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 119, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 120, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 121, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 122, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 123, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 124, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 125, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 126, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 127, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 128, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 129, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 130, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 131, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 132, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 133, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 134, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 135, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 136, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 137, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 138, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 139, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 140, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 141, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 142, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 143, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 144, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 145, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 146, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 147, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 148, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 149, HUGE_ENTRY_SIZE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE}
+ } ;
+ /* clang-format on */
pass = TRUE;
@@ -38481,7 +33223,7 @@ check_metadata_cork(hbool_t fill_via_insertion, unsigned paged)
/* Fill out the rest of the cache with entries */
/* Verify expected status of entries after each insertion */
- for (entry_idx = entry_idx; entry_idx < 50; entry_idx++) {
+ for (; entry_idx < 50; entry_idx++) {
if (fill_via_insertion) {
insert_entry(file_ptr, /* H5F_t * file_ptr */
@@ -38542,7 +33284,7 @@ check_metadata_cork(hbool_t fill_via_insertion, unsigned paged)
if (pass) {
/* Insert 50 more entries (indices 50-99) into the cache. */
- for (entry_idx = entry_idx; entry_idx < 100; entry_idx++) {
+ for (; entry_idx < 100; entry_idx++) {
if (fill_via_insertion) {
insert_entry(file_ptr, /* H5F_t * file_ptr */
@@ -38902,7 +33644,7 @@ check_entry_deletions_during_scans(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return (unsigned)!pass;
@@ -38910,30 +33652,35 @@ check_entry_deletions_during_scans(unsigned paged)
} /* check_entry_deletions_during_scans() */
/*-------------------------------------------------------------------------
+ *
* Function: cedds__expunge_dirty_entry_in_flush_test()
*
- * Purpose: Verify that H5C_flush_cache() can handle the removal of
- * a dirty entry from the cache during its scan of the
- * skip list.
+ * Purpose: Verify that H5C_flush_cache() can handle the removal of
+ * a dirty entry from the cache during its scan of the
+ * skip list.
*
- * Do this by setting up a full cache, with the last entry
- * on the LRU being both dirty and having a flush operation
- * that deletes the second to last entry on the LRU. Then
- * flush the cache, triggering the flush of the last
- * item, and thereby the deletion of the second to last item.
+ * Do this by setting up a full cache, with the last entry
+ * on the LRU being both dirty and having a flush operation
+ * that deletes the second to last entry on the LRU. Then
+ * flush the cache, triggering the flush of the last
+ * item, and thereby the deletion of the second to last item.
*
- * H5C_flush_cache() should handle this deletion gracefully.
+ * H5C_flush_cache() should handle this deletion gracefully.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/4/15
*
* Modifications:
*
- * None.
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -38941,92 +33688,24 @@ check_entry_deletions_during_scans(unsigned paged)
static void
cedds__expunge_dirty_entry_in_flush_test(H5F_t *file_ptr)
{
- H5C_t * cache_ptr = file_ptr->shared->cache;
- int i;
- herr_t result;
- struct expected_entry_status expected[36] = {
- /* the expected array is used to maintain a table of the expected status of every
- * entry used in this test. Note that since the function that processes this
- * array only processes as much of it as it is told to, we don't have to
- * worry about maintaining the status of entries that we haven't used yet.
- */
- /* entry entry in at main flush dep flush dep child flush flush
- flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked:
- */
- {HUGE_ENTRY_TYPE,
- 0,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 1,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 2,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 3,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE}};
+ H5C_t *cache_ptr = file_ptr->shared->cache;
+ int i;
+ /* clang-format off */
+ struct expected_entry_status expected[36] =
+ {
+ /* the expected array is used to maintain a table of the expected status of every
+ * entry used in this test. Note that since the function that processes this
+ * array only processes as much of it as it is told to, we don't have to
+ * worry about maintaining the status of entries that we haven't used yet.
+ */
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { HUGE_ENTRY_TYPE, 0, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 1, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 2, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 3, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE}
+ };
+ /* clang-format on */
if (pass) {
@@ -39109,15 +33788,15 @@ cedds__expunge_dirty_entry_in_flush_test(H5F_t *file_ptr)
* are in cache with the following characteristics:
*
* in
- * entry: cache? size: dirty? pinned? pins: flush operations:
+ * entry: cache? size: dirty? pinned? pins: flush operations:
*
- * (HET, 0) Y 16 KB Y N - expunge (HET 1)
+ * (HET, 0) Y 16 KB Y N - expunge (HET 1)
*
- * (HET, 1) Y 16 KB Y N - -
+ * (HET, 1) Y 16 KB Y N - -
*
- * (HET, 2) Y 16 KB Y N - -
+ * (HET, 2) Y 16 KB Y N - -
*
- * (HET, 3) Y 16 KB Y N - -
+ * (HET, 3) Y 16 KB Y N - -
*
* Recall that in this test bed, flush operations are excuted the
* first time the associated entry is flushed, and are then
@@ -39132,14 +33811,10 @@ cedds__expunge_dirty_entry_in_flush_test(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush inval failed in cedds expunge dirty entry in flush test")
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed in cedds expunge dirty entry in flush test";
- }
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after cedds expunge dirty entry in flush test";
@@ -39185,37 +33860,39 @@ cedds__expunge_dirty_entry_in_flush_test(H5F_t *file_ptr)
/* reset cache min clean size to its expected value */
cache_ptr->min_clean_size = (1 * 1024 * 1024);
- return;
-
} /* cedds__expunge_dirty_entry_in_flush_test() */
/*-------------------------------------------------------------------------
* Function: cedds__H5C_make_space_in_cache()
*
- * Purpose: Verify that H5C__make_space_in_cache() can handle the
- * removal from the cache of the next item in its reverse scan
- * of the LRU list.
+ * Purpose: Verify that H5C__make_space_in_cache() can handle the
+ * removal from the cache of the next item in its reverse scan
+ * of the LRU list.
*
- * Do this by setting up a full cache, with the last entry
- * on the LRU being both dirty and having a flush operation
- * that deleted the second to last entry on the LRU. Then
- * load an additional entry, triggering the flush of the last
- * item, and thereby the deletion of the second to last item.
+ * Do this by setting up a full cache, with the last entry
+ * on the LRU being both dirty and having a flush operation
+ * that deleted the second to last entry on the LRU. Then
+ * load an additional entry, triggering the flush of the last
+ * item, and thereby the deletion of the second to last item.
*
- * H5C__make_space_in_cache() should detect this deletion, and
- * restart its scan of the LRU from the tail, instead of
- * examining the now deleted next item up on the LRU.
+ * H5C__make_space_in_cache() should detect this deletion, and
+ * restart its scan of the LRU from the tail, instead of
+ * examining the now deleted next item up on the LRU.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/4/15
*
* Modifications:
*
- * None.
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -39223,670 +33900,58 @@ cedds__expunge_dirty_entry_in_flush_test(H5F_t *file_ptr)
static void
cedds__H5C_make_space_in_cache(H5F_t *file_ptr)
{
- H5C_t * cache_ptr = file_ptr->shared->cache;
- int i;
- const int num_huge_entries = 4;
- const int num_monster_entries = 32;
- herr_t result;
- struct expected_entry_status expected[36] = {
- /* the expected array is used to maintain a table of the expected status of every
- * entry used in this test. Note that since the function that processes this
- * array only processes as much of it as it is told to, we don't have to
- * worry about maintaining the status of entries that we haven't used yet.
- */
- /* entry entry in at main flush dep flush dep child flush flush
- flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {HUGE_ENTRY_TYPE,
- 0,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 1,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 2,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {HUGE_ENTRY_TYPE,
- 3,
- HUGE_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 0,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 1,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 2,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 3,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 4,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 5,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 6,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 7,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 8,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 9,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 10,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 11,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 12,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 13,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 14,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 15,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 16,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 17,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 18,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 19,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 20,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 21,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 22,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 23,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 24,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 25,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 26,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 27,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 28,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 29,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 30,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 31,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
+ H5C_t * cache_ptr = file_ptr->shared->cache;
+ int i;
+ const int num_huge_entries = 4;
+ const int num_monster_entries = 32;
+ /* clang-format off */
+ struct expected_entry_status expected[36] =
+ {
+ /* the expected array is used to maintain a table of the expected status of every
+ * entry used in this test. Note that since the function that processes this
+ * array only processes as much of it as it is told to, we don't have to
+ * worry about maintaining the status of entries that we haven't used yet.
+ */
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { HUGE_ENTRY_TYPE, 0, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 1, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 2, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { HUGE_ENTRY_TYPE, 3, HUGE_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 0, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 1, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 2, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 3, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 4, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 5, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 6, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 7, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 8, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 9, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 10, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 11, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 12, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 13, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 14, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 15, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 16, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 17, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 18, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 19, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 20, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 21, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 22, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 23, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 24, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 25, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 26, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 27, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 28, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 29, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 30, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 31, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
};
+ /* clang-format on */
if (pass) {
@@ -40077,14 +34142,10 @@ cedds__H5C_make_space_in_cache(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush invalidate failed after flush op eviction test")
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed after flush op eviction test";
- }
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after cleanup of flush op eviction test";
@@ -40157,37 +34218,39 @@ cedds__H5C_make_space_in_cache(H5F_t *file_ptr)
/* reset cache min clean size to its expected value */
cache_ptr->min_clean_size = (1 * 1024 * 1024);
- return;
-
} /* cedds__H5C_make_space_in_cache() */
/*-------------------------------------------------------------------------
* Function: cedds__H5C__autoadjust__ageout__evict_aged_out_entries()
*
- * Purpose: Verify that H5C__autoadjust__ageout__evict_aged_out_entries()
- * can handle the removal from the cache of the next item in
- * its reverse scan of the LRU list.
+ * Purpose: Verify that H5C__autoadjust__ageout__evict_aged_out_entries()
+ * can handle the removal from the cache of the next item in
+ * its reverse scan of the LRU list.
*
- * Do this by setting up a full cache, with the last entry
- * on the LRU being both dirty and having a flush operation
- * that deletes the second to last entry on the LRU. Then
- * access the first item in the LRU repeatedly until the
- * item, and thereby the deletion of the second to last item.
+ * Do this by setting up a full cache, with the last entry
+ * on the LRU being both dirty and having a flush operation
+ * that deletes the second to last entry on the LRU. Then
+ * access the first item in the LRU repeatedly until the
+ * item, and thereby the deletion of the second to last item.
*
- * H5C__make_space_in_cache() should detect this deletion, and
- * restart its scan of the LRU from the tail, instead of
- * examining the now deleted next item up on the LRU.
+ * H5C__make_space_in_cache() should detect this deletion, and
+ * restart its scan of the LRU from the tail, instead of
+ * examining the now deleted next item up on the LRU.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/4/15
*
* Modifications:
*
- * None.
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -40195,596 +34258,53 @@ cedds__H5C_make_space_in_cache(H5F_t *file_ptr)
static void
cedds__H5C__autoadjust__ageout__evict_aged_out_entries(H5F_t *file_ptr)
{
- H5C_t * cache_ptr = file_ptr->shared->cache;
- int i;
- herr_t result;
- struct expected_entry_status expected[36] = {
- /* the expected array is used to maintain a table of the expected status of every
- * entry used in this test. Note that since the function that processes this
- * array only processes as much of it as it is told to, we don't have to
- * worry about maintaining the status of entries that we haven't used yet.
- */
- /* entry entry in at main flush dep flush dep child flush flush
- flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
- {MONSTER_ENTRY_TYPE,
- 0,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 1,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 2,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 3,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 4,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 5,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 6,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 7,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 8,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 9,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 10,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 11,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 12,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 13,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 14,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 15,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 16,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 17,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 18,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 19,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 20,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 21,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 22,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 23,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 24,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 25,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 26,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 27,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 28,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 29,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 30,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 31,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, -1, -1, -1, -1, -1, -1, -1},
- {-1, -1, -1, -1, -1, -1, -1, -1},
- 0,
- 0,
- 0,
- -1,
- FALSE},
+ H5C_t *cache_ptr = file_ptr->shared->cache;
+ int i;
+ herr_t result;
+ /* clang-format off */
+ struct expected_entry_status expected[36] =
+ {
+ /* the expected array is used to maintain a table of the expected status of every
+ * entry used in this test. Note that since the function that processes this
+ * array only processes as much of it as it is told to, we don't have to
+ * worry about maintaining the status of entries that we haven't used yet.
+ */
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { MONSTER_ENTRY_TYPE, 0, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 1, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 2, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 3, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 4, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 5, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 6, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 7, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 8, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 9, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 10, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 11, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 12, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 13, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 14, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 15, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 16, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 17, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 18, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 19, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 20, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 21, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 22, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 23, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 24, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 25, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 26, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 27, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 28, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 29, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 30, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 31, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,-1,-1,-1,-1,-1,-1,-1}, {-1,-1,-1,-1,-1,-1,-1,-1}, 0, 0, 0, -1, FALSE},
};
+ /* clang-format on */
H5C_auto_size_ctl_t saved_auto_size_ctl;
H5C_auto_size_ctl_t test_auto_size_ctl = {
/* int32_t version = */ H5C__CURR_AUTO_SIZE_CTL_VER,
@@ -41038,14 +34558,10 @@ cedds__H5C__autoadjust__ageout__evict_aged_out_entries(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush invalidate failed after flush op eviction test")
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed after flush op eviction test";
- }
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after cleanup of flush op eviction test";
@@ -41098,98 +34614,100 @@ cedds__H5C__autoadjust__ageout__evict_aged_out_entries(H5F_t *file_ptr)
/* reset cache min clean size to its expected value */
cache_ptr->min_clean_size = (1 * 1024 * 1024);
- return;
-
} /* cedds__H5C__autoadjust__ageout__evict_aged_out_entries() */
/*-------------------------------------------------------------------------
* Function: cedds__H5C_flush_invalidate_cache__bucket_scan()
*
- * Purpose: Note: We now use the index list when we scan the
- * contents of the metadata cache, so in principal,
- * this test is obsolete. However, even using the
- * index list, restarts are possible, and must be
- * handled gracefully.
- *
- * As it turns out, this test triggers index list
- * scan restarts, and thus with minor changes is
- * still a useful test.
- *
- * For this reason, with the exception of changing
- * to check the index_scan_restart stat instead of
- * hash bucket restarts, I'm leaving the test
- * alone. If and when it starts to fail due to
- * other changes, we can re-work it to test
- * index list scan restarts explicitly.
- *
- * JRM -- 11/2/16
- *
- * Verify that H5C_flush_invalidate_cache() can handle
- * the removal from the cache of the next item in
- * its scans of hash buckets.
- *
- * !!!!!!!!!!WARNING !!!!!!!!!!
- *
- * This test may fail to function correctly if the hash
- * table size or hash function is altered.
- *
- * To setup the test, this function depends on the fact that
- * H5C_flush_invalidate_cache() does alternating scans of the
- * slist and the index. If this changes, the test will likely
- * also cease to function correctly.
- *
- * The test relies on a known hash function and hash table
- * size to select a set of test entries that will all hash
- * to the same hash bucket -- call it the test hash bucket.
- * It also relies on known behavior of the cache to place
- * the entries in the test bucket in a known order.
- *
- * To avoid pre-mature flushes of the entries in the
- * test hash bucket, all entries are initially clean,
- * with the exception of the first entry which is dirty.
- * It avoids premature flushing by being the parent in
- * a flush dependency. The first entry in the test bucket
- * also has a flush op which expunges the second entry --
- * setting up the failure.
- *
- * An additional dirty entry is added (which must hash
- * to a different bucket, and must have a higher address
- * than at least the first entry in the test hash bucket.
- * This entry is the child in a flush dependency with the
- * first entry in the above hash bucket, and contains
- * a flush op to destroy this flush dependency.
- *
- * Since the first entry in the test hash bucket has a lower
- * address that the other dirty entry, the scan of the
- * slist encounters it first, and passes over it because
- * it has a flush dependency height of 1.
- *
- * The scan then encounters the second dirty entry and flushes
- * it -- causing it to destroy the flush dependency and thus
- * reducing the flush dependency height of the first entry in
- * the test hash bucket to zero.
- *
- * After completing a scan of the slist,
- * H5C_flush_invalidate_cache() then scans the index,
- * flushing all entries of flush dependency height zero.
- *
- * This sets up the potential error when the first entry
- * in the test hash bucket is flushed -- expunging the
- * second entry as a side effect. If
- * H5C_flush_invalidate_cache() fails to detect this,
- * it will attempt to continue its scan of the bucket with
- * an entry that has been deleted from the cache.
+ * Purpose: Note: We now use the index list when we scan the
+ * contents of the metadata cache, so in principal,
+ * this test is obsolete. However, even using the
+ * index list, restarts are possible, and must be
+ * handled gracefully.
+ *
+ * As it turns out, this test triggers index list
+ * scan restarts, and thus with minor changes is
+ * still a useful test.
+ *
+ * For this reason, with the exception of changing
+ * to check the index_scan_restart stat instead of
+ * hash bucket restarts, I'm leaving the test
+ * alone. If and when it starts to fail due to
+ * other changes, we can re-work it to test
+ * index list scan restarts explicitly.
+ *
+ * JRM -- 11/2/16
+ *
+ * Verify that H5C_flush_invalidate_cache() can handle
+ * the removal from the cache of the next item in
+ * its scans of hash buckets.
+ *
+ * !!!!!!!!!!WARNING !!!!!!!!!!
+ *
+ * This test may fail to function correctly if the hash
+ * table size or hash function is altered.
+ *
+ * To setup the test, this function depends on the fact that
+ * H5C_flush_invalidate_cache() does alternating scans of the
+ * slist and the index. If this changes, the test will likely
+ * also cease to function correctly.
+ *
+ * The test relies on a known hash function and hash table
+ * size to select a set of test entries that will all hash
+ * to the same hash bucket -- call it the test hash bucket.
+ * It also relies on known behavior of the cache to place
+ * the entries in the test bucket in a known order.
+ *
+ * To avoid pre-mature flushes of the entries in the
+ * test hash bucket, all entries are initially clean,
+ * with the exception of the first entry which is dirty.
+ * It avoids premature flushing by being the parent in
+ * a flush dependency. The first entry in the test bucket
+ * also has a flush op which expunges the second entry --
+ * setting up the failure.
+ *
+ * An additional dirty entry is added (which must hash
+ * to a different bucket, and must have a higher address
+ * than at least the first entry in the test hash bucket.
+ * This entry is the child in a flush dependency with the
+ * first entry in the above hash bucket, and contains
+ * a flush op to destroy this flush dependency.
+ *
+ * Since the first entry in the test hash bucket has a lower
+ * address that the other dirty entry, the scan of the
+ * slist encounters it first, and passes over it because
+ * it has a flush dependency height of 1.
+ *
+ * The scan then encounters the second dirty entry and flushes
+ * it -- causing it to destroy the flush dependency and thus
+ * reducing the flush dependency height of the first entry in
+ * the test hash bucket to zero.
+ *
+ * After completing a scan of the slist,
+ * H5C_flush_invalidate_cache() then scans the index,
+ * flushing all entries of flush dependency height zero.
+ *
+ * This sets up the potential error when the first entry
+ * in the test hash bucket is flushed -- expunging the
+ * second entry as a side effect. If
+ * H5C_flush_invalidate_cache() fails to detect this,
+ * it will attempt to continue its scan of the bucket with
+ * an entry that has been deleted from the cache.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/9/15
*
* Modifications:
*
- * None.
+ * Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -41197,116 +34715,30 @@ cedds__H5C__autoadjust__ageout__evict_aged_out_entries(H5F_t *file_ptr)
static void
cedds__H5C_flush_invalidate_cache__bucket_scan(H5F_t *file_ptr)
{
- H5C_t * cache_ptr = file_ptr->shared->cache;
- int i;
- int expected_hash_bucket = 0;
- herr_t result;
- haddr_t entry_addr;
- test_entry_t * entry_ptr;
- test_entry_t * base_addr = NULL;
- struct H5C_cache_entry_t * scan_ptr;
- struct expected_entry_status expected[5] = {
- /* the expected array is used to maintain a table of the expected status of every
- * entry used in this test. Note that since the function that processes this
- * array only processes as much of it as it is told to, we don't have to
- * worry about maintaining the status of entries that we haven't used yet.
- */
- /* entry entry in at main flush dep flush dep child flush flush
- flush */
- /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd:
- srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked:
- */
- {MONSTER_ENTRY_TYPE,
- 0,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- {-1, 0, 0, 0, 0, 0, 0, 0},
- {-1, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 1,
- 1,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 8,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, 0, 0, 0, 0, 0, 0, 0},
- {-1, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 16,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, 0, 0, 0, 0, 0, 0, 0},
- {-1, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 24,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {-1, 0, 0, 0, 0, 0, 0, 0},
- {-1, 0, 0, 0, 0, 0, 0, 0},
- 0,
- 0,
- 0,
- -1,
- FALSE},
- {MONSTER_ENTRY_TYPE,
- 31,
- MONSTER_ENTRY_SIZE,
- TRUE,
- TRUE,
- TRUE,
- FALSE,
- FALSE,
- TRUE,
- FALSE,
- FALSE,
- {MONSTER_ENTRY_TYPE, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0},
- 1,
- 0,
- 0,
- -1,
- FALSE},
+ H5C_t * cache_ptr = file_ptr->shared->cache;
+ int i;
+ int expected_hash_bucket = 0;
+ haddr_t entry_addr;
+ test_entry_t * entry_ptr;
+ test_entry_t * base_addr = NULL;
+ struct H5C_cache_entry_t *scan_ptr;
+ /* clang-format off */
+ struct expected_entry_status expected[5] =
+ {
+ /* the expected array is used to maintain a table of the expected status of every
+ * entry used in this test. Note that since the function that processes this
+ * array only processes as much of it as it is told to, we don't have to
+ * worry about maintaining the status of entries that we haven't used yet.
+ */
+ /* entry entry in at main flush dep flush dep child flush flush flush */
+ /* type: index: size: cache: addr: dirty: prot: pinned: dsrlzd: srlzd: dest: par type[]: par idx[]: dep npart: dep nchd: dep ndirty chd: order: corked: */
+ { MONSTER_ENTRY_TYPE, 0, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, {-1,0,0,0,0,0,0,0}, {-1,0,0,0,0,0,0,0}, 0, 1, 1, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 8, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,0,0,0,0,0,0,0}, {-1,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 16, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,0,0,0,0,0,0,0}, {-1,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 24, MONSTER_ENTRY_SIZE, TRUE, TRUE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, {-1,0,0,0,0,0,0,0}, {-1,0,0,0,0,0,0,0}, 0, 0, 0, -1, FALSE},
+ { MONSTER_ENTRY_TYPE, 31, MONSTER_ENTRY_SIZE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, {MONSTER_ENTRY_TYPE,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, 1, 0, 0, -1, FALSE},
};
+ /* clang-format on */
if (pass) {
@@ -41499,14 +34931,10 @@ cedds__H5C_flush_invalidate_cache__bucket_scan(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush invalidate failed after flush op eviction test")
- if (result < 0) {
-
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed after flush op eviction test";
- }
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after cleanup of flush op eviction test";
@@ -41562,8 +34990,6 @@ cedds__H5C_flush_invalidate_cache__bucket_scan(H5F_t *file_ptr)
/* reset cache min clean size to its expected value */
cache_ptr->min_clean_size = (1 * 1024 * 1024);
- return;
-
} /* cedds__H5C_flush_invalidate_cache__bucket_scan() */
/*-------------------------------------------------------------------------
@@ -41629,7 +35055,7 @@ check_stats(unsigned paged)
if (!pass) {
- HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s(): failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
#else /* H5C_COLLECT_CACHE_STATS */
@@ -41647,26 +35073,34 @@ check_stats(unsigned paged)
/*-------------------------------------------------------------------------
* Function: check_stats__smoke_check_1()
*
- * Purpose: Test to see if the statistics collection code is working
- * more or less as expected. Do this by performing a number
- * of operations in the cache, and checking to verify that
- * they result in the expected statistics.
+ * Purpose: Test to see if the statistics collection code is working
+ * more or less as expected. Do this by performing a number
+ * of operations in the cache, and checking to verify that
+ * they result in the expected statistics.
*
- * Note that this function is not intended to be a full test
- * of the statistics collection facility -- only a cursory
- * check that will serve as a place holder until more complete
- * tests are implemented.
+ * Note that this function is not intended to be a full test
+ * of the statistics collection facility -- only a cursory
+ * check that will serve as a place holder until more complete
+ * tests are implemented.
*
* Do nothing if pass is FALSE on entry.
*
- * Return: void
+ * Return: void
*
- * Programmer: John Mainzer
+ * Programmer: John Mainzer
* 4/22/15
*
* Modifications:
*
- * None.
+ * Modified slist stats checks to allow for the case that
+ * the slist is disabled.
+ *
+ * Also added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via the
+ * H5C_FLUSH_CACHE macro.
+ *
+ * JRM -- 5/14/20
+ *
*
*-------------------------------------------------------------------------
*/
@@ -41676,7 +35110,6 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
{
H5C_t *cache_ptr = file_ptr->shared->cache;
int i;
- herr_t result;
if (pass) {
if (cache_ptr == NULL) {
@@ -41736,13 +35169,15 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
failure_mssg = "Unexpected monster size entry stats in check_stats__smoke_check_1(1).";
} /* end if */
- if (pass)
+ if (pass) {
+
if ((cache_ptr->total_ht_insertions != 32) || (cache_ptr->total_ht_deletions != 0) ||
(cache_ptr->successful_ht_searches != 0) || (cache_ptr->total_successful_ht_search_depth != 0) ||
(cache_ptr->failed_ht_searches != 32) || (cache_ptr->total_failed_ht_search_depth != 48) ||
(cache_ptr->max_index_len != 32) || (cache_ptr->max_index_size != 2 * 1024 * 1024) ||
(cache_ptr->max_clean_index_size != 0) || (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) ||
- (cache_ptr->max_slist_len != 32) || (cache_ptr->max_slist_size != 2 * 1024 * 1024) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->max_slist_len != 32) || (cache_ptr->max_slist_size != 2 * 1024 * 1024))) ||
(cache_ptr->max_pl_len != 0) || (cache_ptr->max_pl_size != 0) || (cache_ptr->max_pel_len != 0) ||
(cache_ptr->max_pel_size != 0) || (cache_ptr->calls_to_msic != 0) ||
(cache_ptr->total_entries_skipped_in_msic != 0) ||
@@ -41754,6 +35189,7 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
pass = FALSE;
failure_mssg = "Unexpected cache stats in check_stats__smoke_check_1(1).";
} /* end if */
+ }
#if H5C_COLLECT_CACHE_ENTRY_STATS
if (pass)
@@ -41806,17 +35242,19 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
failure_mssg = "Unexpected monster size entry stats in check_stats__smoke_check_1(2).";
} /* end if */
- if (pass)
+ if (pass) {
+
if ((cache_ptr->total_ht_insertions != 32) || (cache_ptr->total_ht_deletions != 0) ||
(cache_ptr->successful_ht_searches != 32) ||
(cache_ptr->total_successful_ht_search_depth != 96) || (cache_ptr->failed_ht_searches != 32) ||
(cache_ptr->total_failed_ht_search_depth != 48) || (cache_ptr->max_index_len != 32) ||
(cache_ptr->max_index_size != 2 * 1024 * 1024) || (cache_ptr->max_clean_index_size != 0) ||
- (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) || (cache_ptr->max_slist_len != 32) ||
- (cache_ptr->max_slist_size != 2 * 1024 * 1024) || (cache_ptr->max_pl_len != 1) ||
- (cache_ptr->max_pl_size != 64 * 1024) || (cache_ptr->max_pel_len != 0) ||
- (cache_ptr->max_pel_size != 0) || (cache_ptr->calls_to_msic != 0) ||
- (cache_ptr->total_entries_skipped_in_msic != 0) ||
+ (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->max_slist_len != 32) || (cache_ptr->max_slist_size != 2 * 1024 * 1024))) ||
+ (cache_ptr->max_pl_len != 1) || (cache_ptr->max_pl_size != 64 * 1024) ||
+ (cache_ptr->max_pel_len != 0) || (cache_ptr->max_pel_size != 0) ||
+ (cache_ptr->calls_to_msic != 0) || (cache_ptr->total_entries_skipped_in_msic != 0) ||
(cache_ptr->total_entries_scanned_in_msic != 0) ||
(cache_ptr->max_entries_skipped_in_msic != 0) || (cache_ptr->max_entries_scanned_in_msic != 0) ||
(cache_ptr->entries_scanned_to_make_space != 0) || (cache_ptr->slist_scan_restarts != 0) ||
@@ -41825,6 +35263,7 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
pass = FALSE;
failure_mssg = "Unexpected cache stats in check_stats__smoke_check_1(2).";
} /* end if */
+ }
#if H5C_COLLECT_CACHE_ENTRY_STATS
if (pass)
@@ -41877,18 +35316,20 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
failure_mssg = "Unexpected monster size entry stats in check_stats__smoke_check_1(3).";
} /* end if */
- if (pass)
+ if (pass) {
+
if ((cache_ptr->total_ht_insertions != 33) || (cache_ptr->total_ht_deletions != 1) ||
(cache_ptr->successful_ht_searches != 32) ||
(cache_ptr->total_successful_ht_search_depth != 96) || (cache_ptr->failed_ht_searches != 33) ||
(cache_ptr->total_failed_ht_search_depth != 52) || (cache_ptr->max_index_len != 32) ||
(cache_ptr->max_index_size != 2 * 1024 * 1024) ||
(cache_ptr->max_clean_index_size != 2 * 1024 * 1024) ||
- (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) || (cache_ptr->max_slist_len != 32) ||
- (cache_ptr->max_slist_size != 2 * 1024 * 1024) || (cache_ptr->max_pl_len != 1) ||
- (cache_ptr->max_pl_size != 64 * 1024) || (cache_ptr->max_pel_len != 0) ||
- (cache_ptr->max_pel_size != 0) || (cache_ptr->calls_to_msic != 1) ||
- (cache_ptr->total_entries_skipped_in_msic != 0) ||
+ (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->max_slist_len != 32) || (cache_ptr->max_slist_size != 2 * 1024 * 1024))) ||
+ (cache_ptr->max_pl_len != 1) || (cache_ptr->max_pl_size != 64 * 1024) ||
+ (cache_ptr->max_pel_len != 0) || (cache_ptr->max_pel_size != 0) ||
+ (cache_ptr->calls_to_msic != 1) || (cache_ptr->total_entries_skipped_in_msic != 0) ||
(cache_ptr->total_entries_scanned_in_msic != 33) ||
(cache_ptr->max_entries_skipped_in_msic != 0) || (cache_ptr->max_entries_scanned_in_msic != 33) ||
(cache_ptr->entries_scanned_to_make_space != 33) || (cache_ptr->slist_scan_restarts != 0) ||
@@ -41897,6 +35338,7 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
pass = FALSE;
failure_mssg = "Unexpected cache stats in check_stats__smoke_check_1(3).";
} /* end if */
+ }
#if H5C_COLLECT_CACHE_ENTRY_STATS
if (pass)
@@ -41926,14 +35368,10 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
if (pass) {
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
-
- if (result < 0) {
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG,
+ "Cache flush invalidate failed in check_stats__smoke_check_1()")
- pass = FALSE;
- failure_mssg = "Cache flush invalidate failed in check_stats__smoke_check_1()";
- } /* end if */
- else if ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0)) {
+ if ((pass) && ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0))) {
pass = FALSE;
failure_mssg = "Unexpected cache len/size after check_stats__smoke_check_1()";
@@ -41967,18 +35405,20 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
failure_mssg = "Unexpected monster size entry stats in check_stats__smoke_check_1(4).";
} /* end if */
- if (pass)
+ if (pass) {
+
if ((cache_ptr->total_ht_insertions != 33) || (cache_ptr->total_ht_deletions != 33) ||
(cache_ptr->successful_ht_searches != 33) ||
(cache_ptr->total_successful_ht_search_depth != 99) || (cache_ptr->failed_ht_searches != 33) ||
(cache_ptr->total_failed_ht_search_depth != 52) || (cache_ptr->max_index_len != 32) ||
(cache_ptr->max_index_size != 2 * 1024 * 1024) ||
(cache_ptr->max_clean_index_size != 2 * 1024 * 1024) ||
- (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) || (cache_ptr->max_slist_len != 32) ||
- (cache_ptr->max_slist_size != 2 * 1024 * 1024) || (cache_ptr->max_pl_len != 1) ||
- (cache_ptr->max_pl_size != 64 * 1024) || (cache_ptr->max_pel_len != 0) ||
- (cache_ptr->max_pel_size != 0) || (cache_ptr->calls_to_msic != 1) ||
- (cache_ptr->total_entries_skipped_in_msic != 0) ||
+ (cache_ptr->max_dirty_index_size != 2 * 1024 * 1024) ||
+ ((cache_ptr->slist_enabled) &&
+ ((cache_ptr->max_slist_len != 32) || (cache_ptr->max_slist_size != 2 * 1024 * 1024))) ||
+ (cache_ptr->max_pl_len != 1) || (cache_ptr->max_pl_size != 64 * 1024) ||
+ (cache_ptr->max_pel_len != 0) || (cache_ptr->max_pel_size != 0) ||
+ (cache_ptr->calls_to_msic != 1) || (cache_ptr->total_entries_skipped_in_msic != 0) ||
(cache_ptr->total_entries_scanned_in_msic != 33) ||
(cache_ptr->max_entries_skipped_in_msic != 0) || (cache_ptr->max_entries_scanned_in_msic != 33) ||
(cache_ptr->entries_scanned_to_make_space != 33) || (cache_ptr->slist_scan_restarts != 0) ||
@@ -41987,6 +35427,7 @@ check_stats__smoke_check_1(H5F_t *file_ptr)
pass = FALSE;
failure_mssg = "Unexpected cache stats in check_stats__smoke_check_1(4).";
} /* end if */
+ }
#if H5C_COLLECT_CACHE_ENTRY_STATS
if (pass)
@@ -42094,7 +35535,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
hid_t fcpl_id = H5P_DEFAULT;
if (show_progress) /* 1 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
saved_fid = -1;
@@ -42137,7 +35578,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
}
if (show_progress) /* 2 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass && try_core_file_driver) {
if ((fapl_id = H5Pcreate(H5P_FILE_ACCESS)) == FAIL) {
@@ -42154,7 +35595,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
core_file_driver_failed = TRUE;
if (verbose)
- HDfprintf(stdout, "%s: H5Fcreate() with CFD failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5Fcreate() with CFD failed.\n", __func__);
}
else {
saved_fapl_id = fapl_id;
@@ -42162,7 +35603,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
}
if (show_progress) /* 3 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
/* if we either aren't using the core file driver, or a create
* with the core file driver failed, try again with a regular file.
@@ -42177,7 +35618,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "H5Fcreate() failed.";
if (verbose)
- HDfprintf(stdout, "%s: H5Fcreate() failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5Fcreate() failed.\n", __func__);
} /* end if */
} /* end if */
@@ -42185,7 +35626,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
H5CX_push();
if (show_progress) /* 4 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
HDassert(fid >= 0);
@@ -42195,7 +35636,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "H5Fflush() failed.";
if (verbose)
- HDfprintf(stdout, "%s: H5Fflush() failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5Fflush() failed.\n", __func__);
}
else {
file_ptr = (H5F_t *)H5VL_object_verify(fid, H5I_FILE);
@@ -42204,13 +35645,13 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "Can't get file_ptr.";
if (verbose)
- HDfprintf(stdout, "%s: H5Fflush() failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5Fflush() failed.\n", __func__);
}
}
}
if (show_progress) /* 5 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
@@ -42253,7 +35694,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
}
if (show_progress) /* 6 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
if (cache_ptr == NULL) {
@@ -42261,19 +35702,19 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "H5C_create() failed.";
if (verbose)
- HDfprintf(stdout, "%s: H5C_create() failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5C_create() failed.\n", __func__);
}
else if (cache_ptr->magic != H5C__H5C_T_MAGIC) {
pass = FALSE;
failure_mssg = "Bad cache_ptr magic.";
if (verbose)
- HDfprintf(stdout, "%s: Bad cache_ptr magic.\n", FUNC);
+ HDfprintf(stdout, "%s: Bad cache_ptr magic.\n", __func__);
}
}
if (show_progress) /* 7 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) { /* allocate space for test entries */
actual_base_addr = H5MF_alloc(file_ptr, H5FD_MEM_DEFAULT, (hsize_t)(ADDR_SPACE_SIZE + BASE_ADDR));
@@ -42283,7 +35724,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "H5MF_alloc() failed.";
if (verbose)
- HDfprintf(stdout, "%s: H5MF_alloc() failed.\n", FUNC);
+ HDfprintf(stdout, "%s: H5MF_alloc() failed.\n", __func__);
}
else if (actual_base_addr > BASE_ADDR) {
/* If this happens, must increase BASE_ADDR so that the
@@ -42294,14 +35735,14 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
failure_mssg = "actual_base_addr > BASE_ADDR";
if (verbose)
- HDfprintf(stdout, "%s: actual_base_addr > BASE_ADDR.\n", FUNC);
+ HDfprintf(stdout, "%s: actual_base_addr > BASE_ADDR.\n", __func__);
}
saved_actual_base_addr = actual_base_addr;
}
if (show_progress) /* 8 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
if (pass) {
/* Need to set this else all cache tests will fail */
@@ -42312,7 +35753,7 @@ setup_cache(size_t max_cache_size, size_t min_clean_size, unsigned paged)
}
if (show_progress) /* 9 */
- HDfprintf(stdout, "%s() - %0d -- pass = %d\n", FUNC, mile_stone++, (int)pass);
+ HDfprintf(stdout, "%s() - %0d -- pass = %d\n", __func__, mile_stone++, (int)pass);
return (ret_val);
} /* setup_cache() */
diff --git a/test/cache_api.c b/test/cache_api.c
index 5d0f395..7858c65 100644
--- a/test/cache_api.c
+++ b/test/cache_api.c
@@ -478,7 +478,7 @@ check_fapl_mdc_api_calls(unsigned paged, hid_t fcpl_id)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return pass;
@@ -821,7 +821,7 @@ check_file_mdc_api_calls(unsigned paged, hid_t fcpl_id)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return pass;
@@ -1463,7 +1463,7 @@ mdc_api_call_smoke_check(int express_test, unsigned paged, hid_t fcpl_id)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return pass;
@@ -1841,7 +1841,7 @@ check_fapl_mdc_api_errs(void)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return pass;
@@ -1894,7 +1894,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: calling h5_fixname().\n", FUNC);
+ HDfprintf(stdout, "%s: calling h5_fixname().\n", __func__);
}
if (h5_fixname(FILENAME[0], H5P_DEFAULT, filename, sizeof(filename)) == NULL) {
@@ -1908,7 +1908,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: calling H5Fcreate().\n", FUNC);
+ HDfprintf(stdout, "%s: calling H5Fcreate().\n", __func__);
}
file_id = H5Fcreate(filename, H5F_ACC_TRUNC, fcpl_id, H5P_DEFAULT);
@@ -1929,7 +1929,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 1.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 1.\n", __func__);
}
H5E_BEGIN_TRY
@@ -1949,7 +1949,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 2.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 2.\n", __func__);
}
H5E_BEGIN_TRY
@@ -1970,7 +1970,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 3.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_config() 3.\n", __func__);
}
H5E_BEGIN_TRY
@@ -1993,7 +1993,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fset_mdc_config() 1.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fset_mdc_config() 1.\n", __func__);
}
H5E_BEGIN_TRY
@@ -2013,7 +2013,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fset_mdc_config() 2.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fset_mdc_config() 2.\n", __func__);
}
H5E_BEGIN_TRY
@@ -2033,7 +2033,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
while ((pass) && (i < NUM_INVALID_CONFIGS)) {
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fset_mdc_config() with invalid config %d.\n", FUNC, i);
+ HDfprintf(stdout, "%s: testing H5Fset_mdc_config() with invalid config %d.\n", __func__, i);
}
H5E_BEGIN_TRY
@@ -2061,7 +2061,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_hit_rate() 1.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_hit_rate() 1.\n", __func__);
}
H5E_BEGIN_TRY
@@ -2081,7 +2081,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_hit_rate() 2.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_hit_rate() 2.\n", __func__);
}
H5E_BEGIN_TRY
@@ -2102,7 +2102,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Freset_mdc_hit_rate_stats().\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Freset_mdc_hit_rate_stats().\n", __func__);
}
H5E_BEGIN_TRY
@@ -2123,7 +2123,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_size() 1.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_size() 1.\n", __func__);
}
H5E_BEGIN_TRY
@@ -2143,7 +2143,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: testing H5Fget_mdc_size() 2.\n", FUNC);
+ HDfprintf(stdout, "%s: testing H5Fget_mdc_size() 2.\n", __func__);
}
if ((H5Fget_mdc_size(file_id, &max_size, NULL, NULL, NULL) < 0) ||
@@ -2162,7 +2162,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (show_progress) {
- HDfprintf(stdout, "%s: cleaning up from tests.\n", FUNC);
+ HDfprintf(stdout, "%s: cleaning up from tests.\n", __func__);
}
if (H5Fclose(file_id) < 0) {
@@ -2188,7 +2188,7 @@ check_file_mdc_api_errs(unsigned paged, hid_t fcpl_id)
if (!pass) {
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
}
return pass;
@@ -2230,26 +2230,26 @@ main(void)
invalid_configs = init_invalid_configs();
if (NULL == invalid_configs) {
failure_mssg = "Unable to allocate memory for invalid configs.";
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return EXIT_FAILURE;
} /* end if */
if ((fcpl_id = H5Pcreate(H5P_FILE_CREATE)) < 0) {
failure_mssg = "H5Pcreate(H5P_FILE_CREATE) failed.\n";
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return EXIT_FAILURE;
} /* end if */
/* Set file space strategy to default or paged aggregation strategy */
if ((fcpl2_id = H5Pcopy(fcpl_id)) < 0) {
failure_mssg = "H5Pcreate(H5P_FILE_CREATE) failed.\n";
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return EXIT_FAILURE;
} /* end if */
if (H5Pset_file_space_strategy(fcpl2_id, H5F_FSPACE_STRATEGY_PAGE, 1, (hsize_t)1) < 0) {
failure_mssg = "H5Pset_file_space_strategy() failed.\n";
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return EXIT_FAILURE;
} /* end if */
@@ -2282,7 +2282,7 @@ main(void)
if (H5Pclose(fcpl_id) < 0) {
failure_mssg = "H5Pclose() failed.\n";
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return EXIT_FAILURE;
} /* end if */
diff --git a/test/cache_common.c b/test/cache_common.c
index 9a65051..5fcbed5 100644
--- a/test/cache_common.c
+++ b/test/cache_common.c
@@ -446,8 +446,6 @@ addr_to_type_and_index(haddr_t addr, int32_t *type_ptr, int32_t *index_ptr)
*type_ptr = type;
*index_ptr = idx;
- return;
-
} /* addr_to_type_and_index() */
/* Call back functions: */
@@ -733,9 +731,11 @@ deserialize(const void *image, size_t H5_ATTR_NDEBUG_UNUSED len, void *udata, hb
else {
if ((*(((const char *)image) + 2)) != (char)(idx & 0xFF)) {
HDfprintf(stdout, "type = %d, idx = %d, addr = 0x%lx.\n", type, idx, (long)addr);
- HDfprintf(stdout, "*image = 0x%x 0x%x 0x%x\n", (int)(*((const char *)image)),
- (int)(*(((const char *)image) + 1)), (int)(*(((const char *)image) + 2)));
- HDfprintf(stdout, "expected *image = 0x%x\n", (int)(idx & 0xFF), (int)((idx & 0xFF00) >> 8));
+ HDfprintf(stdout, "*image = 0x%" PRIx8 " 0x%" PRIx8 " 0x%" PRIx8 "\n",
+ (*((const uint8_t *)image)), (*(((const uint8_t *)image) + 1)),
+ (*(((const uint8_t *)image) + 2)));
+ HDfprintf(stdout, "expected *image = 0x%02" PRIx32 "%02" PRIx32 "\n", (uint32_t)idx & 0xFF,
+ (((uint32_t)idx & 0xFF00) >> 8));
} /* end if */
HDassert((*((const char *)image)) == (char)(type & 0xFF));
HDassert((*(((const char *)image) + 1)) == (char)((idx & 0xFF00) >> 8));
@@ -1519,8 +1519,6 @@ add_flush_op(int target_type, int target_idx, int op_code, int type, int idx, hb
(target_entry_ptr->flush_ops)[i].order_ptr = order_ptr;
}
- return;
-
} /* add_flush_op() */
/*-------------------------------------------------------------------------
@@ -1590,8 +1588,6 @@ create_pinned_entry_dependency(H5F_t *file_ptr, int pinning_type, int pinning_id
(pinned_entry_ptr->pinning_ref_count)++;
}
- return;
-
} /* create_pinned_entry_dependency() */
/*-------------------------------------------------------------------------
@@ -1664,8 +1660,6 @@ dirty_entry(H5F_t *file_ptr, int32_t type, int32_t idx, hbool_t dirty_pin)
}
}
- return;
-
} /* dirty_entry() */
/*-------------------------------------------------------------------------
@@ -1695,7 +1689,7 @@ execute_flush_op(H5F_t *file_ptr, struct test_entry_t *entry_ptr, struct flush_o
HDassert(cache_ptr != NULL);
HDassert(cache_ptr->magic == H5C__H5C_T_MAGIC);
HDassert(entry_ptr != NULL);
- HDassert(entry_ptr = entry_ptr->self);
+ HDassert(entry_ptr == entry_ptr->self);
HDassert(entry_ptr->header.addr == entry_ptr->addr);
HDassert((entry_ptr->flush_op_self_resize_in_progress) || (entry_ptr->header.size == entry_ptr->size));
HDassert(op_ptr != NULL);
@@ -1803,8 +1797,6 @@ execute_flush_op(H5F_t *file_ptr, struct test_entry_t *entry_ptr, struct flush_o
}
}
- return;
-
} /* execute_flush_op() */
/*-------------------------------------------------------------------------
@@ -2030,8 +2022,6 @@ free_entry_arrays(void)
HDfree(notify_entries);
HDfree(orig_notify_entries);
- return;
-
} /* free_entry_arrays() */
/*-------------------------------------------------------------------------
@@ -2175,8 +2165,6 @@ reset_entries(void)
} /* end for */
} /* end else */
- return;
-
} /* reset_entries() */
/*-------------------------------------------------------------------------
@@ -2255,7 +2243,7 @@ resize_entry(H5F_t *file_ptr, int32_t type, int32_t idx, size_t new_size, hbool_
}
else {
- HDassert(entry_ptr->size = (entry_ptr->header).size);
+ HDassert(entry_ptr->size == (entry_ptr->header).size);
}
}
}
@@ -2268,8 +2256,6 @@ resize_entry(H5F_t *file_ptr, int32_t type, int32_t idx, size_t new_size, hbool_
}
}
- return;
-
} /* resize_entry() */
/*-------------------------------------------------------------------------
@@ -2321,8 +2307,6 @@ verify_clean(void)
}
}
- return;
-
} /* verify_clean() */
/*-------------------------------------------------------------------------
@@ -2619,8 +2603,6 @@ verify_entry_status(H5C_t *cache_ptr, int tag, int num_entries, struct expected_
i++;
} /* while */
- return;
-
} /* verify_entry_status() */
/*-------------------------------------------------------------------------
@@ -2674,8 +2656,6 @@ verify_unprotected(void)
}
}
- return;
-
} /* verify_unprotected() */
/*-------------------------------------------------------------------------
@@ -2739,20 +2719,31 @@ expunge_entry(H5F_t *file_ptr, int32_t type, int32_t idx)
}
}
- return;
-
} /* expunge_entry() */
/*-------------------------------------------------------------------------
* Function: flush_cache()
*
* Purpose: Flush the specified cache, destroying all entries if
- requested. If requested, dump stats first.
+ * requested. If requested, dump stats first.
*
* Return: void
*
* Programmer: John Mainzer
- * 6/23/04
+ * 6/23/04
+ *
+ * Changes: Added code to setup and take down the skip list before
+ * and after calls to H5C_flush_cache(). Do this via calls
+ * to the H5C_FLUSH_CACHE macro.
+ *
+ * This is necessary, as H5C_flush() is called repeatedly
+ * during file flush. If we setup and took down the
+ * skip list on H5C_flush_cache(), we would find ourselves
+ * doing this repeatedly -- which is contrary to the
+ * objective of the exercise (avoiding as many skip list
+ * operations as possible).
+ *
+ * JRM -- 5/14/20
*
*-------------------------------------------------------------------------
*/
@@ -2766,31 +2757,32 @@ flush_cache(H5F_t *file_ptr, hbool_t destroy_entries, hbool_t dump_stats, hbool_
if (pass) {
H5C_t *cache_ptr;
- herr_t result = 0;
HDassert(file_ptr);
cache_ptr = file_ptr->shared->cache;
- if (destroy_entries)
- result = H5C_flush_cache(file_ptr, H5C__FLUSH_INVALIDATE_FLAG);
+ if (destroy_entries) {
- else
- result = H5C_flush_cache(file_ptr, H5C__NO_FLAGS_SET);
+ H5C_FLUSH_CACHE(file_ptr, H5C__FLUSH_INVALIDATE_FLAG, "error in H5C_flush_cache().")
+ }
+ else {
- if (dump_stats)
- H5C_stats(cache_ptr, "test cache", dump_detailed_stats);
+ H5C_FLUSH_CACHE(file_ptr, H5C__NO_FLAGS_SET, "error in H5C_flush_cache().")
+ }
- if (result < 0) {
- pass = FALSE;
- failure_mssg = "error in H5C_flush_cache().";
+ if (dump_stats) {
+
+ H5C_stats(cache_ptr, "test cache", dump_detailed_stats);
}
- else if ((destroy_entries) &&
- ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
- (cache_ptr->clean_index_size != 0) || (cache_ptr->dirty_index_size != 0))) {
+
+ if ((pass) && (destroy_entries) &&
+ ((cache_ptr->index_len != 0) || (cache_ptr->index_size != 0) ||
+ (cache_ptr->clean_index_size != 0) || (cache_ptr->dirty_index_size != 0))) {
if (verbose) {
- HDfprintf(stdout, "%s: unexpected il/is/cis/dis = %lld/%lld/%lld/%lld.\n", FUNC,
+
+ HDfprintf(stdout, "%s: unexpected il/is/cis/dis = %lld/%lld/%lld/%lld.\n", __func__,
(long long)(cache_ptr->index_len), (long long)(cache_ptr->index_size),
(long long)(cache_ptr->clean_index_size), (long long)(cache_ptr->dirty_index_size));
}
@@ -2799,8 +2791,6 @@ flush_cache(H5F_t *file_ptr, hbool_t destroy_entries, hbool_t dump_stats, hbool_
}
}
- return;
-
} /* flush_cache() */
/*-------------------------------------------------------------------------
@@ -2968,8 +2958,6 @@ insert_entry(H5F_t *file_ptr, int32_t type, int32_t idx, unsigned int flags)
HDassert(((entry_ptr->header).type)->id == type);
} /* end if */
- return;
-
} /* insert_entry() */
/*-------------------------------------------------------------------------
@@ -3029,8 +3017,6 @@ mark_entry_dirty(int32_t type, int32_t idx)
HDassert(((entry_ptr->header).type)->id == type);
}
- return;
-
} /* mark_entry_dirty() */
/*-------------------------------------------------------------------------
@@ -3129,8 +3115,6 @@ move_entry(H5C_t *cache_ptr, int32_t type, int32_t idx, hbool_t main_addr)
HDassert(entry_ptr->is_dirty);
}
- return;
-
} /* move_entry() */
/*-------------------------------------------------------------------------
@@ -3297,8 +3281,6 @@ protect_entry_ro(H5F_t *file_ptr, int32_t type, int32_t idx)
HDassert(((entry_ptr->header).type)->id == type);
}
- return;
-
} /* protect_entry_ro() */
/*-------------------------------------------------------------------------
@@ -3355,8 +3337,6 @@ pin_entry(int32_t type, int32_t idx)
}
} /* end if */
- return;
-
} /* pin_entry() */
/*-------------------------------------------------------------------------
@@ -3414,8 +3394,6 @@ unpin_entry(int32_t type, int32_t idx)
HDassert(((entry_ptr->header).type)->id == type);
}
- return;
-
} /* unpin_entry() */
/*-------------------------------------------------------------------------
@@ -3525,22 +3503,25 @@ unprotect_entry(H5F_t *file_ptr, int32_t type, int32_t idx, unsigned int flags)
HDassert(entry_ptr->header.ro_ref_count == entry_ptr->ro_ref_count);
}
- return;
-
} /* unprotect_entry() */
/*-------------------------------------------------------------------------
* Function: row_major_scan_forward()
*
* Purpose: Do a sequence of inserts, protects, unprotects, moves,
- * destroys while scanning through the set of entries. If
- * pass is false on entry, do nothing.
+ * destroys while scanning through the set of entries. If
+ * pass is false on entry, do nothing.
*
* Return: void
*
* Programmer: John Mainzer
* 6/12/04
*
+ * Changes: Updated slist size == dirty index size checks to
+ * bypass the test if cache_ptr->slist_enabled is FALSE.
+ *
+ * JRM -- 5/8/20
+ *
*-------------------------------------------------------------------------
*/
void
@@ -3555,7 +3536,7 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
int32_t local_max_index;
if (verbose)
- HDfprintf(stdout, "%s(): entering.\n", FUNC);
+ HDfprintf(stdout, "%s(): entering.\n", __func__);
if (pass) {
cache_ptr = file_ptr->shared->cache;
@@ -3584,7 +3565,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "1(i, %d, %d) ", type, tmp_idx);
insert_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3594,7 +3577,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "2(p, %d, %d) ", type, tmp_idx);
protect_entry(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3604,7 +3589,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "3(u, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
/* (don't decrement tmp_idx) */
@@ -3614,7 +3601,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "4(r, %d, %d, %d) ", type, tmp_idx, (int)move_to_main_addr);
move_entry(cache_ptr, type, tmp_idx, move_to_main_addr);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3624,7 +3613,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "5(p, %d, %d) ", type, tmp_idx);
protect_entry(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx -= 2;
@@ -3634,7 +3625,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "6(u, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
if (do_mult_ro_protects) {
@@ -3645,7 +3638,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "7(p-ro, %d, %d) ", type, tmp_idx);
protect_entry_ro(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3655,7 +3650,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "8(p-ro, %d, %d) ", type, tmp_idx);
protect_entry_ro(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3665,7 +3662,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "9(p-ro, %d, %d) ", type, tmp_idx);
protect_entry_ro(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
/* (don't decrement tmp_idx) */
@@ -3675,7 +3674,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "10(u-ro, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3685,7 +3686,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "11(u-ro, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3695,7 +3698,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "12(u-ro, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
} /* if ( do_mult_ro_protects ) */
@@ -3704,7 +3709,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "13(p, %d, %d) ", type, idx);
protect_entry(file_ptr, type, idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx = idx - lag + 2;
@@ -3714,7 +3721,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "14(u, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
tmp_idx--;
@@ -3724,7 +3733,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "15(p, %d, %d) ", type, tmp_idx);
protect_entry(file_ptr, type, tmp_idx);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
if (do_destroys) {
@@ -3736,7 +3747,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "16(u, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
break;
case 1:
@@ -3745,7 +3758,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "17(u, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__NO_FLAGS_SET);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
else {
if (verbose)
@@ -3753,7 +3768,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
unprotect_entry(file_ptr, type, tmp_idx,
(dirty_unprotects ? H5C__DIRTIED_FLAG : H5C__NO_FLAGS_SET));
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end else */
break;
@@ -3762,7 +3779,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "19(u-del, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__DELETED_FLAG);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
break;
case 3:
@@ -3771,7 +3790,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
HDfprintf(stdout, "20(u-del, %d, %d) ", type, tmp_idx);
unprotect_entry(file_ptr, type, tmp_idx, H5C__DELETED_FLAG);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
else {
if (verbose)
@@ -3780,7 +3801,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
unprotect_entry(file_ptr, type, tmp_idx,
(dirty_destroys ? H5C__DIRTIED_FLAG : H5C__NO_FLAGS_SET) |
H5C__DELETED_FLAG);
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end else */
break;
@@ -3798,7 +3821,9 @@ row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
unprotect_entry(file_ptr, type, tmp_idx,
(dirty_unprotects ? H5C__DIRTIED_FLAG : H5C__NO_FLAGS_SET));
- HDassert(cache_ptr->slist_size == cache_ptr->dirty_index_size);
+
+ HDassert((!cache_ptr->slist_enabled) ||
+ (cache_ptr->slist_size == cache_ptr->dirty_index_size));
} /* end if */
} /* end elsef */
@@ -3843,7 +3868,7 @@ hl_row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose, h
int32_t local_max_index;
if (verbose)
- HDfprintf(stdout, "%s(): entering.\n", FUNC);
+ HDfprintf(stdout, "%s(): entering.\n", __func__);
if (pass) {
@@ -3906,8 +3931,6 @@ hl_row_major_scan_forward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose, h
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* hl_row_major_scan_forward() */
/*-------------------------------------------------------------------------
@@ -3937,7 +3960,7 @@ row_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
int32_t local_max_index;
if (verbose)
- HDfprintf(stdout, "%s(): Entering.\n", FUNC);
+ HDfprintf(stdout, "%s(): Entering.\n", __func__);
if (pass) {
@@ -4168,8 +4191,6 @@ row_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* row_major_scan_backward() */
/*-------------------------------------------------------------------------
@@ -4199,7 +4220,7 @@ hl_row_major_scan_backward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose,
int32_t local_max_index;
if (verbose)
- HDfprintf(stdout, "%s(): entering.\n", FUNC);
+ HDfprintf(stdout, "%s(): entering.\n", __func__);
if (pass) {
@@ -4262,8 +4283,6 @@ hl_row_major_scan_backward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose,
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* hl_row_major_scan_backward() */
/*-------------------------------------------------------------------------
@@ -4292,7 +4311,7 @@ col_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
int32_t local_max_index[NUMBER_OF_ENTRY_TYPES];
if (verbose)
- HDfprintf(stdout, "%s: entering.\n", FUNC);
+ HDfprintf(stdout, "%s: entering.\n", __func__);
if (pass) {
int i;
@@ -4356,8 +4375,6 @@ col_major_scan_forward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* col_major_scan_forward() */
/*-------------------------------------------------------------------------
@@ -4388,7 +4405,7 @@ hl_col_major_scan_forward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose, h
int32_t local_max_index;
if (verbose)
- HDfprintf(stdout, "%s: entering.\n", FUNC);
+ HDfprintf(stdout, "%s: entering.\n", __func__);
if (pass) {
@@ -4461,8 +4478,6 @@ hl_col_major_scan_forward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose, h
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* hl_col_major_scan_forward() */
/*-------------------------------------------------------------------------
@@ -4492,7 +4507,7 @@ col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
int32_t local_max_index[NUMBER_OF_ENTRY_TYPES];
if (verbose)
- HDfprintf(stdout, "%s: entering.\n", FUNC);
+ HDfprintf(stdout, "%s: entering.\n", __func__);
if (pass) {
int i;
@@ -4515,7 +4530,7 @@ col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
idx = local_max_index[NUMBER_OF_ENTRY_TYPES - 1] + lag;
if (verbose) /* 1 */
- HDfprintf(stdout, "%s: point %d.\n", FUNC, mile_stone++);
+ HDfprintf(stdout, "%s: point %d.\n", __func__, mile_stone++);
while ((pass) && ((idx + lag) >= 0)) {
type = NUMBER_OF_ENTRY_TYPES - 1;
@@ -4557,7 +4572,7 @@ col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
}
if (verbose) /* 2 */
- HDfprintf(stdout, "%s: point %d.\n", FUNC, mile_stone++);
+ HDfprintf(stdout, "%s: point %d.\n", __func__, mile_stone++);
if ((pass) && (display_stats)) {
@@ -4565,9 +4580,7 @@ col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, int32_t lag, hbool_t
}
if (verbose)
- HDfprintf(stdout, "%s: exiting.\n", FUNC);
-
- return;
+ HDfprintf(stdout, "%s: exiting.\n", __func__);
} /* col_major_scan_backward() */
@@ -4599,7 +4612,7 @@ hl_col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose,
int32_t local_max_index = -1;
if (verbose)
- HDfprintf(stdout, "%s: entering.\n", FUNC);
+ HDfprintf(stdout, "%s: entering.\n", __func__);
if (pass) {
@@ -4672,8 +4685,6 @@ hl_col_major_scan_backward(H5F_t *file_ptr, int32_t max_index, hbool_t verbose,
H5C_stats(cache_ptr, "test cache", display_detailed_stats);
}
- return;
-
} /* hl_col_major_scan_backward() */
/*-------------------------------------------------------------------------
@@ -5042,8 +5053,6 @@ check_and_validate_cache_hit_rate(hid_t file_id, double *hit_rate_ptr, hbool_t d
failure_mssg = "Unexpectedly low hit rate.";
}
- return;
-
} /* check_and_validate_cache_hit_rate() */
/*-------------------------------------------------------------------------
@@ -5161,8 +5170,6 @@ check_and_validate_cache_size(hid_t file_id, size_t *max_size_ptr, size_t *min_c
(long)min_clean_size, (long)cur_size, (long)cur_num_entries);
}
- return;
-
} /* check_and_validate_cache_size() */
H5_ATTR_PURE hbool_t
@@ -5323,8 +5330,6 @@ validate_mdc_config(hid_t file_id, H5AC_cache_config_t *ext_config_ptr, hbool_t
}
}
- return;
-
} /* validate_mdc_config() */
#if 0 /* debugging functions -- normally commented out */
diff --git a/test/cache_common.h b/test/cache_common.h
index 1f3f5ad..8f4e776 100644
--- a/test/cache_common.h
+++ b/test/cache_common.h
@@ -116,6 +116,62 @@
#define MAX_ADDR (haddr_t)(NOTIFY_ALT_BASE_ADDR + (NOTIFY_ENTRY_SIZE * NUM_NOTIFY_ENTRIES))
#define ADDR_SPACE_SIZE (haddr_t)(MAX_ADDR - BASE_ADDR)
+/***********************************************************************
+ *
+ * Macro: H5C_FLUSH_CACHE
+ *
+ * Purpose: Wrap a call to H5C_flush_cache() in calls to
+ * H5C_set_slist_enabled() to setup and take down the slist.
+ *
+ * This is necessary, as H5C_flush_cache() needs the
+ * slist to be active. Further, since it is called
+ * repeatedly during file flush, it would be inefficient
+ * for it to setup the slist on entry, and take it down
+ * on exit.
+ *
+ * Note that the slist need not be empty if the flags
+ * indicate a partial flush (i.e.
+ * H5C__FLUSH_MARKED_ENTRIES_FLAG). Compute clear_slist
+ * and pass it into H5C_set_slist_enabled as appropriate.
+ *
+ * On error, set pass to FALSE, and set failure_mssg
+ * to the supplied error message.
+ *
+ * Return: N/A
+ *
+ * Programmer: John Mainzer
+ * 5/14/20
+ *
+ * Changes: None.
+ *
+ ***********************************************************************/
+
+#define H5C_FLUSH_CACHE(file, flags, fail_mssg) \
+ { \
+ hbool_t clear_slist; \
+ herr_t rslt; \
+ \
+ clear_slist = ((flags & H5C__FLUSH_MARKED_ENTRIES_FLAG) != 0); \
+ \
+ rslt = H5C_set_slist_enabled((file)->shared->cache, TRUE, FALSE); \
+ \
+ if (rslt >= 0) { \
+ \
+ rslt = H5C_flush_cache((file), (flags)); \
+ } \
+ \
+ if (rslt >= 0) { \
+ \
+ rslt = H5C_set_slist_enabled((file)->shared->cache, FALSE, clear_slist); \
+ } \
+ \
+ if (rslt < 0) { \
+ \
+ pass = FALSE; \
+ failure_mssg = (fail_mssg); \
+ } \
+ } /* H5C_FLUSH_CACHE */
+
#define MAX_PINS \
8 /* Maximum number of entries that can be \
* directly pinned by a single entry. \
diff --git a/test/cache_image.c b/test/cache_image.c
index f5f36bf..f63f04a 100644
--- a/test/cache_image.c
+++ b/test/cache_image.c
@@ -1475,7 +1475,7 @@ check_cache_image_ctl_flow_1(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -1721,7 +1721,7 @@ check_cache_image_ctl_flow_2(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -2095,7 +2095,7 @@ check_cache_image_ctl_flow_3(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -2431,7 +2431,7 @@ check_cache_image_ctl_flow_4(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -2720,7 +2720,7 @@ check_cache_image_ctl_flow_5(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -2971,7 +2971,7 @@ check_cache_image_ctl_flow_6(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -3420,7 +3420,7 @@ cache_image_smoke_check_1(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -3696,7 +3696,7 @@ cache_image_smoke_check_2(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -4084,7 +4084,7 @@ cache_image_smoke_check_3(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -4463,7 +4463,7 @@ cache_image_smoke_check_4(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
} /* cache_image_smoke_check_4() */
@@ -4984,7 +4984,7 @@ cache_image_smoke_check_5(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -5401,7 +5401,7 @@ cache_image_smoke_check_6(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -5757,7 +5757,7 @@ cache_image_api_error_check_1(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -6185,7 +6185,7 @@ cache_image_api_error_check_2(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -6440,7 +6440,7 @@ cache_image_api_error_check_3(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -6997,7 +6997,7 @@ cache_image_api_error_check_4(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -7455,7 +7455,7 @@ get_free_sections_test(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
@@ -7828,7 +7828,7 @@ evict_on_close_test(hbool_t single_file_vfd)
}
if (!pass)
- HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", FUNC, failure_mssg);
+ HDfprintf(stdout, "%s: failure_mssg = \"%s\".\n", __func__, failure_mssg);
return !pass;
#endif /* H5_HAVE_PARALLEL */
diff --git a/test/cache_tagging.c b/test/cache_tagging.c
index bcddd5a..06de174 100644
--- a/test/cache_tagging.c
+++ b/test/cache_tagging.c
@@ -343,11 +343,20 @@ evict_entries(hid_t fid)
/* Mark all entries investigated */
mark_all_entries_investigated(fid);
+ /* setup the skip list prior to calling H5C_flush_cache() */
+ if (H5C_set_slist_enabled(f->shared->cache, TRUE, FALSE) < 0)
+ TEST_ERROR;
+
/* Evict all we can from the cache to examine full tag creation tree */
/* This function will likely return failure since the root group
- * is still protected. Thus, don't check its return value. */
+ * is still protected. Thus, don't check its return value.
+ */
H5C_flush_cache(f, H5C__FLUSH_INVALIDATE_FLAG);
+ /* shutdown the slist -- allow it to be non-empty */
+ if (H5C_set_slist_enabled(f->shared->cache, FALSE, TRUE) < 0)
+ TEST_ERROR;
+
return 0;
error:
diff --git a/test/h5test.h b/test/h5test.h
index 81925b9..3736537 100644
--- a/test/h5test.h
+++ b/test/h5test.h
@@ -89,7 +89,7 @@ H5TEST_DLLVAR MPI_Info h5_io_info_g; /* MPI INFO object for IO */
/*
* Print the current location on the standard output stream.
*/
-#define AT() HDprintf(" at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC);
+#define AT() HDprintf(" at %s:%d in %s()...\n", __FILE__, __LINE__, __func__);
/*
* The name of the test is printed by saying TESTING("something") which will
@@ -165,12 +165,8 @@ H5TEST_DLLVAR MPI_Info h5_io_info_g; /* MPI INFO object for IO */
goto error; \
}
-/*
- * Alarm definitions to wait up (terminate) a test that runs too long.
- */
+/* Number of seconds to wait before killing a test (requires alarm(2)) */
#define H5_ALARM_SEC 1200 /* default is 20 minutes */
-#define ALARM_ON TestAlarmOn()
-#define ALARM_OFF HDalarm(0)
/* Flags for h5_fileaccess_flags() */
#define H5_FILEACCESS_VFD 0x01
diff --git a/test/hdfs.c b/test/hdfs.c
index dfaa585..74fc2bd 100644
--- a/test/hdfs.c
+++ b/test/hdfs.c
@@ -102,7 +102,7 @@
*/
#define JSFAILED_AT() \
{ \
- HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); \
+ HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, __func__); \
}
/*----------------------------------------------------------------------------
diff --git a/test/null_vol_connector.c b/test/null_vol_connector.c
index b574a8e..2b375d8 100644
--- a/test/null_vol_connector.c
+++ b/test/null_vol_connector.c
@@ -15,9 +15,6 @@
* (registration, etc.).
*/
-/* Public HDF5 header */
-#include "hdf5.h"
-
/* For HDF5 plugin functionality */
#include "H5PLextern.h"
diff --git a/test/ohdr.c b/test/ohdr.c
index 7801b7a..b7af77f 100644
--- a/test/ohdr.c
+++ b/test/ohdr.c
@@ -121,8 +121,12 @@ test_cont(char *filename, hid_t fapl)
FAIL_STACK_ERROR
if (1 != H5O_link(&oh_locB, 1))
FAIL_STACK_ERROR
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5O__expunge_chunks_test(&oh_locA) < 0)
FAIL_STACK_ERROR
@@ -1829,8 +1833,12 @@ main(void)
FAIL_STACK_ERROR
if (1 != H5O_link(&oh_loc, 1))
FAIL_STACK_ERROR
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_expunge_entry(f, H5AC_OHDR, oh_loc.addr, H5AC__NO_FLAGS_SET) < 0)
FAIL_STACK_ERROR
if (NULL == H5O_msg_read(&oh_loc, H5O_MTIME_NEW_ID, &ro))
@@ -1846,8 +1854,12 @@ main(void)
time_new = 33333333;
if (H5O_msg_write(&oh_loc, H5O_MTIME_NEW_ID, 0, 0, &time_new) < 0)
FAIL_STACK_ERROR
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_expunge_entry(f, H5AC_OHDR, oh_loc.addr, H5AC__NO_FLAGS_SET) < 0)
FAIL_STACK_ERROR
if (NULL == H5O_msg_read(&oh_loc, H5O_MTIME_NEW_ID, &ro))
@@ -1877,8 +1889,12 @@ main(void)
if (H5O_msg_create(&oh_loc, H5O_MTIME_ID, 0, 0, &time_new) < 0)
FAIL_STACK_ERROR
} /* end for */
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_expunge_entry(f, H5AC_OHDR, oh_loc.addr, H5AC__NO_FLAGS_SET) < 0)
FAIL_STACK_ERROR
@@ -1920,8 +1936,12 @@ main(void)
time_new = (i + 1) * 1000 + 10;
if (H5O_msg_create(&oh_loc, H5O_MTIME_NEW_ID, 0, 0, &time_new) < 0)
FAIL_STACK_ERROR
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_expunge_entry(f, H5AC_OHDR, oh_loc.addr, H5AC__NO_FLAGS_SET) < 0)
FAIL_STACK_ERROR
} /* end for */
@@ -1949,8 +1969,12 @@ main(void)
time_new = 22222222;
if (H5O_msg_create(&oh_loc, H5O_MTIME_NEW_ID, H5O_MSG_FLAG_CONSTANT, 0, &time_new) < 0)
FAIL_STACK_ERROR
+ if (H5AC_prep_for_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_flush(f) < 0)
FAIL_STACK_ERROR
+ if (H5AC_secure_from_file_flush(f) < 0)
+ FAIL_STACK_ERROR
if (H5AC_expunge_entry(f, H5AC_OHDR, oh_loc.addr, H5AC__NO_FLAGS_SET) < 0)
FAIL_STACK_ERROR
if (NULL == H5O_msg_read(&oh_loc, H5O_MTIME_NEW_ID, &ro))
diff --git a/test/page_buffer.c b/test/page_buffer.c
index f21c568..b04d1a2 100644
--- a/test/page_buffer.c
+++ b/test/page_buffer.c
@@ -310,8 +310,7 @@ error:
}
H5E_END_TRY;
return (1);
-
-} /* create_file() */
+} /* create_file */
/*-------------------------------------------------------------------------
* Function: open_file()
@@ -353,11 +352,11 @@ open_file(char *filename, hid_t fapl, hsize_t page_size, size_t page_buffer_size
if (NULL == (f = (H5F_t *)H5VL_object(file_id)))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr == NULL)
+ if (f->shared->page_buf == NULL)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->page_size != page_size)
+ if (f->shared->page_buf->page_size != page_size)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->max_size != page_buffer_size)
+ if (f->shared->page_buf->max_size != page_buffer_size)
FAIL_STACK_ERROR;
if ((grp_id = H5Gopen2(file_id, "GROUP", H5P_DEFAULT)) < 0)
@@ -450,7 +449,7 @@ set_multi_split(const char *env_h5_drvr, hid_t fapl, hsize_t pagesize)
/* Set memb_addr aligned */
for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++)
memb_addr[mt] = ((memb_addr[mt] + pagesize - 1) / pagesize) * pagesize;
- }
+ } /* end else */
/* Set multi driver with new FAPLs */
if (H5Pset_fapl_multi(fapl, memb_map, memb_fapl_arr, (const char *const *)memb_name, memb_addr,
@@ -459,8 +458,9 @@ set_multi_split(const char *env_h5_drvr, hid_t fapl, hsize_t pagesize)
/* Free memb_name */
for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++)
- free(memb_name[mt]);
- }
+ HDfree(memb_name[mt]);
+
+ } /* end if */
return 0;
@@ -534,7 +534,7 @@ test_args(hid_t orig_fapl, const char *env_h5_drvr)
/* Test setting a page buffer with a size smaller than a single
* page size - should fail
*/
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, 512) < 0)
@@ -568,7 +568,7 @@ test_args(hid_t orig_fapl, const char *env_h5_drvr)
TEST_ERROR;
/* Test setting a page buffer with a size equal to a single page size */
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, 512) < 0)
@@ -586,7 +586,7 @@ test_args(hid_t orig_fapl, const char *env_h5_drvr)
/* Test setting a page buffer with a size slightly larger than a
* single page size
*/
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, 512) < 0)
@@ -605,7 +605,7 @@ test_args(hid_t orig_fapl, const char *env_h5_drvr)
TEST_ERROR;
/* Test setting a large page buffer size and page size */
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, 4194304) < 0)
@@ -624,7 +624,7 @@ test_args(hid_t orig_fapl, const char *env_h5_drvr)
TEST_ERROR;
/* Test setting a 512 byte page buffer size and page size */
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, 512) < 0)
@@ -1200,7 +1200,7 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
* Get the number of pages inserted, and verify that it is the
* expected value.
*/
- base_page_cnt = f->shared->pb_ptr->curr_pages;
+ base_page_cnt = f->shared->page_buf->curr_pages;
if (base_page_cnt != 2)
TEST_ERROR;
@@ -1228,57 +1228,48 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
page_count++;
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* update elements 300 - 450, with values 300 - - this will
bring two more pages into the page buffer. */
for (i = 0; i < 150; i++)
data[i] = i + 300;
-
if (H5F_block_write(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 300), sizeof(int) * 150, data) < 0)
FAIL_STACK_ERROR;
-
page_count += 2;
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* update elements 100 - 300, this will go to disk but also update
existing pages in the page buffer. */
for (i = 0; i < 200; i++)
data[i] = i + 100;
-
if (H5F_block_write(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 100), sizeof(int) * 200, data) < 0)
FAIL_STACK_ERROR;
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* Update elements 225-300 - this will update an existing page in the PB */
/* Changes: 450 - 600; 150 */
for (i = 0; i < 150; i++)
data[i] = i + 450;
-
if (H5F_block_write(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 450), sizeof(int) * 150, data) < 0)
FAIL_STACK_ERROR;
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* Do a full page write to block 600-800 - should bypass the PB */
for (i = 0; i < 200; i++)
data[i] = i + 600;
-
if (H5F_block_write(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 600), sizeof(int) * 200, data) < 0)
FAIL_STACK_ERROR;
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* read elements 800 - 1200, this should not affect the PB, and should
@@ -1286,7 +1277,6 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
*/
if (H5F_block_read(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 800), sizeof(int) * 400, data) < 0)
FAIL_STACK_ERROR;
-
for (i = 0; i < 400; i++) {
if (data[i] != -1) {
HDfprintf(stderr, "Read different values than written\n");
@@ -1294,9 +1284,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
FAIL_STACK_ERROR;
}
}
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
FAIL_STACK_ERROR;
/* read elements 1200 - 1201, this should read -1 and bring in an
@@ -1304,7 +1293,6 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
*/
if (H5F_block_read(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 1200), sizeof(int) * 1, data) < 0)
FAIL_STACK_ERROR;
-
for (i = 0; i < 1; i++) {
if (data[i] != -1) {
HDfprintf(stderr, "Read different values than written\n");
@@ -1313,9 +1301,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
}
}
page_count++;
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
TEST_ERROR;
/* read elements 175 - 225, this should use the PB existing pages */
@@ -1323,7 +1310,6 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
/* read elements 175 - 225, this should use the PB existing pages */
if (H5F_block_read(f, H5FD_MEM_DRAW, addr + (sizeof(int) * 350), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
-
for (i = 0; i < 100; i++) {
if (data[i] != i + 350) {
HDfprintf(stderr, "Read different values than written\n");
@@ -1331,9 +1317,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
TEST_ERROR;
}
}
-
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
TEST_ERROR;
/* read elements 0 - 800 using the VFD.
@@ -1346,7 +1331,6 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
*/
if (H5FD_read(f->shared->lf, H5FD_MEM_DRAW, addr, sizeof(int) * 800, data) < 0)
FAIL_STACK_ERROR;
-
i = 0;
while (i < 800) {
if ((vfd_swmr_mode) || (i >= 100 && i < 300) || i >= 600) {
@@ -1372,8 +1356,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
if (H5F_block_read(f, H5FD_MEM_DRAW, addr, sizeof(int) * 800, data) < 0)
FAIL_STACK_ERROR;
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
TEST_ERROR;
for (i = 0; i < 800; i++) {
@@ -1396,8 +1380,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
page_count -= 2;
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
TEST_ERROR;
/* read elements 0 - 1000.. this should go to disk then update the
@@ -1425,8 +1409,8 @@ test_raw_data_handling(hid_t orig_fapl, const char *env_h5_drvr, bool vfd_swmr_m
i++;
}
- if ((f->shared->pb_ptr->curr_pages != page_count + base_page_cnt) &&
- ((vfd_swmr_mode) && (f->shared->pb_ptr->curr_pages != base_page_cnt)))
+ if ((f->shared->page_buf->curr_pages != page_count + base_page_cnt) &&
+ ((vfd_swmr_mode) && (f->shared->page_buf->curr_pages != base_page_cnt)))
TEST_ERROR;
if (H5Fclose(file_id) < 0)
@@ -1541,7 +1525,7 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
FAIL_STACK_ERROR;
/* there should be no raw data pages in the page buffer -- verify this */
- if (f->shared->pb_ptr->curr_rd_pages != 0)
+ if (f->shared->page_buf->curr_rd_pages != 0)
FAIL_STACK_ERROR;
/* update the first 100 elements to have values 0-99 - this will be
@@ -1557,7 +1541,7 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 1)
+ if (f->shared->page_buf->curr_rd_pages != 1)
FAIL_STACK_ERROR;
/* update elements 300 - 450, with values 300 - 449 - this will
@@ -1579,13 +1563,13 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr + sizeof(int) * 400;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
FAIL_STACK_ERROR;
/* at this point, the page buffer entries created at file open should
* have been evicted.
*/
- if (f->shared->pb_ptr->curr_md_pages != 0)
+ if (f->shared->page_buf->curr_md_pages != 0)
FAIL_STACK_ERROR;
/* update elements 300-301, this will update page addr + 200 in
@@ -1605,9 +1589,9 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr + sizeof(int) * 400;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 2)
+ if (f->shared->page_buf->curr_pages != 2)
FAIL_STACK_ERROR;
/* read elements 1200 - 1201, this should read -1, bring in page
@@ -1632,9 +1616,9 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr + sizeof(int) * 1200;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 2)
+ if (f->shared->page_buf->curr_pages != 2)
FAIL_STACK_ERROR;
/* read elements 350 - 450, this should load page addr + 400 and move
@@ -1659,9 +1643,9 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr + sizeof(int) * 400;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 2)
+ if (f->shared->page_buf->curr_pages != 2)
FAIL_STACK_ERROR;
/* update elements 400 - 1400 to value 0, this will overwrite and
@@ -1677,9 +1661,9 @@ test_lru_processing(hid_t orig_fapl, const char *env_h5_drvr)
search_addr = addr + sizeof(int) * 200;
if ((H5PB_page_exists(f->shared, search_addr, &page_exists) < 0) || (!page_exists))
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 1)
+ if (f->shared->page_buf->curr_rd_pages != 1)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 1)
+ if (f->shared->page_buf->curr_pages != 1)
FAIL_STACK_ERROR;
if (H5Fclose(file_id) < 0)
@@ -1759,7 +1743,7 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
int64_t base_meta_cnt = 0;
int i;
int num_elements = 1000;
- H5PB_t *pb_ptr;
+ H5PB_t *page_buf;
haddr_t meta_addr = HADDR_UNDEF;
haddr_t raw_addr = HADDR_UNDEF;
int * data = NULL;
@@ -1806,10 +1790,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
*/
HDassert(f);
HDassert(f->shared);
- HDassert(f->shared->pb_ptr);
+ HDassert(f->shared->page_buf);
- base_raw_cnt = f->shared->pb_ptr->curr_rd_pages;
- base_meta_cnt = f->shared->pb_ptr->curr_md_pages;
+ base_raw_cnt = f->shared->page_buf->curr_rd_pages;
+ base_meta_cnt = f->shared->page_buf->curr_md_pages;
if (base_raw_cnt != 0)
TEST_ERROR;
@@ -1817,12 +1801,12 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (base_meta_cnt != 2)
TEST_ERROR;
- pb_ptr = f->shared->pb_ptr;
+ page_buf = f->shared->page_buf;
- if (pb_ptr->min_md_pages != 5)
+ if (page_buf->min_md_pages != 5)
TEST_ERROR;
- if (pb_ptr->min_rd_pages != 0)
+ if (page_buf->min_rd_pages != 0)
TEST_ERROR;
if (HADDR_UNDEF == (meta_addr = H5MF_alloc(f, H5FD_MEM_SUPER, sizeof(int) * (size_t)num_elements)))
@@ -1852,10 +1836,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != base_meta_cnt)
+ if (f->shared->page_buf->curr_pages != base_meta_cnt)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_rd_pages != 0)
+ if (page_buf->curr_rd_pages != 0)
TEST_ERROR;
/* write all meta data, this would end up in page buffer */
@@ -1874,13 +1858,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 800), sizeof(int) * 50, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_md_pages != 5)
+ if (page_buf->curr_md_pages != 5)
TEST_ERROR;
- if (pb_ptr->curr_rd_pages != 0)
+ if (page_buf->curr_rd_pages != 0)
TEST_ERROR;
/* write and read more raw data and make sure that they don't end up in
@@ -1901,13 +1885,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 900), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_md_pages != 5)
+ if (page_buf->curr_md_pages != 5)
TEST_ERROR;
- if (pb_ptr->curr_rd_pages != 0)
+ if (page_buf->curr_rd_pages != 0)
TEST_ERROR;
if (H5Fclose(file_id) < 0)
@@ -1932,10 +1916,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
*/
HDassert(f);
HDassert(f->shared);
- HDassert(f->shared->pb_ptr);
+ HDassert(f->shared->page_buf);
- base_raw_cnt = f->shared->pb_ptr->curr_rd_pages;
- base_meta_cnt = f->shared->pb_ptr->curr_md_pages;
+ base_raw_cnt = f->shared->page_buf->curr_rd_pages;
+ base_meta_cnt = f->shared->page_buf->curr_md_pages;
if (base_raw_cnt != 0)
TEST_ERROR;
@@ -1943,11 +1927,11 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (base_meta_cnt != 0)
TEST_ERROR;
- pb_ptr = f->shared->pb_ptr;
+ page_buf = f->shared->page_buf;
- if (pb_ptr->min_md_pages != 0)
+ if (page_buf->min_md_pages != 0)
TEST_ERROR;
- if (pb_ptr->min_rd_pages != 5)
+ if (page_buf->min_rd_pages != 5)
FAIL_STACK_ERROR;
if (HADDR_UNDEF == (meta_addr = H5MF_alloc(f, H5FD_MEM_SUPER, sizeof(int) * (size_t)num_elements)))
@@ -1978,9 +1962,9 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 0)
+ if (f->shared->page_buf->curr_pages != 0)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_md_pages != 0)
+ if (page_buf->curr_md_pages != 0)
TEST_ERROR;
/* write/read all raw data, this would end up in page buffer */
@@ -1999,13 +1983,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_rd_pages != 5)
+ if (page_buf->curr_rd_pages != 5)
TEST_ERROR;
- if (pb_ptr->curr_md_pages != 0)
+ if (page_buf->curr_md_pages != 0)
TEST_ERROR;
/* write and read more meta data and make sure that they don't end up in
@@ -2026,13 +2010,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 900), sizeof(int) * 50, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (pb_ptr->curr_rd_pages != 5)
+ if (page_buf->curr_rd_pages != 5)
TEST_ERROR;
- if (pb_ptr->curr_md_pages != 0)
+ if (page_buf->curr_md_pages != 0)
TEST_ERROR;
if (H5Fclose(file_id) < 0)
@@ -2062,21 +2046,20 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
* metadata entry counts.
*/
- base_raw_cnt = f->shared->pb_ptr->curr_rd_pages;
- base_meta_cnt = f->shared->pb_ptr->curr_md_pages;
+ base_raw_cnt = f->shared->page_buf->curr_rd_pages;
+ base_meta_cnt = f->shared->page_buf->curr_md_pages;
if (base_raw_cnt != 0)
TEST_ERROR;
if (base_meta_cnt != 2)
TEST_ERROR;
+ page_buf = f->shared->page_buf;
- pb_ptr = f->shared->pb_ptr;
-
- if (pb_ptr->min_md_pages != 2)
+ if (page_buf->min_md_pages != 2)
TEST_ERROR;
- if (pb_ptr->min_rd_pages != 2)
+ if (page_buf->min_rd_pages != 2)
TEST_ERROR;
if (HADDR_UNDEF == (meta_addr = H5MF_alloc(f, H5FD_MEM_SUPER, sizeof(int) * (size_t)num_elements)))
@@ -2114,10 +2097,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 5 - base_meta_cnt)
+ if (f->shared->page_buf->curr_rd_pages != 5 - base_meta_cnt)
TEST_ERROR;
/* add 3 meta entries evicting 1 raw entry */
@@ -2130,13 +2113,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 400), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 3)
+ if (f->shared->page_buf->curr_md_pages != 3)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
TEST_ERROR;
/* adding more meta entires should replace meta entries since raw data
@@ -2148,10 +2131,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 3)
+ if (f->shared->page_buf->curr_md_pages != 3)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
TEST_ERROR;
/* bring existing raw entires up the LRU */
@@ -2164,10 +2147,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 350), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 2)
+ if (f->shared->page_buf->curr_md_pages != 2)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 3)
+ if (f->shared->page_buf->curr_rd_pages != 3)
TEST_ERROR;
/* read a metadata entry to force the flush of the metadata entries
@@ -2187,10 +2170,10 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 550), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 2)
+ if (f->shared->page_buf->curr_md_pages != 2)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 3)
+ if (f->shared->page_buf->curr_rd_pages != 3)
TEST_ERROR;
/* adding 2 meta entries should replace 2 entires at the bottom
@@ -2202,34 +2185,30 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_read(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 242), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 2)
+ if (f->shared->page_buf->curr_md_pages != 2)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 3)
+ if (f->shared->page_buf->curr_rd_pages != 3)
TEST_ERROR;
if (H5Fclose(file_id) < 0)
FAIL_STACK_ERROR;
HDprintf("\tMinimum metadata threshold = 20%%\n");
-
/* keep 5 pages at max in the page buffer and 1 meta page minimum */
if (H5Pset_page_buffer_size(fapl, sizeof(int) * 1000, 39, 0) < 0)
TEST_ERROR;
-
/* create the file */
if ((file_id = H5Fcreate(filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0)
FAIL_STACK_ERROR;
-
/* Get a pointer to the internal file object */
if (NULL == (f = (H5F_t *)H5VL_object(file_id)))
FAIL_STACK_ERROR;
+ page_buf = f->shared->page_buf;
- pb_ptr = f->shared->pb_ptr;
-
- if (pb_ptr->min_md_pages != 1)
+ if (page_buf->min_md_pages != 1)
TEST_ERROR;
- if (pb_ptr->min_rd_pages != 0)
+ if (page_buf->min_rd_pages != 0)
TEST_ERROR;
if (HADDR_UNDEF == (meta_addr = H5MF_alloc(f, H5FD_MEM_SUPER, sizeof(int) * (size_t)num_elements)))
@@ -2267,13 +2246,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 800), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 1)
+ if (f->shared->page_buf->curr_md_pages != 1)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 4)
+ if (f->shared->page_buf->curr_rd_pages != 4)
TEST_ERROR;
/* add 2 meta entries evicting 2 raw entries */
@@ -2283,13 +2262,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 200), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 3)
+ if (f->shared->page_buf->curr_md_pages != 3)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 2)
+ if (f->shared->page_buf->curr_rd_pages != 2)
TEST_ERROR;
/* bring the rest of the raw entries up the LRU */
@@ -2306,13 +2285,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 100), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 1)
+ if (f->shared->page_buf->curr_md_pages != 1)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 4)
+ if (f->shared->page_buf->curr_rd_pages != 4)
TEST_ERROR;
/* write one more raw entry which should replace another raw entry
@@ -2321,13 +2300,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_DRAW, raw_addr + (sizeof(int) * 300), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 1)
+ if (f->shared->page_buf->curr_md_pages != 1)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 4)
+ if (f->shared->page_buf->curr_rd_pages != 4)
TEST_ERROR;
/* write a metadata entry that should replace the metadata entry
@@ -2336,13 +2315,13 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
if (H5F_block_write(f, H5FD_MEM_SUPER, meta_addr + (sizeof(int) * 500), sizeof(int) * 100, data) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_pages != 5)
+ if (f->shared->page_buf->curr_pages != 5)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->curr_md_pages != 1)
+ if (f->shared->page_buf->curr_md_pages != 1)
TEST_ERROR;
- if (f->shared->pb_ptr->curr_rd_pages != 4)
+ if (f->shared->page_buf->curr_rd_pages != 4)
TEST_ERROR;
if (H5Fclose(file_id) < 0)
@@ -2361,19 +2340,19 @@ test_min_threshold(hid_t orig_fapl, const char *env_h5_drvr)
return 0;
error:
+
H5E_BEGIN_TRY
{
- if (fapl != H5I_INVALID_HID)
- H5Pclose(fapl);
- if (fcpl != H5I_INVALID_HID)
- H5Pclose(fcpl);
- if (file_id != H5I_INVALID_HID)
- H5Fclose(file_id);
- if (data != NULL)
+ H5Pclose(fapl);
+ H5Pclose(fcpl);
+ H5Fclose(file_id);
+ if (data)
HDfree(data);
}
H5E_END_TRY;
+
return 1;
+
} /* test_min_threshold */
/*-------------------------------------------------------------------------
@@ -2442,7 +2421,7 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
TEST_ERROR;
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
TEST_ERROR;
if (H5Pset_file_space_page_size(fcpl, sizeof(int) * 200) < 0)
@@ -2465,10 +2444,10 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
*/
HDassert(f);
HDassert(f->shared);
- HDassert(f->shared->pb_ptr);
+ HDassert(f->shared->page_buf);
- base_raw_cnt = f->shared->pb_ptr->curr_rd_pages;
- base_meta_cnt = f->shared->pb_ptr->curr_md_pages;
+ base_raw_cnt = f->shared->page_buf->curr_rd_pages;
+ base_meta_cnt = f->shared->page_buf->curr_md_pages;
if (base_raw_cnt != 0)
TEST_ERROR;
@@ -2575,47 +2554,50 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
FAIL_STACK_ERROR;
/* was 9, 16, 0 -- review this */
- if ((f->shared->pb_ptr->accesses[0] != 10) || (f->shared->pb_ptr->accesses[1] != 16) ||
- (f->shared->pb_ptr->accesses[2] != 0)) {
+ if ((f->shared->page_buf->accesses[0] != 10) || (f->shared->page_buf->accesses[1] != 16) ||
+ (f->shared->page_buf->accesses[2] != 0)) {
- HDfprintf(stderr, "accesses[] = {%d, %d, %d}. {10, 16, 0} expected\n", f->shared->pb_ptr->accesses[0],
- f->shared->pb_ptr->accesses[1], f->shared->pb_ptr->accesses[2]);
+ HDfprintf(stderr, "accesses[] = {%" PRId64 ", %" PRId64 ", %" PRId64 "}. {10, 16, 0} expected\n",
+ f->shared->page_buf->accesses[0], f->shared->page_buf->accesses[1],
+ f->shared->page_buf->accesses[2]);
TEST_ERROR;
}
/* was 2, 1, 1 -- review this */
- if ((f->shared->pb_ptr->bypasses[0] != 0) || (f->shared->pb_ptr->bypasses[1] != 1) ||
- (f->shared->pb_ptr->bypasses[2] != 1)) {
+ if ((f->shared->page_buf->bypasses[0] != 0) || (f->shared->page_buf->bypasses[1] != 1) ||
+ (f->shared->page_buf->bypasses[2] != 1)) {
- HDfprintf(stderr, "bypasses[] = {%d, %d, %d}. {0, 1, 1} expected\n", f->shared->pb_ptr->bypasses[0],
- f->shared->pb_ptr->bypasses[1], f->shared->pb_ptr->bypasses[2]);
+ HDfprintf(stderr, "bypasses[] = {%" PRId64 ", %" PRId64 ", %" PRId64 "}. {0, 1, 1} expected\n",
+ f->shared->page_buf->bypasses[0], f->shared->page_buf->bypasses[1],
+ f->shared->page_buf->bypasses[2]);
TEST_ERROR;
}
- if ((f->shared->pb_ptr->hits[0] != 0) || (f->shared->pb_ptr->hits[1] != 4) ||
- (f->shared->pb_ptr->hits[2] != 0)) {
+ if ((f->shared->page_buf->hits[0] != 0) || (f->shared->page_buf->hits[1] != 4) ||
+ (f->shared->page_buf->hits[2] != 0)) {
- HDfprintf(stderr, "hits[] = {%d, %d, %d}. {0, 4, 0} expected\n", f->shared->pb_ptr->hits[0],
- f->shared->pb_ptr->hits[1], f->shared->pb_ptr->hits[2]);
+ HDfprintf(stderr, "hits[] = {%" PRId64 ", %" PRId64 ", %" PRId64 "}. {0, 4, 0} expected\n",
+ f->shared->page_buf->hits[0], f->shared->page_buf->hits[1], f->shared->page_buf->hits[2]);
TEST_ERROR;
}
/* was 9, 16. 0 -- review this */
- if ((f->shared->pb_ptr->misses[0] != 10) || (f->shared->pb_ptr->misses[1] != 16) ||
- (f->shared->pb_ptr->misses[2] != 0)) {
+ if ((f->shared->page_buf->misses[0] != 10) || (f->shared->page_buf->misses[1] != 16) ||
+ (f->shared->page_buf->misses[2] != 0)) {
- HDfprintf(stderr, "misses[] = {%d, %d, %d}. {10, 16, 0} expected\n", f->shared->pb_ptr->misses[0],
- f->shared->pb_ptr->misses[1], f->shared->pb_ptr->misses[2]);
+ HDfprintf(stderr, "misses[] = {%" PRId64 ", %" PRId64 ", %" PRId64 "}. {10, 16, 0} expected\n",
+ f->shared->page_buf->misses[0], f->shared->page_buf->misses[1],
+ f->shared->page_buf->misses[2]);
TEST_ERROR;
}
/* was 7, 9, 0 -- review this */
- if ((f->shared->pb_ptr->evictions[0] != 9) || (f->shared->pb_ptr->evictions[1] != 9) ||
- (f->shared->pb_ptr->evictions[2] != 0)) {
+ if ((f->shared->page_buf->evictions[0] != 9) || (f->shared->page_buf->evictions[1] != 9) ||
+ (f->shared->page_buf->evictions[2] != 0)) {
- HDfprintf(stderr, "evictions[] = {%d, %d, %d}. {%d, %d, 0} expected\n",
- f->shared->pb_ptr->evictions[0], f->shared->pb_ptr->evictions[1],
- f->shared->pb_ptr->evictions[2], 7, 9);
+ HDfprintf(stderr, "evictions[] = {%" PRId64 ", %" PRId64 ", %" PRId64 "}. {7, 9, 0} expected\n",
+ f->shared->page_buf->evictions[0], f->shared->page_buf->evictions[1],
+ f->shared->page_buf->evictions[2]);
TEST_ERROR;
}
@@ -2669,7 +2651,6 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
if (H5Freset_page_buffering_stats(file_id) < 0)
FAIL_STACK_ERROR;
-
if (H5Fget_page_buffering_stats(file_id, accesses, hits, misses, evictions, bypasses) < 0)
FAIL_STACK_ERROR;
@@ -2693,7 +2674,7 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
TEST_ERROR;
if (evictions[1] != 0)
TEST_ERROR;
- }
+ } /* end block */
if (H5Fclose(file_id) < 0)
FAIL_STACK_ERROR;
@@ -2709,13 +2690,10 @@ test_stats_collection(hid_t orig_fapl, const char *env_h5_drvr)
error:
H5E_BEGIN_TRY
{
- if (fapl != H5I_INVALID_HID)
- H5Pclose(fapl);
- if (fcpl != H5I_INVALID_HID)
- H5Pclose(fcpl);
- if (file_id != H5I_INVALID_HID)
- H5Fclose(file_id);
- if (data != NULL)
+ H5Pclose(fapl);
+ H5Pclose(fcpl);
+ H5Fclose(file_id);
+ if (data)
HDfree(data);
}
H5E_END_TRY;
@@ -2767,7 +2745,7 @@ verify_page_buffering_disabled(hid_t orig_fapl, const char *env_h5_drvr)
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR;
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
FAIL_STACK_ERROR;
if (H5Pset_file_space_page_size(fcpl, 4096) < 0)
@@ -2792,7 +2770,7 @@ verify_page_buffering_disabled(hid_t orig_fapl, const char *env_h5_drvr)
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
FAIL_STACK_ERROR;
- if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, 1) < 0)
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, 0, (hsize_t)1) < 0)
FAIL_STACK_ERROR;
if (H5Pset_file_space_page_size(fcpl, 4096) < 0)
@@ -2832,12 +2810,9 @@ error:
H5E_BEGIN_TRY
{
- if (fapl != H5I_INVALID_HID)
- H5Pclose(fapl);
- if (fcpl != H5I_INVALID_HID)
- H5Pclose(fcpl);
- if (file_id != H5I_INVALID_HID)
- H5Fclose(file_id);
+ H5Pclose(fapl);
+ H5Pclose(fcpl);
+ H5Fclose(file_id);
}
H5E_END_TRY;
@@ -3264,7 +3239,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
* Get the number of pages inserted, and verify that it is the
* expected value.
*/
- base_page_cnt = f->shared->pb_ptr->curr_pages;
+ base_page_cnt = f->shared->page_buf->curr_pages;
if (base_page_cnt != 1)
TEST_ERROR;
@@ -3355,7 +3330,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 1;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3389,13 +3364,14 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 0) || (f->shared->pb_ptr->md_write_splits != 0))
+ if ((f->shared->page_buf->md_read_splits != 0) || (f->shared->page_buf->md_write_splits != 0))
TEST_ERROR;
- if ((f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 3) || (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 1))
+ if ((f->shared->page_buf->accesses[H5PB__STATS_MD] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 1))
TEST_ERROR;
/* 2) splittable md entry that is page aligned and exactly two
@@ -3430,7 +3406,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 3;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3464,25 +3440,25 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 0) || (f->shared->pb_ptr->md_write_splits != 0))
+ if ((f->shared->page_buf->md_read_splits != 0) || (f->shared->page_buf->md_write_splits != 0))
TEST_ERROR;
if (vfd_swmr_mode) {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MPMDE] != 3) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MPMDE] != 1))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MPMDE] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MPMDE] != 1))
TEST_ERROR;
}
else {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MPMDE] != 0))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MPMDE] != 0))
TEST_ERROR;
}
@@ -3506,7 +3482,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 5;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3540,14 +3516,15 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MD] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 8) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 6) || (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 2))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MD] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 8) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 6) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 2))
TEST_ERROR;
/* 4) splittable md entry that is exactly one page and one byte
@@ -3572,19 +3549,19 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 7;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->md_write_splits != 1)
+ if (f->shared->page_buf->md_write_splits != 1)
TEST_ERROR;
if (H5F_block_read(f, H5FD_MEM_SUPER, start_addr, test_len, read_buf) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->md_read_splits != 1)
+ if (f->shared->page_buf->md_read_splits != 1)
TEST_ERROR;
for (i = 0; i < (int)test_len; i++) {
@@ -3612,14 +3589,15 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MD] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 8) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 6) || (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 2))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MD] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 8) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 6) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 2))
TEST_ERROR;
/* 5) splittable md entry that is exactly one page and two bytes
@@ -3643,7 +3621,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 9;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3677,14 +3655,15 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MD] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 12) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 9) || (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 3))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MD] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 12) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 9) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 3))
TEST_ERROR;
/* 6) splittable md entry that is two bytes long, and starts one
@@ -3708,7 +3687,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 11;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3742,14 +3721,15 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MD] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 8) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 6) || (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 2))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MD] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 8) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 6) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 2))
TEST_ERROR;
/* 7) splittable md entry that is page aligned and is exactly two
@@ -3791,7 +3771,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 13;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -3825,31 +3805,31 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
if (vfd_swmr_mode) {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MPMDE] != 3) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 1))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MPMDE] != 3) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 1))
TEST_ERROR;
}
else {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 2) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 1))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 2) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 1))
TEST_ERROR;
}
@@ -3893,19 +3873,19 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 15;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->md_write_splits != 1)
+ if (f->shared->page_buf->md_write_splits != 1)
TEST_ERROR;
if (H5F_block_read(f, H5FD_MEM_SUPER, start_addr, test_len, read_buf) < 0)
FAIL_STACK_ERROR;
- if (f->shared->pb_ptr->md_read_splits != 1)
+ if (f->shared->page_buf->md_read_splits != 1)
TEST_ERROR;
for (i = 0; i < (int)test_len; i++) {
@@ -3933,31 +3913,31 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
if (vfd_swmr_mode) {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MPMDE] != 3) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 1))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MPMDE] != 3) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 1))
TEST_ERROR;
}
else {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 4) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 3) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 2) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 1))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 4) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 3) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 2) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 1))
TEST_ERROR;
}
@@ -3998,7 +3978,7 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
for (i = 0; i < (int)test_len; i++)
write_buf[i] = 17;
- if (H5PB_reset_stats(f->shared->pb_ptr) < 0)
+ if (H5PB_reset_stats(f->shared->page_buf) < 0)
FAIL_STACK_ERROR;
if (H5F_block_write(f, H5FD_MEM_SUPER, start_addr, test_len, write_buf) < 0)
@@ -4032,31 +4012,31 @@ md_entry_splitting_boundary_test(hid_t orig_fapl, const char *env_h5_drvr, bool
}
}
- if ((f->shared->pb_ptr->md_read_splits != 2) || (f->shared->pb_ptr->md_write_splits != 2))
+ if ((f->shared->page_buf->md_read_splits != 2) || (f->shared->page_buf->md_write_splits != 2))
TEST_ERROR;
if (vfd_swmr_mode) {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 8) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MPMDE] != 3) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 6) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MPMDE] != 0) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MPMDE] != 1) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 2))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 8) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MPMDE] != 3) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 6) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MPMDE] != 0) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MPMDE] != 1) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 2))
TEST_ERROR;
}
else {
- if ((f->shared->pb_ptr->bypasses[H5PB__STATS_MPMDE] != 4) ||
- (f->shared->pb_ptr->accesses[H5PB__STATS_MD] != 8) ||
- (f->shared->pb_ptr->hits[H5PB__STATS_MD] != 6) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MPMDE] != 2) ||
- (f->shared->pb_ptr->misses[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->loads[H5PB__STATS_MD] != 2) ||
- (f->shared->pb_ptr->insertions[H5PB__STATS_MD] != 2))
+ if ((f->shared->page_buf->bypasses[H5PB__STATS_MPMDE] != 4) ||
+ (f->shared->page_buf->accesses[H5PB__STATS_MD] != 8) ||
+ (f->shared->page_buf->hits[H5PB__STATS_MD] != 6) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MPMDE] != 2) ||
+ (f->shared->page_buf->misses[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->loads[H5PB__STATS_MD] != 2) ||
+ (f->shared->page_buf->insertions[H5PB__STATS_MD] != 2))
TEST_ERROR;
}
@@ -4141,12 +4121,12 @@ main(void)
HDputs("Skip page buffering test because paged aggregation is disabled for multi/split drivers");
HDputs("Furthermore, VFD SWMR is not (yet) expected to work with multi/split drivers");
HDexit(EXIT_SUCCESS);
- }
+ } /* end if */
if ((fapl = h5_fileaccess()) < 0) {
nerrors++;
PUTS_ERROR("Can't get VFD-dependent fapl")
- }
+ } /* end if */
/* Push API context */
if (H5CX_push() < 0)
diff --git a/test/ros3.c b/test/ros3.c
index 54518f4..b7b27ed 100644
--- a/test/ros3.c
+++ b/test/ros3.c
@@ -106,7 +106,7 @@
*/
#define JSFAILED_AT() \
{ \
- HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); \
+ HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, __func__); \
}
/*----------------------------------------------------------------------------
diff --git a/test/s3comms.c b/test/s3comms.c
index 6202af3..cec7a27 100644
--- a/test/s3comms.c
+++ b/test/s3comms.c
@@ -96,7 +96,7 @@
*/
#define JSFAILED_AT() \
{ \
- HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); \
+ HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, __func__); \
}
/*----------------------------------------------------------------------------
diff --git a/test/swmr_addrem_writer.c b/test/swmr_addrem_writer.c
index 9455653..5f0bba0 100644
--- a/test/swmr_addrem_writer.c
+++ b/test/swmr_addrem_writer.c
@@ -170,7 +170,7 @@ addrem_records(hid_t fid, unsigned verbose, unsigned long nops, unsigned long fl
hid_t file_sid; /* Dataset's space ID */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Decide whether to shrink or expand, and by how much */
count[1] = (hsize_t)HDrandom() % (MAX_SIZE_CHANGE * 2) + 1;
diff --git a/test/swmr_common.c b/test/swmr_common.c
index d59f7a7..46c80cf 100644
--- a/test/swmr_common.c
+++ b/test/swmr_common.c
@@ -97,7 +97,7 @@ char VDS_DSET_NAME[NAME_LEN] = "vds_dset";
*-------------------------------------------------------------------------
*/
symbol_info_t *
-choose_dataset(unsigned *levelp, unsigned *offsetp)
+choose_dataset(unsigned *levelp, unsigned *offsetp, hbool_t verbose)
{
static unsigned ncalls = 0;
unsigned level; /* The level of the dataset */
@@ -110,7 +110,7 @@ choose_dataset(unsigned *levelp, unsigned *offsetp)
offset = (unsigned)(HDrandom() % (int)symbol_count[level]);
++ncalls;
- if ((ncalls % 1000) == 0) {
+ if ((ncalls % 1000) == 0 && verbose) {
fprintf(stderr, "%s: call %u chose level %u offset %u\n", __func__, ncalls, level, offset);
}
if (levelp != NULL)
diff --git a/test/swmr_common.h b/test/swmr_common.h
index 7e0ee23..3a3f41d 100644
--- a/test/swmr_common.h
+++ b/test/swmr_common.h
@@ -64,7 +64,7 @@ H5TEST_DLLVAR unsigned symbol_count[NLEVELS];
extern "C" {
#endif
-H5TEST_DLL symbol_info_t *choose_dataset(unsigned *, unsigned *);
+H5TEST_DLL symbol_info_t *choose_dataset(unsigned *, unsigned *, hbool_t);
H5TEST_DLL hid_t create_symbol_datatype(void);
H5TEST_DLL int generate_name(char *name_buf, unsigned level, unsigned count);
H5TEST_DLL int generate_symbols(void);
diff --git a/test/swmr_reader.c b/test/swmr_reader.c
index 5e79f87..cc16b92 100644
--- a/test/swmr_reader.c
+++ b/test/swmr_reader.c
@@ -249,7 +249,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
symbol_info_t *sym; /* Symbol to use */
/* Determine the symbol, within all symbols */
- if (NULL == (sym = choose_dataset(NULL, NULL)))
+ if (NULL == (sym = choose_dataset(NULL, NULL, verbose)))
return -1;
sym_rand[v] = sym;
diff --git a/test/swmr_remove_reader.c b/test/swmr_remove_reader.c
index 3beb35d..0850b0b 100644
--- a/test/swmr_remove_reader.c
+++ b/test/swmr_remove_reader.c
@@ -244,7 +244,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns
symbol_info_t *sym; /* Symbol to use */
/* Determine the symbol, within all symbols */
- if (NULL == (sym = choose_dataset(NULL, NULL)))
+ if (NULL == (sym = choose_dataset(NULL, NULL, verbose)))
return -1;
sym_rand[v] = sym;
diff --git a/test/swmr_remove_writer.c b/test/swmr_remove_writer.c
index fddff12..e209285 100644
--- a/test/swmr_remove_writer.c
+++ b/test/swmr_remove_writer.c
@@ -156,7 +156,7 @@ remove_records(hid_t fid, unsigned verbose, unsigned long nshrinks, unsigned lon
hsize_t remove_size; /* Size to reduce dataset dimension by */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Shrink the dataset's dataspace */
remove_size = (hsize_t)HDrandom() % MAX_REMOVE_SIZE + 1;
diff --git a/test/swmr_sparse_reader.c b/test/swmr_sparse_reader.c
index af7ded3..6c1bd19 100644
--- a/test/swmr_sparse_reader.c
+++ b/test/swmr_sparse_reader.c
@@ -232,7 +232,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns
unsigned long file_u; /* Attribute sequence number (writer's "u") */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Fill in "nrecords" field. Note that this depends on the writer
* using the same algorithm and "nrecords" */
diff --git a/test/swmr_sparse_writer.c b/test/swmr_sparse_writer.c
index f7460ee..2b46bb2 100644
--- a/test/swmr_sparse_writer.c
+++ b/test/swmr_sparse_writer.c
@@ -177,7 +177,7 @@ add_records(hid_t fid, unsigned verbose, unsigned long nrecords, unsigned long f
hbool_t corked; /* Whether the dataset was corked */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* If this is the first time the dataset has been opened, extend it and
* add the sequence attribute */
diff --git a/test/swmr_start_write.c b/test/swmr_start_write.c
index bc0d0d2..9c51402 100644
--- a/test/swmr_start_write.c
+++ b/test/swmr_start_write.c
@@ -241,7 +241,7 @@ add_records(hid_t fid, hbool_t verbose, FILE *verbose_file, unsigned long nrecor
hid_t file_sid; /* Dataset's space ID */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Set the record's ID (equal to its position) */
record.rec_id = symbol->nrecords;
diff --git a/test/swmr_writer.c b/test/swmr_writer.c
index 40f4d68..6743f45 100644
--- a/test/swmr_writer.c
+++ b/test/swmr_writer.c
@@ -177,7 +177,7 @@ add_records(hid_t fid, hbool_t verbose, FILE *verbose_file, unsigned long nrecor
hid_t file_sid; /* Dataset's space ID */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Set the record's ID (equal to its position) */
record.rec_id = symbol->nrecords;
diff --git a/test/tarray.c b/test/tarray.c
index 8b518cf..af167a7 100644
--- a/test/tarray.c
+++ b/test/tarray.c
@@ -157,8 +157,9 @@ test_array_atomic_1d(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -490,8 +491,9 @@ test_array_array_atomic(void)
/* Check the array dimensions */
for (i = 0; i < ndims1; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -668,8 +670,9 @@ test_array_compound_atomic(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -889,8 +892,9 @@ test_array_compound_array(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -951,9 +955,9 @@ test_array_compound_array(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf(
- "Nested array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Nested array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -1210,8 +1214,9 @@ test_array_vlen_atomic(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -1440,8 +1445,9 @@ test_array_vlen_array(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -1472,8 +1478,9 @@ test_array_vlen_array(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -2081,9 +2088,9 @@ test_compat(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf(
- "Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
@@ -2129,9 +2136,9 @@ test_compat(void)
/* Check the array dimensions */
for (i = 0; i < ndims; i++)
if (rdims1[i] != tdims1[i]) {
- TestErrPrintf(
- "Array dimension information doesn't match!, rdims1[%d]=%llu, tdims1[%d]=%llu\n", i,
- rdims1[i], i, tdims1[i]);
+ TestErrPrintf("Array dimension information doesn't match!, rdims1[%d]=%" PRIuHSIZE
+ ", tdims1[%d]=%" PRIuHSIZE "\n",
+ i, rdims1[i], i, tdims1[i]);
continue;
} /* end if */
diff --git a/test/testframe.c b/test/testframe.c
index f805997..d3f0211 100644
--- a/test/testframe.c
+++ b/test/testframe.c
@@ -320,9 +320,9 @@ PerformTests(void)
MESSAGE(5, ("===============================================\n"));
Test[Loop].NumErrors = num_errs;
Test_parameters = Test[Loop].Parameters;
- ALARM_ON;
+ TestAlarmOn();
Test[Loop].Call();
- ALARM_OFF;
+ TestAlarmOff();
Test[Loop].NumErrors = num_errs - Test[Loop].NumErrors;
MESSAGE(5, ("===============================================\n"));
MESSAGE(5, ("There were %d errors detected.\n\n", (int)Test[Loop].NumErrors));
@@ -620,12 +620,15 @@ SetTest(const char *testname, int action)
}
}
-/*
- * Enable alarm on test execution, configurable by environment variable
+/* Enable a test timer that will kill long-running tests, the time is configurable
+ * via an environment variable.
+ *
+ * Only useful on POSIX systems where alarm(2) is present.
*/
void
TestAlarmOn(void)
{
+#ifdef H5_HAVE_ALARM
char * env_val = HDgetenv("HDF5_ALARM_SECONDS"); /* Alarm environment */
unsigned long alarm_sec = H5_ALARM_SEC; /* Number of seconds before alarm goes off */
@@ -635,4 +638,15 @@ TestAlarmOn(void)
/* Set the number of seconds before alarm goes off */
HDalarm((unsigned)alarm_sec);
+#endif
+}
+
+/* Disable the test timer */
+void
+TestAlarmOff(void)
+{
+#ifdef H5_HAVE_ALARM
+ /* Set the number of seconds to zero */
+ HDalarm(0);
+#endif
}
diff --git a/test/testvfdswmr.sh.in b/test/testvfdswmr.sh.in
index 1fccfe6..d187d97 100644
--- a/test/testvfdswmr.sh.in
+++ b/test/testvfdswmr.sh.in
@@ -27,17 +27,9 @@ srcdir=@srcdir@
## test parameters
###############################################################################
-Nreaders=5 # number of readers to launch
-Nrdrs_spa=3 # number of sparse readers to launch
-Nrecords=400000 # number of records to write
-Nrecs_rem=40000 # number of times to shrink
-Nrecs_spa=20000 # number of records to write in the sparse test
-Nsecs_add=5 # number of seconds per read interval
-Nsecs_rem=3 # number of seconds per read interval
-Nsecs_addrem=8 # number of seconds per read interval
nerrors=0
nsofterrors=0 # soft errors are expected to occur some of the time
- # on a couple of nondeterministic tests.
+ # on a couple of nondeterministic tests.
###############################################################################
## test parameters for vfd_swmr_bigset_writer.c and vfd_swmr_group_writer.c
@@ -46,35 +38,16 @@ nsofterrors=0 # soft errors are expected to occur some of the time
## 1: Default run.
## 2+: Quick run
###############################################################################
+#
if [[ -z $HDF5TestExpress ]]; then # Set to default when not set
HDF5TestExpress=1
fi
-##
-##Default setting
-BIGSET_n=25 # -n option: # of iterations
-BIGSET_few_s=20 # -s option: # of datasets (for few_big test)
-BIGSET_many_s=200 # -s option: # of datasets (for many_small test)
-GROUP_n=40 # -n option: # of groups (for group test)
-GROUP_attr_n=1 # -n option: # of groups (for group attribute test)
-GROUP_op_n=1 # -n option: # of groups (for group attribute test)
-
-if [[ "$HDF5TestExpress" -eq 0 ]] ; then # Setting for exhaustive run
- BIGSET_n=50
- BIGSET_few_s=40
- BIGSET_many_s=400
- GROUP_n=400
- GROUP_attr_n=2
- GROUP_op_n=2
-elif [[ "$HDF5TestExpress" -gt 1 ]]; then # Setting for quick run
- BIGSET_n=10
- BIGSET_few_s=10
- BIGSET_many_s=100
- GROUP_n=20
-fi
###############################################################################
-## definitions for message file to coordinate test runs
+## For legacy tests:
+## definitions for message file to coordinate test runs
###############################################################################
+#
WRITER_MESSAGE=VFD_SWMR_WRITER_MESSAGE # The message file created by writer that the open is complete
# This should be the same as the define in "./swmr_common.h"
MESSAGE_TIMEOUT=300 # Message timeout length in secs
@@ -83,30 +56,33 @@ MESSAGE_TIMEOUT=300 # Message timeout length in secs
###############################################################################
## For attrdset test: definitions for fifo files to coordinate test runs
###############################################################################
+#
ATTRDSET_FIFO_WRITER_TO_READER=fifo_attrdset_writer_to_reader
ATTRDSET_FIFO_READER_TO_WRITER=fifo_attrdset_reader_to_writer
###############################################################################
## For dsetops test: definitions for fifo files to coordinate test runs
###############################################################################
+#
DSETOPS_FIFO_WRITER_TO_READER=fifo_dsetops_writer_to_reader
DSETOPS_FIFO_READER_TO_WRITER=fifo_dsetops_reader_to_writer
###############################################################################
+## For dsetchks test: definitions for fifo files to coordinate test runs
+###############################################################################
+#
+DSETCHKS_FIFO_WRITER_TO_READER=fifo_dsetchks_writer_to_reader
+DSETCHKS_FIFO_READER_TO_WRITER=fifo_dsetchks_reader_to_writer
+
+###############################################################################
## short hands and function definitions
###############################################################################
+#
DPRINT=: # Set to "echo Debug:" for debugging printing,
# else ":" for noop.
IFDEBUG=: # Set to null to turn on debugging, else ":" for noop.
-# Print a line-line message left justified in a field of 70 characters
-# beginning with the word "Testing".
-#
-TESTING() {
- SPACES=" "
- echo "Testing $* $SPACES" | cut -c1-70 | tr -d '\012'
-}
-
+# For legacy tests:
# To wait for the writer message file or till the maximum # of seconds is reached
# $1 is the message file to wait for
# This performs similar function as the routine h5_wait_message() in test/h5test.c
@@ -165,10 +141,15 @@ if [ $rc -ne 0 ] ; then
exit 0
fi
-all_tests="generator expand shrink expand_shrink sparse vlstr_null vlstr_oob zoo groups attrdset dsetops"
-all_tests="${all_tests} groups_attrs os_groups_attrs groups_ops os_groups_ops few_big many_small"
+all_tests="generator expand shrink expand_shrink sparse vlstr_null vlstr_oob zoo"
+all_tests="${all_tests} groups groups_attrs groups_ops few_big many_small attrdset"
tests=${all_tests}
+# For exhaustive run, add: os_groups_attrs, os_groups_ops, dsetops, dsetchks
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ all_tests="${all_tests} os_groups_attrs os_groups_ops dsetops dsetchks"
+fi
+
if [ $# -gt 0 ]; then
tests=
fi
@@ -211,13 +192,38 @@ mkdir vfd_swmr_test
cd vfd_swmr_test
-
+###############################################################################
+#
+# Legacy SWMR tests
+#
+###############################################################################
+#
+#
+# Default setting
+Nreaders=5 # number of readers to launch
+Nrdrs_spa=3 # number of sparse readers to launch
+Nrecords=200000 # number of records to write
+Nrecs_rem=40000 # number of times to shrink
+Nrecs_spa=20000 # number of records to write in the sparse test
+Nsecs_add=5 # number of seconds per read interval
+Nsecs_rem=3 # number of seconds per read interval
+Nsecs_addrem=8 # number of seconds per read interval
+compress_list=("") # No filter for default and quick runs
+#
+#
+# Setting for exhaustive run
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then
+ Nrecords=400000 # Increase the number of records to write
+ compress_list=("" "-c 5") # Enable filter
+fi
+#
+#
# Loop over index types
for index_type in "-i ea" "-i b2"
do
# Try without compression, only; uncomment "-c 5" to try with compression.
- for compress in "" "-c 5"
+ for compress in "${compress_list[@]}";
do
echo
echo "** Loop testing parameters: $index_type $compress"
@@ -261,7 +267,7 @@ do
echo launch the vfd_swmr_writer
seed="" # Put -r <random seed> command here
catch_out_err_and_rc vfd_swmr_writer \
- ../vfd_swmr_writer -o $Nrecords $seed &
+ ../vfd_swmr_writer -q -o $Nrecords $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
@@ -270,14 +276,14 @@ do
#
# Launch the Readers
#declare -a seeds=(<seed1> <seed2> <seed3> ... )
- echo launch $Nreaders vfd_swmr_readers
+ echo launch $Nreaders vfd_swmr_readers ......may take some time......
pid_readers=""
n=0
while [ $n -lt $Nreaders ]; do
#seed="-r ${seeds[$n]}"
seed=""
catch_out_err_and_rc vfd_swmr_reader.$n \
- ../vfd_swmr_reader $Nsecs_add $seed &
+ ../vfd_swmr_reader -q $Nsecs_add $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -328,7 +334,7 @@ do
echo launch the vfd_swmr_remove_writer
seed="" # Put -r <random seed> command here
catch_out_err_and_rc vfd_swmr_writer \
- ../vfd_swmr_remove_writer -o $Nrecs_rem $seed &
+ ../vfd_swmr_remove_writer -q -o $Nrecs_rem $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
@@ -339,12 +345,12 @@ do
#declare -a seeds=(<seed1> <seed2> <seed3> ... )
n=0
pid_readers=""
- echo launch $Nreaders swmr_remove_readers
+ echo launch $Nreaders swmr_remove_readers ......may take some time ......
while [ $n -lt $Nreaders ]; do
#seed="-r ${seeds[$n]}"
seed=""
catch_out_err_and_rc vfd_swmr_reader.$n \
- ../vfd_swmr_remove_reader $Nsecs_rem $seed &
+ ../vfd_swmr_remove_reader -q $Nsecs_rem $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -396,7 +402,7 @@ do
# Launch the Writer (not in parallel - just to rebuild the datasets)
echo launch the vfd_swmr_writer
seed="" # Put -r <random seed> command here
- ../vfd_swmr_writer -W $Nrecords $seed
+ ../vfd_swmr_writer -q -W $Nrecords $seed
if test $? -ne 0; then
echo writer had error
nerrors=`expr $nerrors + 1`
@@ -409,7 +415,7 @@ do
echo launch the vfd_swmr_addrem_writer
seed="" # Put -r <random seed> command here
catch_out_err_and_rc vfd_swmr_writer \
- ../vfd_swmr_addrem_writer $Nrecords $seed &
+ ../vfd_swmr_addrem_writer -q $Nrecords $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
@@ -420,12 +426,12 @@ do
#declare -a seeds=(<seed1> <seed2> <seed3> ... )
n=0
pid_readers=""
- echo launch $Nreaders vfd_swmr_remove_readers
+ echo launch $Nreaders vfd_swmr_remove_readers ...... may take some time ......
while [ $n -lt $Nreaders ]; do
#seed="-r ${seeds[$n]}"
seed=""
catch_out_err_and_rc vfd_swmr_reader.$n \
- ../vfd_swmr_remove_reader $Nsecs_addrem $seed &
+ ../vfd_swmr_remove_reader -q $Nsecs_addrem $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -483,7 +489,7 @@ do
# Launch the Sparse writer
echo launch the vfd_swmr_sparse_writer
catch_out_err_and_rc vfd_swmr_writer nice -n 20 \
- ../vfd_swmr_sparse_writer $Nrecs_spa &
+ ../vfd_swmr_sparse_writer -q $Nrecs_spa &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
@@ -493,7 +499,7 @@ do
# Launch the Sparse readers
n=0
pid_readers=""
- echo launch $Nrdrs_spa vfd_swmr_sparse_readers
+ echo launch $Nrdrs_spa vfd_swmr_sparse_readers ..... may take some time ......
while [ $n -lt $Nrdrs_spa ]; do
# The sparse reader spits out a LOT of data so it's set to 'quiet'
catch_out_err_and_rc vfd_swmr_reader.$n \
@@ -540,9 +546,15 @@ do
done
done
+###############################################################################
+#
+# "vlstr_null" and "vlstr_oob" tests
#
# Test variable-length strings, expecting errors.
#
+###############################################################################
+#
+#
for ty in null oob; do
if [ ${ty} = null ]; then
@@ -555,7 +567,7 @@ for ty in null oob; do
echo "## VL string 2 - expect out-of-bounds access"
fi
- echo launch vfd_swmr_vlstr_writer
+ echo launch vfd_swmr_vlstr_writer ..... may take some time ......
catch_out_err_and_rc vfd_swmr_vlstr_writer \
../vfd_swmr_vlstr_writer -n 500 -q -t ${ty} &
pid_writer=$!
@@ -591,10 +603,16 @@ for ty in null oob; do
rm -f vfd_swmr_vlstr_reader.*.{out,rc}
done
+###############################################################################
+#
+# "zoo" tests
#
# Make sure that a "zoo"---the variety of HDF5 object types---can be
# read and written by VFD SWMR.
#
+###############################################################################
+#
+#
if [ ${do_zoo:-no} = yes ]; then
rm -f ./shared_tick_num
echo launch vfd_swmr_zoo_writer
@@ -632,110 +650,34 @@ if [ ${do_zoo:-no} = yes ]; then
rm -f vfd_swmr_zoo_reader.*.{out,rc}
fi
-# attrdset test
-for options in "-p -g -a 10 -v -m -d 10 -c 3 -u 5" "-k -a 20 -v -m -d 5"; do
- #
- # Test a few big datasets of one and two dimensions.
- #
- if [ ${do_attrdset:-no} = no ]; then
- continue
- fi
-
- # Clean up any existing fifo files from previous runs
- if [ -e ./$ATTRDSET_FIFO_WRITER_TO_READER ]; then # If writer fifo file is found
- rm -f ./$ATTRDSET_FIFO_WRITER_TO_READER
- fi
- if [ -e ./$ATTRDSET_FIFO_READER_TO_WRITER ]; then # If reader fifo file is found
- rm -f ./$ATTRDSET_FIFO_READER_TO_WRITER
- fi
-
- echo launch vfd_swmr_attrdset_writer attrdset, options $options
- catch_out_err_and_rc vfd_swmr_attrdset_writer \
- ../vfd_swmr_attrdset_writer $options &
- pid_writer=$!
-
- catch_out_err_and_rc vfd_swmr_attrdset_reader \
- ../vfd_swmr_attrdset_reader $options &
- pid_reader=$!
-
- # Wait for the reader to finish before signaling the
- # writer to quit: the writer holds the file open so that the
- # reader will find the shadow file when it opens
- # the .h5 file.
- wait $pid_reader
- wait $pid_writer
-
- # Collect exit code of the reader
- if [ $(cat vfd_swmr_attrdset_reader.rc) -ne 0 ]; then
- echo reader had error
- nerrors=$((nerrors + 1))
- fi
-
- # Collect exit code of the writer
- if [ $(cat vfd_swmr_attrdset_writer.rc) -ne 0 ]; then
- echo writer had error
- nerrors=$((nerrors + 1))
- fi
-
- # Clean up output files
- rm -f vfd_swmr_attrdset_writer.{out,rc}
- rm -f vfd_swmr_attrdset_reader.*.{out,rc}
-done
-
-# dsetops test
-for options in "-p -e 20 -t" "-g -m 5 -n 2 -s 10 -w 7" "-k -m 10 -n 5 -r 5 -l 10"; do
- #
- #
- if [ ${do_dsetops:-no} = no ]; then
- continue
- fi
- # Clean up any existing fifo files from previous runs
- if [ -e ./$DSETOPS_FIFO_WRITER_TO_READER ]; then # If writer fifo file is found
- rm -f ./$DSETOPS_FIFO_WRITER_TO_READER
- fi
- if [ -e ./$DSETOPS_FIFO_READER_TO_WRITER ]; then # If reader fifo file is found
- rm -f ./$DSETOPS_FIFO_READER_TO_WRITER
- fi
- #
- echo launch vfd_swmr_dsetops_writer dsetops, options $options
- catch_out_err_and_rc vfd_swmr_dsetops_writer \
- ../vfd_swmr_dsetops_writer $options &
- pid_writer=$!
-
- catch_out_err_and_rc vfd_swmr_dsetops_reader \
- ../vfd_swmr_dsetops_reader $options &
- pid_reader=$!
-
- # Wait for the reader to finish before signaling the
- # writer to quit: the writer holds the file open so that the
- # reader will find the shadow file when it opens
- # the .h5 file.
- wait $pid_reader
- wait $pid_writer
-
- # Collect exit code of the reader
- if [ $(cat vfd_swmr_dsetops_reader.rc) -ne 0 ]; then
- echo reader had error
- nerrors=$((nerrors + 1))
- fi
-
- # Collect exit code of the writer
- if [ $(cat vfd_swmr_dsetops_writer.rc) -ne 0 ]; then
- echo writer had error
- nerrors=$((nerrors + 1))
- fi
-
- # Clean up output files
- rm -f vfd_swmr_dsetops_writer.{out,rc}
- rm -f vfd_swmr_dsetops_reader.*.{out,rc}
-done
+###############################################################################
+#
+# "groups" test
#
-# Make sure that we can create GROUP_n groups (20, 40, or 400 depending on the HDF5TestExpress level)
+# Make sure that we can create GROUP_n groups
+# (10, 20, or 400 depending on the HDF5TestExpress level)
# while a reader waits for each to appear.
#
+###############################################################################
+#
+#
+# Default setting
+#
+GROUP_n=20 # -n option: # of groups (for "groups" test)
+#
+#
+# Setting for exhaustive and quick runs
+#
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ GROUP_n=400
+elif [[ "$HDF5TestExpress" -gt 1 ]]; then # quick run
+ GROUP_n=10
+fi
+#
+#
if [ ${do_groups:-no} = yes ]; then
- echo launch vfd_swmr_group_writer
+ echo launch vfd_swmr_group_writer ......may take some time......
catch_out_err_and_rc vfd_swmr_group_writer \
../vfd_swmr_group_writer -q -c 10 -n $GROUP_n &
pid_writer=$!
@@ -768,17 +710,37 @@ if [ ${do_groups:-no} = yes ]; then
rm -f vfd_swmr_group_reader.*.{out,rc}
fi
+###############################################################################
+#
+# "groups_attrs" test
+#
# The group attribute test takes longer.
-# So for standard run and quick run, we
-# shorten the number of tests. The standard
-# run covers all the features we need to
-# test. The quick run doesn't cover the
-# attribute storage change between dense and
-# compact.
-# The exhaustive run tries to test a feature
-# per test from scratch.
-#
+# So for standard run and quick run, we shorten the number of tests.
+# The standard run covers all the features we need to test.
+# The quick run doesn't cover the attribute storage change
+# between dense and compact.
+# The exhaustive run tries to test a feature per test from scratch.
+#
+###############################################################################
+#
+#
+# Default setting
+#
+GROUP_attr_n=1 # -n option: # of groups (for group attribute test)
grp_attr_list=(
+ "dense-del-to-compact"
+ "modify"
+ "remove-vstr"
+ "modify-vstr"
+ "del-ohr-block"
+ )
+#
+#
+# Setting for exhaustive and quick runs
+#
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ GROUP_attr_n=2
+ grp_attr_list=(
"compact"
"dense"
"compact-del"
@@ -792,33 +754,22 @@ grp_attr_list=(
"add-ohr-block"
"del-ohr-block"
)
-grp_sub_attr_list=(
- "dense-del-to-compact"
- "modify"
- "remove-vstr"
- "modify-vstr"
- "del-ohr-block"
- )
-
-grp_short_sub_attr_list=(
+elif [[ "$HDF5TestExpress" -gt 1 ]] ; then # quick run
+ grp_attr_list=(
"dense"
"modify"
"remove-vstr"
"modify-vstr"
"del-ohr-block"
)
-
-if [[ "$HDF5TestExpress" -eq 1 ]] ; then #Setting for standard run
- grp_attr_list=("${grp_sub_attr_list[@]}")
-elif [[ "$HDF5TestExpress" -gt 1 ]] ; then #Setting for quick run
- grp_attr_list=("${grp_short_sub_attr_list[@]}")
fi
-
+#
+#
for options in ${grp_attr_list[*]}; do
if [ ${do_groups_attrs:-no} = no ]; then
continue
fi
- echo launch vfd_swmr_group attribute: $options
+ echo launch vfd_swmr_group attribute: $options ......may take some time......
catch_out_err_and_rc vfd_swmr_group_writer \
../vfd_swmr_group_writer -q -c 1 -n $GROUP_attr_n -a 1 -A $options &
pid_writer=$!
@@ -851,6 +802,12 @@ for options in ${grp_attr_list[*]}; do
rm -f vfd_swmr_group_reader.*.{out,rc}
done
+###############################################################################
+#
+# "os_groups_attrs" test
+#
+# Only for exhaustive run
+#
# The following tests are for add/del/modify attributes for
# groups created with the old-style.
# Check https://portal.hdfgroup.org/display/HDF5/Groups for
@@ -859,6 +816,9 @@ done
# and deletion tests. Other test names have the same meaning
# as those of the new-style group tests.
#
+###############################################################################
+#
+#
os_grp_attr_list=(
"compact"
"compact-del"
@@ -868,22 +828,14 @@ os_grp_attr_list=(
"modify-vstr"
"add-ohr-block"
"del-ohr-block"
- )
-os_grp_sub_attr_list=(
- "modify"
- "remove-vstr"
- "modify-vstr"
- "del-ohr-block"
- )
-if [[ "$HDF5TestExpress" -gt 0 ]] ; then #Setting for standard run
- os_grp_attr_list=("${os_grp_sub_attr_list[@]}")
-fi
-
+ )
+#
+#
for options in ${os_grp_attr_list[*]}; do
if [ ${do_os_groups_attrs:-no} = no ]; then
continue
fi
- echo launch vfd_swmr_group attribute with old-style group: $options
+ echo launch vfd_swmr_group attribute with old-style group: $options ......may take some time......
catch_out_err_and_rc vfd_swmr_group_writer \
../vfd_swmr_group_writer -q -G -c 1 -n $GROUP_attr_n -a 1 -A $options &
pid_writer=$!
@@ -916,34 +868,55 @@ for options in ${os_grp_attr_list[*]}; do
rm -f vfd_swmr_group_reader.*.{out,rc}
done
+###############################################################################
+#
+# "groups_ops" tests
+#
# The group operation test takes longer.
-# So for the quick run, we
-# shorten the number of tests.
+# So for the quick run, we shorten the number of tests.
# The essential features are covered.
+#
+###############################################################################
+#
+#
+# Default setting
+#
+GROUP_op_n=1 # -n option: # of groups (for group operation test)
grp_op_list=(
"grp-creation"
"grp-deletion"
"grp-move"
+ "grp-compact-t-dense"
+ "grp-dense-t-compact"
+ )
+#
+#
+# Setting for exhaustive and quick run
+#
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ GROUP_op_n=2
+ grp_op_list=(
+ "grp-creation"
+ "grp-deletion"
+ "grp-move"
"grp-ins-links"
"grp-del-links"
"grp-compact-t-dense"
"grp-dense-t-compact"
)
-grp_sub_op_list=(
+elif [[ "$HDF5TestExpress" -gt 1 ]] ; then # quick run
+ grp_op_list=(
"grp-move"
"grp-dense-t-compact"
)
-
-
-if [[ "$HDF5TestExpress" -gt 1 ]] ; then #Setting for express run
- grp_op_list=("${grp_sub_op_list[@]}")
fi
-
+#
+#
for options in ${grp_op_list[*]}; do
if [ ${do_groups_ops:-no} = no ]; then
continue
fi
- echo launch vfd_swmr_group operations: $options
+ echo launch vfd_swmr_group operations: $options ......may take some time......
catch_out_err_and_rc vfd_swmr_group_writer \
../vfd_swmr_group_writer -q -c 1 -n $GROUP_op_n -O $options &
pid_writer=$!
@@ -976,7 +949,17 @@ for options in ${grp_op_list[*]}; do
rm -f vfd_swmr_group_reader.*.{out,rc}
done
+###############################################################################
+#
+# Setting for "os_groups_ops" test
+#
+# Only for exhaustive run
+#
# Test the group operations for old-style
+#
+###############################################################################
+#
+#
os_grp_op_list=(
"grp-creation"
"grp-deletion"
@@ -984,22 +967,13 @@ os_grp_op_list=(
"grp-ins-links"
"grp-del-links"
)
-os_grp_sub_op_list=(
- "grp-move"
- "grp-ins-links"
- "grp-del-links"
- )
-
-
-if [[ "$HDF5TestExpress" -gt 1 ]] ; then #Setting for express run
- os_grp_op_list=("${os_grp_sub_op_list[@]}")
-fi
-
+#
+#
for options in ${os_grp_op_list[*]}; do
if [ ${do_os_groups_ops:-no} = no ]; then
continue
fi
- echo launch vfd_swmr_group operations with old-style group: $options
+ echo launch vfd_swmr_group operations with old-style group: $options ......may take some time......
catch_out_err_and_rc vfd_swmr_group_writer \
../vfd_swmr_group_writer -q -G -c 1 -n $GROUP_op_n -O $options &
pid_writer=$!
@@ -1033,6 +1007,36 @@ for options in ${os_grp_op_list[*]}; do
done
# bigset test for smaller chunks
+=======
+
+###############################################################################
+#
+# Setting for bigset (few_big and many_small) tests
+#
+###############################################################################
+#
+#
+# Default setting
+#
+BIGSET_n=25 # -n option: # of iterations
+BIGSET_few_s=10 # -s option: # of datasets (for few_big test)
+BIGSET_many_s=100 # -s option: # of datasets (for many_small test)
+#
+#
+# Setting for exhaustive and quick runs
+#
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ BIGSET_n=50
+ BIGSET_few_s=40
+ BIGSET_many_s=1000
+elif [[ "$HDF5TestExpress" -gt 1 ]]; then # quick run
+ BIGSET_n=10
+ BIGSET_few_s=3
+ BIGSET_many_s=50
+fi
+#
+#
+
for options in "-d 1" "-d 1 -F" "-d 2" "-d 2 -F" "-d 1 -V" "-d 1 -M" "-d 1 -V -F" "-d 1 -M -F"; do
if [ ${do_many_small:-no} = no ]; then
continue
@@ -1097,7 +1101,7 @@ for options in "-d 1" "-d 1 -F" "-d 2" "-d 2 -F" "-d 1 -V" "-d 1 -M" "-d 1 -V -F
if [ ${do_few_big:-no} = no ]; then
continue
fi
- echo launch vfd_swmr_bigset_writer few big, options $options
+ echo launch vfd_swmr_bigset_writer few big, options $options ......may take some time......
catch_out_err_and_rc vfd_swmr_bigset_writer \
../vfd_swmr_bigset_writer -n $BIGSET_n $options -s $BIGSET_few_s -r 256 -c 256 -q -l 3 &
pid_writer=$!
@@ -1131,6 +1135,196 @@ for options in "-d 1" "-d 1 -F" "-d 2" "-d 2 -F" "-d 1 -V" "-d 1 -M" "-d 1 -V -F
done
###############################################################################
+#
+# "attrdset" test
+#
+###############################################################################
+#
+#
+# Default setting
+#
+attrdset_list=(
+ "-g -a 8 -v -m -d 8 -c 3 -u 5 -q"
+ )
+#
+#
+# Setting for exhaustive
+#
+if [[ "$HDF5TestExpress" -eq 0 ]] ; then # exhaustive run
+ attrdset_list=(
+ "-p -g -a 10 -v -m -d 10 -c 3 -u 5 -q"
+ "-k -a 20 -v -m -d 5 -q"
+ )
+fi
+#
+#
+for options in "${attrdset_list[@]}"; do
+ if [ ${do_attrdset:-no} = no ]; then
+ continue
+ fi
+
+ # Clean up any existing fifo files from previous runs
+ if [ -e ./$ATTRDSET_FIFO_WRITER_TO_READER ]; then # If writer fifo file is found
+ rm -f ./$ATTRDSET_FIFO_WRITER_TO_READER
+ fi
+ if [ -e ./$ATTRDSET_FIFO_READER_TO_WRITER ]; then # If reader fifo file is found
+ rm -f ./$ATTRDSET_FIFO_READER_TO_WRITER
+ fi
+
+ echo launch vfd_swmr_attrdset_writer attrdset, options $options ......may take some time......
+ catch_out_err_and_rc vfd_swmr_attrdset_writer \
+ ../vfd_swmr_attrdset_writer $options &
+ pid_writer=$!
+
+ catch_out_err_and_rc vfd_swmr_attrdset_reader \
+ ../vfd_swmr_attrdset_reader $options &
+ pid_reader=$!
+
+ # Wait for the reader to finish before signaling the
+ # writer to quit: the writer holds the file open so that the
+ # reader will find the shadow file when it opens
+ # the .h5 file.
+ wait $pid_reader
+ wait $pid_writer
+
+ # Collect exit code of the reader
+ if [ $(cat vfd_swmr_attrdset_reader.rc) -ne 0 ]; then
+ echo reader had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Collect exit code of the writer
+ if [ $(cat vfd_swmr_attrdset_writer.rc) -ne 0 ]; then
+ echo writer had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Clean up output files
+ rm -f vfd_swmr_attrdset_writer.{out,rc}
+ rm -f vfd_swmr_attrdset_reader.*.{out,rc}
+done
+
+###############################################################################
+#
+# "dsetops" test
+#
+# Only for exhaustive run
+#
+###############################################################################
+#
+#
+for options in "-p -e 20 -t -q" "-g -m 5 -n 2 -s 10 -w 7 -q" "-k -m 10 -n 5 -r 5 -l 10 -q"; do
+ #
+ #
+ if [ ${do_dsetops:-no} = no ]; then
+ continue
+ fi
+ # Clean up any existing fifo files from previous runs
+ if [ -e ./$DSETOPS_FIFO_WRITER_TO_READER ]; then # If writer fifo file is found
+ rm -f ./$DSETOPS_FIFO_WRITER_TO_READER
+ fi
+ if [ -e ./$DSETOPS_FIFO_READER_TO_WRITER ]; then # If reader fifo file is found
+ rm -f ./$DSETOPS_FIFO_READER_TO_WRITER
+ fi
+ #
+ echo launch vfd_swmr_dsetops_writer dsetops, options $options ......may take some time......
+ catch_out_err_and_rc vfd_swmr_dsetops_writer \
+ ../vfd_swmr_dsetops_writer $options &
+ pid_writer=$!
+
+ catch_out_err_and_rc vfd_swmr_dsetops_reader \
+ ../vfd_swmr_dsetops_reader $options &
+ pid_reader=$!
+
+ # Wait for the reader to finish before signaling the
+ # writer to quit: the writer holds the file open so that the
+ # reader will find the shadow file when it opens
+ # the .h5 file.
+ wait $pid_reader
+ wait $pid_writer
+
+ # Collect exit code of the reader
+ if [ $(cat vfd_swmr_dsetops_reader.rc) -ne 0 ]; then
+ echo reader had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Collect exit code of the writer
+ if [ $(cat vfd_swmr_dsetops_writer.rc) -ne 0 ]; then
+ echo writer had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Clean up output files
+ rm -f vfd_swmr_dsetops_writer.{out,rc}
+ rm -f vfd_swmr_dsetops_reader.*.{out,rc}
+done
+
+###############################################################################
+#
+# "dsetchks" test
+#
+# Only for exhaustive run
+#
+###############################################################################
+#
+#
+dsetchks_list=(
+ "-s -m 8 -n 3 -g 1 -q"
+ "-i -o -g 3 -q"
+ "-f -p 4 -q"
+ "-e -m 3 -n 5 -t 1 -q"
+ "-r -m 11 -n 5 -l 7 -q"
+ "-f -x 5 -y 2 -q"
+ )
+for options in "${dsetchks_list[@]}"; do
+ #
+ #
+ if [ ${do_dsetchks:-no} = no ]; then
+ continue
+ fi
+ # Clean up any existing fifo files from previous runs
+ if [ -e ./$DSETCHKS_FIFO_WRITER_TO_READER ]; then # If writer fifo file is found
+ rm -f ./$DSETCHKS_FIFO_WRITER_TO_READER
+ fi
+ if [ -e ./$DSETCHKS_FIFO_READER_TO_WRITER ]; then # If reader fifo file is found
+ rm -f ./$DSETCHKS_FIFO_READER_TO_WRITER
+ fi
+ #
+ echo launch vfd_swmr_dsetchks_writer dsetchks, options $options ......may take some time......
+ catch_out_err_and_rc vfd_swmr_dsetchks_writer \
+ ../vfd_swmr_dsetchks_writer $options &
+ pid_writer=$!
+
+ catch_out_err_and_rc vfd_swmr_dsetchks_reader \
+ ../vfd_swmr_dsetchks_reader $options &
+ pid_reader=$!
+
+ # Wait for the reader to finish before signaling the
+ # writer to quit: the writer holds the file open so that the
+ # reader will find the shadow file when it opens
+ # the .h5 file.
+ wait $pid_reader
+ wait $pid_writer
+
+ # Collect exit code of the reader
+ if [ $(cat vfd_swmr_dsetchks_reader.rc) -ne 0 ]; then
+ echo reader had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Collect exit code of the writer
+ if [ $(cat vfd_swmr_dsetchks_writer.rc) -ne 0 ]; then
+ echo writer had error
+ nerrors=$((nerrors + 1))
+ fi
+
+ # Clean up output files
+ rm -f vfd_swmr_dsetchks_writer.{out,rc}
+ rm -f vfd_swmr_dsetchks_reader.*.{out,rc}
+done
+
+###############################################################################
## Report and exit
###############################################################################
cd ..
diff --git a/test/vfd_swmr_addrem_writer.c b/test/vfd_swmr_addrem_writer.c
index 3cc0f48..e1e4cca 100644
--- a/test/vfd_swmr_addrem_writer.c
+++ b/test/vfd_swmr_addrem_writer.c
@@ -45,8 +45,6 @@
#ifndef H5_HAVE_WIN32_API
-#include <err.h> /* errx(3) */
-
static hid_t open_skeleton(const char *filename, unsigned verbose);
static int addrem_records(hid_t fid, unsigned verbose, unsigned long nops, unsigned long flush_count);
static void usage(void);
@@ -82,14 +80,18 @@ open_skeleton(const char *filename, unsigned verbose)
HDassert(filename);
- if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- errx(EXIT_FAILURE, "%s.%d: H5Pcreate failed", __func__, __LINE__);
+ if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) {
+ HDfprintf(stderr, "%s.%d: H5Pcreate failed", __func__, __LINE__);
+ goto error;
+ }
- if (H5Pset_chunk_cache(dapl, H5D_CHUNK_CACHE_NSLOTS_DEFAULT, 0, H5D_CHUNK_CACHE_W0_DEFAULT) < 0)
- errx(EXIT_FAILURE, "H5Pset_chunk_cache failed");
+ if (H5Pset_chunk_cache(dapl, H5D_CHUNK_CACHE_NSLOTS_DEFAULT, 0, H5D_CHUNK_CACHE_W0_DEFAULT) < 0) {
+ HDfprintf(stderr, "H5Pset_chunk_cache failed");
+ goto error;
+ }
/* Allocate memory for the configuration structure */
- if ((config = calloc(1, sizeof(*config))) == NULL)
+ if ((config = HDcalloc(1, sizeof(*config))) == NULL)
goto error;
/* config, tick_len, max_lag, writer, flush_raw_data, md_pages_reserved, md_file_path */
@@ -213,7 +215,7 @@ addrem_records(hid_t fid, unsigned verbose, unsigned long nops, unsigned long fl
symbol_info_t *symbol; /* Symbol to write record to */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Decide whether to shrink or expand, and by how much */
count[1] = (hsize_t)HDrandom() % (MAX_SIZE_CHANGE * 2) + 1;
@@ -314,20 +316,20 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_addrem_writer [-q] [-f <# of operations between flushing\n");
- printf(" file contents>] [-r <random seed>] <# of operations>\n");
- printf("\n");
- printf("<# of operations between flushing file contents> should be 0 (for\n");
- printf("no flushing) or between 1 and (<# of operations> - 1).\n");
- printf("\n");
- printf("<# of operations> must be specified.\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), flushing every 1000 operations\n");
- printf("('-f 1000'), and will generate a random seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_addrem_writer [-q] [-f <# of operations between flushing\n");
+ HDprintf(" file contents>] [-r <random seed>] <# of operations>\n");
+ HDprintf("\n");
+ HDprintf("<# of operations between flushing file contents> should be 0 (for\n");
+ HDprintf("no flushing) or between 1 and (<# of operations> - 1).\n");
+ HDprintf("\n");
+ HDprintf("<# of operations> must be specified.\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), flushing every 1000 operations\n");
+ HDprintf("('-f 1000'), and will generate a random seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
} /* usage() */
diff --git a/test/vfd_swmr_attrdset_writer.c b/test/vfd_swmr_attrdset_writer.c
index dea5841..48dfe9d 100644
--- a/test/vfd_swmr_attrdset_writer.c
+++ b/test/vfd_swmr_attrdset_writer.c
@@ -185,33 +185,33 @@ static const hid_t badhid = H5I_INVALID_HID;
static void
usage(const char *progname)
{
- fprintf(stderr,
- "usage: %s -a nattrs [-p] [-g] [-k] [-v] [-m]\n"
- " [-d dattrs] [-u nticks] [-c csteps] [-S] [-N]\n"
- "\n"
- "-p: create a dataset with compact layout\n"
- "-g: create a dataset with contiguous layout\n"
- "-k: create datasets with chunked layout for the 5 indexing types\n"
- "-m: modify attributes to all datasets after addition\n"
- "-v: add variable length attribute to datasets\n"
- " (default is H5T_NATIVE_UINT32)\n"
- "-a nattrs: add `nattrs` attributes to all datasets\n"
- "-d dattrs: delete `dattrs` attributes to all datasets after addition\n"
- "-u nticks: `nticks` ticks for the reader to wait before verification\n"
- " (default is 4)\n"
- "-c csteps: `csteps` steps communication interval between reader and writer\n"
- " (default is 1)\n"
- "-S: do not use VFD SWMR\n"
- "-N: do not use named pipes for test synchronization\n"
- "-b: write data in big-endian byte order if no -v option\n"
- " (default is H5T_NATIVE_UINT32)\n\n"
- "Note:\n"
- "1. Require to specify at least -p, -g or -k option\n"
- "2. -c <csteps> option cannot exceed -a <nattrs> option\n"
- "3. -d <dattrs> option cannot exceed -a <nattrs> option\n"
- "\n",
- progname);
- exit(EXIT_FAILURE);
+ HDfprintf(stderr,
+ "usage: %s -a nattrs [-p] [-g] [-k] [-v] [-m]\n"
+ " [-d dattrs] [-u nticks] [-c csteps] [-S] [-N]\n"
+ "\n"
+ "-p: create a dataset with compact layout\n"
+ "-g: create a dataset with contiguous layout\n"
+ "-k: create datasets with chunked layout for the 5 indexing types\n"
+ "-m: modify attributes to all datasets after addition\n"
+ "-v: add variable length attribute to datasets\n"
+ " (default is H5T_NATIVE_UINT32)\n"
+ "-a nattrs: add `nattrs` attributes to all datasets\n"
+ "-d dattrs: delete `dattrs` attributes to all datasets after addition\n"
+ "-u nticks: `nticks` ticks for the reader to wait before verification\n"
+ " (default is 4)\n"
+ "-c csteps: `csteps` steps communication interval between reader and writer\n"
+ " (default is 1)\n"
+ "-S: do not use VFD SWMR\n"
+ "-N: do not use named pipes for test synchronization\n"
+ "-b: write data in big-endian byte order if no -v option\n"
+ " (default is H5T_NATIVE_UINT32)\n\n"
+ "Note:\n"
+ "1. Require to specify at least -p, -g or -k option\n"
+ "2. -c <csteps> option cannot exceed -a <nattrs> option\n"
+ "3. -d <dattrs> option cannot exceed -a <nattrs> option\n"
+ "\n",
+ progname);
+ HDexit(EXIT_FAILURE);
} /* usage() */
/*
@@ -269,17 +269,17 @@ state_init(state_t *s, int argc, char **argv)
case 'u':
case 'c':
errno = 0;
- tmp = strtoul(optarg, &end, 0);
+ tmp = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0') {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (errno != 0) {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (tmp > UINT_MAX) {
- printf("`-%c` argument `%lu` too large\n", ch, tmp);
+ HDprintf("`-%c` argument `%lu` too large\n", ch, tmp);
TEST_ERROR;
}
@@ -304,33 +304,33 @@ state_init(state_t *s, int argc, char **argv)
/* Require to specify at least -p, -g or -k option */
if (!s->compact && !s->contig && !s->chunked) {
- printf("Require to specify at least -p, -g or -k option\n");
+ HDprintf("Require to specify at least -p, -g or -k option\n");
usage(s->progname);
goto error;
}
/* -c <csteps> cannot be zero */
if (!s->csteps) {
- printf("communication interval cannot be zero\n");
+ HDprintf("communication interval cannot be zero\n");
TEST_ERROR;
}
/* -c <csteps> and -a <nattrs> options */
if (s->asteps && s->csteps > s->asteps) {
- printf("communication interval is out of bounds\n");
+ HDprintf("communication interval is out of bounds\n");
TEST_ERROR;
}
/* -d and -a */
if (s->dattrs > s->asteps) {
- printf("# of attributes to be deleted exceeds # of attributes created\n");
+ HDprintf("# of attributes to be deleted exceeds # of attributes created\n");
TEST_ERROR;
}
/* Dataspace for attributes added to datasets */
/* Dataspace for compact and contiguous datasets */
if ((s->one_by_one_sid = H5Screate_simple(1, &dims, &dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
@@ -374,63 +374,63 @@ create_dsets(const state_t *s, dsets_state_t *ds)
wdata.b[1] = 3;
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_COMPACT) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
/* Create compound datatype */
if ((cmpd_tid = H5Tcreate(H5T_COMPOUND, sizeof(cmpd))) < 0) {
- printf("H5Tcreate failed\n");
+ HDprintf("H5Tcreate failed\n");
TEST_ERROR;
}
/* Create the array for the second element in the compound type */
if ((array_tid = H5Tarray_create2(H5T_NATIVE_INT, 1, &dims)) < 0) {
- printf("H5Tarray_create2 failed\n");
+ HDprintf("H5Tarray_create2 failed\n");
TEST_ERROR;
}
/* First element in the compound type */
if (H5Tinsert(cmpd_tid, "a", HOFFSET(cmpd, a), H5T_NATIVE_INT) < 0) {
- printf("H5Tinsert failed\n");
+ HDprintf("H5Tinsert failed\n");
TEST_ERROR;
}
/* Second element in the compound type */
if (H5Tinsert(cmpd_tid, "b", HOFFSET(cmpd, b), array_tid) < 0) {
- printf("H5Tinsert failed\n");
+ HDprintf("H5Tinsert failed\n");
TEST_ERROR;
}
/* Create the compact dataset with compound datatype */
if ((ds->compact_did = H5Dcreate2(s->file, DSET_COMPACT_NAME, cmpd_tid, s->one_by_one_sid,
H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 compact dataset failed\n");
+ HDprintf("H5Dcreate2 compact dataset failed\n");
TEST_ERROR;
}
/* Write data to the dataset */
if (H5Dwrite(ds->compact_did, cmpd_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &wdata) < 0) {
- printf("H5Dwrite to compact dataset failed\n");
+ HDprintf("H5Dwrite to compact dataset failed\n");
TEST_ERROR;
}
/* In order to trigger continuation block if -p is used alone by itself */
if ((tmp_did = H5Dcreate2(s->file, "JUNK_IGNORE", cmpd_tid, s->one_by_one_sid, H5P_DEFAULT,
H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 failed\n");
+ HDprintf("H5Dcreate2 failed\n");
TEST_ERROR;
}
if (H5Dclose(tmp_did) < 0) {
- printf("H5Dclose failed\n");
+ HDprintf("H5Dclose failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
}
@@ -442,61 +442,61 @@ create_dsets(const state_t *s, dsets_state_t *ds)
unsigned def_min_dense = 0;
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) {
- printf("H5Pset_alloc_time failed\n");
+ HDprintf("H5Pset_alloc_time failed\n");
TEST_ERROR;
}
if (H5Pget_attr_phase_change(dcpl, &def_max_compact, &def_min_dense) < 0) {
- printf("H5Pget_attr_phase_change failed\n");
+ HDprintf("H5Pget_attr_phase_change failed\n");
TEST_ERROR;
}
if (H5Pset_attr_phase_change(dcpl, def_max_compact + 2, def_min_dense + 2) < 0) {
- printf("H5Pset_attr_phase_change failed\n");
+ HDprintf("H5Pset_attr_phase_change failed\n");
TEST_ERROR;
}
/* Create the named datatype */
if ((dtid = H5Tcopy(H5T_NATIVE_INT)) < 0) {
- printf("H5Tcopy failed\n");
+ HDprintf("H5Tcopy failed\n");
TEST_ERROR;
}
if (H5Tcommit2(s->file, "named_dtype", dtid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Tcommit2 failed\n");
+ HDprintf("H5Tcommit2 failed\n");
TEST_ERROR;
}
/* Create the contiguous dataset with the named datatype */
if ((ds->contig_did = H5Dcreate2(s->file, DSET_CONTIG_NAME, dtid, s->one_by_one_sid, H5P_DEFAULT,
dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 contiguous dataset failed\n");
+ HDprintf("H5Dcreate2 contiguous dataset failed\n");
TEST_ERROR;
}
/* Write to the dataset */
if (H5Dwrite(ds->contig_did, dtid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &wdata1) < 0) {
- printf("H5Dwrite to contiguous dataset failed\n");
+ HDprintf("H5Dwrite to contiguous dataset failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Tclose(dtid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
}
@@ -525,27 +525,27 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Create variable length datatype */
if ((vl_tid = H5Tcopy(H5T_C_S1)) < 0) {
- printf("H5Tcopy failed\n");
+ HDprintf("H5Tcopy failed\n");
TEST_ERROR;
}
if (H5Tset_size(vl_tid, H5T_VARIABLE) < 0) {
- printf("H5Tset_size failed\n");
+ HDprintf("H5Tset_size failed\n");
TEST_ERROR;
}
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_CHUNKED) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 1, dims1) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
@@ -553,18 +553,18 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, dims=max_dims=chunk_dims */
if ((sid = H5Screate_simple(1, dims1, dims1)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
if ((ds->single_did =
H5Dcreate2(s->file, DSET_SINGLE_NAME, vl_tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset: single index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: single index failed\n");
TEST_ERROR;
}
if (H5Dwrite(ds->single_did, vl_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &vdata) < 0) {
- printf("H5Dwrite to chunked dataset: single index failed\n");
+ HDprintf("H5Dwrite to chunked dataset: single index failed\n");
TEST_ERROR;
}
@@ -572,33 +572,33 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, dims=max_dims, early allocation */
if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) {
- printf("H5Pset_alloc_time\n");
+ HDprintf("H5Pset_alloc_time\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 1, chunk_dims1) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
if ((ds->implicit_did =
H5Dcreate2(s->file, DSET_IMPLICIT_NAME, vl_tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset: implicit index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: implicit index failed\n");
TEST_ERROR;
}
if (H5Dwrite(ds->implicit_did, vl_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &vdata) < 0) {
- printf("H5Dwrite to chunked dataset: implicit index failed\n");
+ HDprintf("H5Dwrite to chunked dataset: implicit index failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Sclose(sid) < 0) {
- printf("H5Sclose failed\n");
+ HDprintf("H5Sclose failed\n");
TEST_ERROR;
}
@@ -606,38 +606,38 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, fixed max_dims */
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 1, chunk_dims1) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
if ((sid = H5Screate_simple(1, dims1, max_dims1)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
if ((ds->fa_did = H5Dcreate2(s->file, DSET_FA_NAME, vl_tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) <
0) {
- printf("H5Dcreaet2 chunked dataset: fa index failed\n");
+ HDprintf("H5Dcreaet2 chunked dataset: fa index failed\n");
TEST_ERROR;
}
if (H5Dwrite(ds->fa_did, vl_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &vdata) < 0) {
- printf("H5Dwrite to chunked dataset: fa index failed\n");
+ HDprintf("H5Dwrite to chunked dataset: fa index failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Sclose(sid) < 0) {
- printf("H5Sclose failed\n");
+ HDprintf("H5Sclose failed\n");
TEST_ERROR;
}
@@ -645,28 +645,28 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, 1 unlimited max_dims */
if ((sid = H5Screate_simple(2, dims2, max_dims2)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 2, chunk_dims2) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
if ((ds->ea_did = H5Dcreate2(s->file, DSET_EA_NAME, vl_tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) <
0) {
- printf("H5Dcreate2 chunked dataset: ea index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: ea index failed\n");
TEST_ERROR;
}
if (H5Dwrite(ds->ea_did, vl_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &vdata2) < 0) {
- printf("H5Dwrite to chunked dataset: ea index failed\n");
+ HDprintf("H5Dwrite to chunked dataset: ea index failed\n");
TEST_ERROR;
}
@@ -675,33 +675,33 @@ create_dsets(const state_t *s, dsets_state_t *ds)
max_dims2[0] = H5S_UNLIMITED;
if ((sid = H5Screate_simple(2, dims2, max_dims2)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
if ((ds->bt2_did = H5Dcreate2(s->file, DSET_BT2_NAME, vl_tid, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) <
0) {
- printf("H5Dcreate2 chunked dataset: bt2 index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
if (H5Dwrite(ds->bt2_did, vl_tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, &vdata2) < 0) {
- printf("H5Dwrite to chunked dataset: bt2 index failed\n");
+ HDprintf("H5Dwrite to chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Sclose(sid) < 0) {
- printf("H5Sclose failed\n");
+ HDprintf("H5Sclose failed\n");
TEST_ERROR;
}
if (H5Tclose(vl_tid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
}
@@ -743,7 +743,7 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->compact) {
if (!open_dset_real(s->file, &ds->compact_did, DSET_COMPACT_NAME, &ds->p_max_compact,
&ds->p_min_dense)) {
- printf("open_dset_real() for compact dataset failed\n");
+ HDprintf("open_dset_real() for compact dataset failed\n");
TEST_ERROR;
}
}
@@ -751,7 +751,7 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->contig) {
if (!open_dset_real(s->file, &ds->contig_did, DSET_CONTIG_NAME, &ds->g_max_compact,
&ds->g_min_dense)) {
- printf("open_dset_real() for contiguous dataset failed\n");
+ HDprintf("open_dset_real() for contiguous dataset failed\n");
TEST_ERROR;
}
}
@@ -759,26 +759,26 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->chunked) {
if (!open_dset_real(s->file, &ds->single_did, DSET_SINGLE_NAME, &ds->single_max_compact,
&ds->single_min_dense)) {
- printf("open_dset_real() for chunked dataset: single failed\n");
+ HDprintf("open_dset_real() for chunked dataset: single failed\n");
TEST_ERROR;
}
if (!open_dset_real(s->file, &ds->implicit_did, DSET_IMPLICIT_NAME, &ds->implicit_max_compact,
&ds->implicit_min_dense)) {
- printf("open_dset_real() for chunked dataset: implicit failed\n");
+ HDprintf("open_dset_real() for chunked dataset: implicit failed\n");
TEST_ERROR;
}
if (!open_dset_real(s->file, &ds->fa_did, DSET_FA_NAME, &ds->fa_max_compact, &ds->fa_min_dense)) {
- printf("open_dset_real() for chunked dataset: fa failed\n");
+ HDprintf("open_dset_real() for chunked dataset: fa failed\n");
TEST_ERROR;
}
if (!open_dset_real(s->file, &ds->ea_did, DSET_FA_NAME, &ds->ea_max_compact, &ds->ea_min_dense)) {
- printf("open_dset_real() for chunked dataset: ea failed\n");
+ HDprintf("open_dset_real() for chunked dataset: ea failed\n");
TEST_ERROR;
}
if (!open_dset_real(s->file, &ds->bt2_did, DSET_BT2_NAME, &ds->bt2_max_compact, &ds->bt2_min_dense)) {
- printf("open_dset_real() for chunked dataset: bt2 failed\n");
+ HDprintf("open_dset_real() for chunked dataset: bt2 failed\n");
TEST_ERROR;
}
}
@@ -800,22 +800,22 @@ open_dset_real(hid_t fid, hid_t *did, const char *name, unsigned *max_compact, u
hid_t dcpl = badhid;
if ((*did = H5Dopen2(fid, name, H5P_DEFAULT)) < 0) {
- printf("H5Dopen dataset failed\n");
+ HDprintf("H5Dopen dataset failed\n");
TEST_ERROR;
}
if ((dcpl = H5Dget_create_plist(*did)) < 0) {
- printf("H5Dget_create_plist failed\n");
+ HDprintf("H5Dget_create_plist failed\n");
TEST_ERROR;
}
if (H5Pget_attr_phase_change(dcpl, max_compact, min_dense) < 0) {
- printf("H5Dget_attr_phase_change failed\n");
+ HDprintf("H5Dget_attr_phase_change failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
@@ -839,37 +839,37 @@ static bool
close_dsets(const dsets_state_t *ds)
{
if (ds->compact_did != badhid && H5Dclose(ds->compact_did) < 0) {
- printf("H5Dclose compact dataset failed\n");
+ HDprintf("H5Dclose compact dataset failed\n");
TEST_ERROR;
}
if (ds->contig_did != badhid && H5Dclose(ds->contig_did) < 0) {
- printf("H5Dclose contig dataset failed\n");
+ HDprintf("H5Dclose contig dataset failed\n");
TEST_ERROR;
}
if (ds->single_did != badhid && H5Dclose(ds->single_did) < 0) {
- printf("H5Dclose chunked dataset: single index failed\n");
+ HDprintf("H5Dclose chunked dataset: single index failed\n");
TEST_ERROR;
}
if (ds->implicit_did != badhid && H5Dclose(ds->implicit_did) < 0) {
- printf("H5Dclose chunked dataset: implicit index failed\n");
+ HDprintf("H5Dclose chunked dataset: implicit index failed\n");
TEST_ERROR;
}
if (ds->fa_did >= 0 && H5Dclose(ds->fa_did) < 0) {
- printf("H5Dclose chunked dataset: fa index failed\n");
+ HDprintf("H5Dclose chunked dataset: fa index failed\n");
TEST_ERROR;
}
if (ds->ea_did >= 0 && H5Dclose(ds->ea_did) < 0) {
- printf("H5Dclose chunked dataset: ea index failed\n");
+ HDprintf("H5Dclose chunked dataset: ea index failed\n");
TEST_ERROR;
}
if (ds->bt2_did >= 0 && H5Dclose(ds->bt2_did) < 0) {
- printf("H5Dclose chunked dataset: bt2 index failed\n");
+ HDprintf("H5Dclose chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
@@ -1007,17 +1007,17 @@ add_attr(const state_t *s, hid_t did, unsigned int which)
if (s->vl_attr) {
if ((vl_tid = H5Tcopy(H5T_C_S1)) < 0) {
- printf("H5Tcopy failed\n");
+ HDprintf("H5Tcopy failed\n");
TEST_ERROR;
}
if (H5Tset_size(vl_tid, H5T_VARIABLE) < 0) {
- printf("H5Tset_size failed\n");
+ HDprintf("H5Tset_size failed\n");
TEST_ERROR;
}
if ((val = HDmalloc(sizeof("9999999999"))) == NULL) {
- printf("H5Dmalloc failed\n");
+ HDprintf("H5Dmalloc failed\n");
TEST_ERROR;
}
@@ -1030,24 +1030,24 @@ add_attr(const state_t *s, hid_t did, unsigned int which)
/* Attach the attribute to the dataset */
if ((aid = H5Acreate2(did, name, tid, s->one_by_one_sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- printf("H5Acreate2 failed\n");
+ HDprintf("H5Acreate2 failed\n");
TEST_ERROR;
}
/* Write to the attribure */
if (H5Awrite(aid, tid, s->vl_attr ? &val : (const void *)&which) < 0) {
- printf("H5Awrite failed\n");
+ HDprintf("H5Awrite failed\n");
TEST_ERROR;
}
/* Close the attribute */
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
if (vl_tid >= 0 && H5Tclose(vl_tid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
@@ -1088,17 +1088,18 @@ modify_attr(const state_t *s, hid_t did, unsigned int which)
if (s->vl_attr) {
if ((vl_tid = H5Tcopy(H5T_C_S1)) < 0) {
- printf("H5Tcopy failed\n");
+ HDprintf("H5Tcopy failed\n");
TEST_ERROR;
}
if (H5Tset_size(vl_tid, H5T_VARIABLE) < 0) {
- printf("H5Tset_size failed\n");
+ HDprintf("H5Tset_size failed\n");
TEST_ERROR;
}
- if ((val = HDmalloc(sizeof("9999999999"))) == NULL) {
- printf("HDmalloc failed\n");
+ /* Needs to fit "%u %c", below */
+ if ((val = HDmalloc(10 + 3)) == NULL) {
+ HDprintf("HDmalloc failed\n");
TEST_ERROR;
}
@@ -1113,24 +1114,24 @@ modify_attr(const state_t *s, hid_t did, unsigned int which)
/* Open the attribute to the dataset */
if ((aid = H5Aopen(did, name, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
/* Write to the attribure */
if (H5Awrite(aid, tid, s->vl_attr ? &val : (const void *)&tmp_val) < 0) {
- printf("H5Awrite failed\n");
+ HDprintf("H5Awrite failed\n");
TEST_ERROR;
}
/* Close the attribute */
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
if (vl_tid >= 0 && H5Tclose(vl_tid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
@@ -1164,7 +1165,7 @@ delete_attr(hid_t did, unsigned int which)
/* Delete the attribute to the dataset */
if (H5Adelete(did, name) < 0) {
- printf("H5Adelete failed\n");
+ HDprintf("H5Adelete failed\n");
TEST_ERROR;
}
@@ -1319,19 +1320,20 @@ verify_add_or_modify_attr(unsigned action, hid_t did, char *attr_name, unsigned
char vl_which[sizeof("attr-9999999999")];
char * read_vl_which = NULL;
bool is_vl = false;
- hid_t aid, atid;
- bool ret;
+ hid_t aid = H5I_INVALID_HID;
+ hid_t atid = H5I_INVALID_HID;
+ bool ret = FALSE;
HDassert(did != badhid);
HDassert(action == ADD_ATTR || action == MODIFY_ATTR);
if ((aid = H5Aopen(did, attr_name, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
if ((atid = H5Aget_type(aid)) < 0) {
- printf("H5Aget_type failed\n");
+ HDprintf("H5Aget_type failed\n");
TEST_ERROR;
}
@@ -1342,23 +1344,23 @@ verify_add_or_modify_attr(unsigned action, hid_t did, char *attr_name, unsigned
HDsprintf(vl_which, "%u %c", which, 'M');
if ((read_vl_which = HDmalloc(sizeof("9999999999"))) == NULL) {
- printf("HDmalloc failed\n");
+ HDprintf("HDmalloc failed\n");
TEST_ERROR;
}
}
if (H5Aread(aid, atid, is_vl ? (void *)&read_vl_which : (void *)&read_which) < 0) {
- printf("H5Aread failed\n");
+ HDprintf("H5Aread failed\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
if (H5Tclose(atid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
@@ -1398,7 +1400,7 @@ verify_delete_attr(hid_t did, char *attr_name)
int ret;
if ((ret = H5Aexists(did, attr_name)) < 0) {
- printf("H5Aexists failed\n");
+ HDprintf("H5Aexists failed\n");
TEST_ERROR;
}
else if (!ret) /* attribute does not exist */
@@ -1478,7 +1480,7 @@ verify_storage_cont_real(hid_t did, unsigned int which, unsigned cut_point)
/* Get the object information */
if (H5Oget_native_info(did, &ninfo, H5O_NATIVE_INFO_HDR | H5O_NATIVE_INFO_META_SIZE) < 0) {
- printf("H5Oget_native_info failed\n");
+ HDprintf("H5Oget_native_info failed\n");
TEST_ERROR;
}
@@ -1524,36 +1526,36 @@ np_init(np_state_t *np, bool writer)
/* If the named pipes are present at the start of the test, remove them */
if (HDaccess(np->fifo_writer_to_reader, F_OK) == 0)
if (HDremove(np->fifo_writer_to_reader) != 0) {
- printf("HDremove fifo_writer_to_reader failed\n");
+ HDprintf("HDremove fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDaccess(np->fifo_reader_to_writer, F_OK) == 0)
if (HDremove(np->fifo_reader_to_writer) != 0) {
- printf("HDremove fifo_reader_to_writer failed\n");
+ HDprintf("HDremove fifo_reader_to_writer failed\n");
TEST_ERROR;
}
/* Writer creates two named pipes(FIFO) */
if (HDmkfifo(np->fifo_writer_to_reader, 0600) < 0) {
- printf("HDmkfifo fifo_writer_to_reader failed\n");
+ HDprintf("HDmkfifo fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDmkfifo(np->fifo_reader_to_writer, 0600) < 0) {
- printf("HDmkfifo fifo_reader_to_writer failed\n");
+ HDprintf("HDmkfifo fifo_reader_to_writer failed\n");
TEST_ERROR;
}
}
/* Both the writer and reader open the pipes */
if ((np->fd_writer_to_reader = HDopen(np->fifo_writer_to_reader, O_RDWR)) < 0) {
- printf("HDopen fifo_writer_to_reader failed\n");
+ HDprintf("HDopen fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if ((np->fd_reader_to_writer = HDopen(np->fifo_reader_to_writer, O_RDWR)) < 0) {
- printf("HDopen fifo_reader_to_writer failed\n");
+ HDprintf("HDopen fifo_reader_to_writer failed\n");
TEST_ERROR;
}
@@ -1572,24 +1574,24 @@ np_close(np_state_t *np, bool writer)
{
/* Both the writer and reader close the named pipes */
if (HDclose(np->fd_writer_to_reader) < 0) {
- printf("HDclose fd_writer_to_reader failed\n");
+ HDprintf("HDclose fd_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDclose(np->fd_reader_to_writer) < 0) {
- printf("HDclose fd_reader_to_writer failed\n");
+ HDprintf("HDclose fd_reader_to_writer failed\n");
TEST_ERROR;
}
/* Reader finishes last and deletes the named pipes */
if (!writer) {
if (HDremove(np->fifo_writer_to_reader) != 0) {
- printf("HDremove fifo_writer_to_reader failed\n");
+ HDprintf("HDremove fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDremove(np->fifo_reader_to_writer) != 0) {
- printf("HDremove fifo_reader_to_writer failed\n");
+ HDprintf("HDremove fifo_reader_to_writer failed\n");
TEST_ERROR;
}
}
@@ -1609,7 +1611,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* The action fails */
if (!result) {
- printf("attribute action failed\n");
+ HDprintf("attribute action failed\n");
H5_FAILED();
AT();
@@ -1627,7 +1629,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* Bump up the value of notify to tell the reader to start reading */
np->notify++;
if (HDwrite(np->fd_writer_to_reader, &np->notify, sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
@@ -1644,7 +1646,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* Handshake between writer and reader */
if (!np_confirm_verify_notify(np->fd_reader_to_writer, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
}
@@ -1665,7 +1667,7 @@ np_reader(bool result, unsigned step, const state_t *s, np_state_t *np)
{
/* The verification fails */
if (!result) {
- printf("verify action failed\n");
+ HDprintf("verify action failed\n");
H5_FAILED();
AT();
@@ -1682,7 +1684,7 @@ np_reader(bool result, unsigned step, const state_t *s, np_state_t *np)
/* Send back the same notify value for acknowledgement:
* --inform the writer to move to the next step */
if (HDwrite(np->fd_reader_to_writer, &np->notify, sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
}
@@ -1704,17 +1706,17 @@ np_confirm_verify_notify(int fd, unsigned step, const state_t *s, np_state_t *np
if (step % s->csteps == 0) {
np->verify++;
if (HDread(fd, &np->notify, sizeof(int)) < 0) {
- printf("HDread failed\n");
+ HDprintf("HDread failed\n");
TEST_ERROR;
}
if (np->notify == -1) {
- printf("reader/writer failed to verify\n");
+ HDprintf("reader/writer failed to verify\n");
TEST_ERROR;
}
if (np->notify != np->verify) {
- printf("received message %d, expecting %d\n", np->notify, np->verify);
+ HDprintf("received message %d, expecting %d\n", np->notify, np->verify);
TEST_ERROR;
}
}
@@ -1734,7 +1736,7 @@ np_reader_no_verification(const state_t *s, np_state_t *np, H5F_vfd_swmr_config_
{
if (s->use_np) {
if (!np_confirm_verify_notify(np->fd_writer_to_reader, 0, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
}
@@ -1746,7 +1748,7 @@ np_reader_no_verification(const state_t *s, np_state_t *np, H5F_vfd_swmr_config_
/* Send back the same notify value for acknowledgement:
* --inform the writer to move to the next step */
if (HDwrite(np->fd_reader_to_writer, &np->notify, sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
}
@@ -1761,9 +1763,10 @@ error:
int
main(int argc, char **argv)
{
- hid_t fapl, fcpl;
+ hid_t fapl = H5I_INVALID_HID;
+ hid_t fcpl = H5I_INVALID_HID;
unsigned step;
- bool writer;
+ bool writer = FALSE;
state_t s;
const char * personality;
H5F_vfd_swmr_config_t config;
@@ -1773,18 +1776,18 @@ main(int argc, char **argv)
bool result;
if (!state_init(&s, argc, argv)) {
- printf("state_init() failed\n");
+ HDprintf("state_init() failed\n");
TEST_ERROR;
}
- personality = strstr(s.progname, "vfd_swmr_attrdset_");
+ personality = HDstrstr(s.progname, "vfd_swmr_attrdset_");
- if (personality != NULL && strcmp(personality, "vfd_swmr_attrdset_writer") == 0)
+ if (personality != NULL && HDstrcmp(personality, "vfd_swmr_attrdset_writer") == 0)
writer = true;
- else if (personality != NULL && strcmp(personality, "vfd_swmr_attrdset_reader") == 0)
+ else if (personality != NULL && HDstrcmp(personality, "vfd_swmr_attrdset_reader") == 0)
writer = false;
else {
- printf("unknown personality, expected vfd_swmr_attrdset_{reader,writer}\n");
+ HDprintf("unknown personality, expected vfd_swmr_attrdset_{reader,writer}\n");
TEST_ERROR;
}
@@ -1793,45 +1796,45 @@ main(int argc, char **argv)
/* use_latest_format, use_vfd_swmr, only_meta_page, config */
if ((fapl = vfd_swmr_create_fapl(true, s.use_vfd_swmr, true, &config)) < 0) {
- printf("vfd_swmr_create_fapl() failed\n");
+ HDprintf("vfd_swmr_create_fapl() failed\n");
TEST_ERROR;
}
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, false, 1) < 0) {
- printf("H5Pset_file_space_strategy failed\n");
+ HDprintf("H5Pset_file_space_strategy failed\n");
TEST_ERROR;
}
if (writer) {
if ((s.file = H5Fcreate(s.filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) {
- printf("H5Fcreate failed\n");
+ HDprintf("H5Fcreate failed\n");
TEST_ERROR;
}
if (!create_dsets(&s, &ds)) {
- printf("create_dsets() failed\n");
+ HDprintf("create_dsets() failed\n");
TEST_ERROR;
}
}
else {
if ((s.file = H5Fopen(s.filename, H5F_ACC_RDONLY, fapl)) < 0) {
- printf("H5Fopen failed\n");
+ HDprintf("H5Fopen failed\n");
TEST_ERROR;
}
if (!open_dsets(&s, &ds)) {
- printf("open_dsets() failed\n");
+ HDprintf("open_dsets() failed\n");
TEST_ERROR;
}
}
/* Initiailze named pipes */
if (s.use_np && !np_init(&np, writer)) {
- printf("np_init() failed\n");
+ HDprintf("np_init() failed\n");
TEST_ERROR;
}
@@ -1842,7 +1845,7 @@ main(int argc, char **argv)
result = attr_dsets_action(ADD_ATTR, &s, &ds, step);
if (s.use_np && !np_writer(result, step, &s, &np, &config)) {
- printf("np_writer() for addition failed\n");
+ HDprintf("np_writer() for addition failed\n");
TEST_ERROR;
}
}
@@ -1851,7 +1854,7 @@ main(int argc, char **argv)
/* Need to sync up writer/reader before moving onto the next phase */
if (s.use_np && !np_writer(true, 0, &s, &np, &config)) {
- printf("np_writer() for modification failed\n");
+ HDprintf("np_writer() for modification failed\n");
TEST_ERROR;
}
@@ -1862,7 +1865,7 @@ main(int argc, char **argv)
result = attr_dsets_action(MODIFY_ATTR, &s, &ds, step);
if (s.use_np && !np_writer(result, step, &s, &np, &config)) {
- printf("np_writer() for modification failed\n");
+ HDprintf("np_writer() for modification failed\n");
TEST_ERROR;
}
}
@@ -1872,7 +1875,7 @@ main(int argc, char **argv)
/* Need to sync up writer/reader before moving onto the next phase */
if (s.use_np && !np_writer(true, 0, &s, &np, &config)) {
- printf("np_writer() for deletion failed\n");
+ HDprintf("np_writer() for deletion failed\n");
TEST_ERROR;
}
@@ -1883,7 +1886,7 @@ main(int argc, char **argv)
result = attr_dsets_action(DELETE_ATTR, &s, &ds, step);
if (s.use_np && !np_writer(result, step, &s, &np, &config)) {
- printf("np_writer() for deletion failed\n");
+ HDprintf("np_writer() for deletion failed\n");
TEST_ERROR;
}
}
@@ -1896,7 +1899,7 @@ main(int argc, char **argv)
dbgf(2, "Verifying...attribute %d\n", step);
if (s.use_np && !np_confirm_verify_notify(np.fd_writer_to_reader, step, &s, &np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1906,7 +1909,7 @@ main(int argc, char **argv)
result = verify_attr_dsets_action(ADD_ATTR, &s, &ds, step);
if (s.use_np && !np_reader(result, step, &s, &np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1914,7 +1917,7 @@ main(int argc, char **argv)
if (s.mod_attr) {
/* Need to sync up writer/reader before moving onto the next phase */
if (!np_reader_no_verification(&s, &np, &config)) {
- printf("np_reader_no_verification() for verifying modification failed\n");
+ HDprintf("np_reader_no_verification() for verifying modification failed\n");
TEST_ERROR;
}
@@ -1923,7 +1926,7 @@ main(int argc, char **argv)
dbgf(2, "Verifying...modify attribute %d\n", step);
if (s.use_np && !np_confirm_verify_notify(np.fd_writer_to_reader, step, &s, &np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1933,7 +1936,7 @@ main(int argc, char **argv)
result = verify_attr_dsets_action(MODIFY_ATTR, &s, &ds, step);
if (s.use_np && !np_reader(result, step, &s, &np)) {
- printf("np_reader() for verifying modification failed\n");
+ HDprintf("np_reader() for verifying modification failed\n");
TEST_ERROR;
}
}
@@ -1943,7 +1946,7 @@ main(int argc, char **argv)
/* Need to sync up writer/reader before moving onto the next phase */
if (!np_reader_no_verification(&s, &np, &config)) {
- printf("np_reader_no_verification() for verifying modification failed\n");
+ HDprintf("np_reader_no_verification() for verifying modification failed\n");
TEST_ERROR;
}
@@ -1952,7 +1955,7 @@ main(int argc, char **argv)
dbgf(2, "Verifying...delete attribute %d\n", step);
if (s.use_np && !np_confirm_verify_notify(np.fd_writer_to_reader, step, &s, &np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1962,7 +1965,7 @@ main(int argc, char **argv)
result = verify_attr_dsets_action(DELETE_ATTR, &s, &ds, step);
if (s.use_np && !np_reader(result, step, &s, &np)) {
- printf("np_reader() for verifying deletion failed\n");
+ HDprintf("np_reader() for verifying deletion failed\n");
TEST_ERROR;
}
}
@@ -1970,32 +1973,32 @@ main(int argc, char **argv)
}
if (!close_dsets(&ds)) {
- printf("close_dsets() failed\n");
+ HDprintf("close_dsets() failed\n");
TEST_ERROR;
}
if (H5Pclose(fapl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Pclose(fcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Fclose(s.file) < 0) {
- printf("H5Fclose failed\n");
+ HDprintf("H5Fclose failed\n");
TEST_ERROR;
}
if (H5Sclose(s.one_by_one_sid) < 0) {
- printf("H5Sclose failed\n");
+ HDprintf("H5Sclose failed\n");
TEST_ERROR;
}
if (s.use_np && !np_close(&np, writer)) {
- printf("np_close() failed\n");
+ HDprintf("np_close() failed\n");
TEST_ERROR;
}
diff --git a/test/vfd_swmr_dsetchks_writer.c b/test/vfd_swmr_dsetchks_writer.c
new file mode 100644
index 0000000..25066d8
--- /dev/null
+++ b/test/vfd_swmr_dsetchks_writer.c
@@ -0,0 +1,2274 @@
+/*
+ * Copyright by The HDF Group.
+ * Copyright by the Board of Trustees of the University of Illinois.
+ * All rights reserved.
+ *
+ * This file is part of HDF5. The full HDF5 copyright notice, including
+ * terms governing use, modification, and redistribution, is contained in
+ * the COPYING file, which can be found at the root of the source code
+ * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+ * If you do not have access to either file, you may request a copy from
+ * help@hdfgroup.org.
+ */
+
+/*
+ * Purpose: To test chunk operations for chunked dataset specifically:
+ * --chunked datasets with the 5 indexing types:
+ * 1. single (dims=max_dims=chunk_dims, default incremental allocation)
+ * 2. implicit (dims=max_dims, early allocation, no filter)
+ * 3. fixed array (fixed max_dims, default incremental allocation)
+ * 4. extensible array (1 unlimited max_dims, default incremental allocation)
+ * 5. btree2 (2 unlimited max_dims, default incremental allocation)
+ *
+ * --with compression--H5Pset_deflate(dcpl)
+ * --with fill values--H5Pset_fill_value(dcpl, H5T_NATIVE_INT, &fillval);
+ *
+ * Types of chunk operations:
+ * -- writes that cover a single chunk
+ * -- writes that cover a partial chunk
+ * -- writes that cover multiple chunks
+ * -- writes that cover multiple partial chunks
+ *
+ * For fa, ea, bt2 indexes:
+ * --increase size of dataset dimensions
+ * --decrease size of dataset dimensions
+ */
+#include "hdf5.h"
+#include "testhdf5.h"
+#include "vfd_swmr_common.h"
+
+#ifndef H5_HAVE_WIN32_API
+
+#define READER_WAIT_TICKS 4
+
+/* Names for datasets */
+#define DSET_SINGLE_NAME "chunked_single"
+#define DSET_IMPLICIT_NAME "chunked_implicit"
+#define DSET_FA_NAME "chunked_fa"
+#define DSET_EA_NAME "chunked_ea"
+#define DSET_BT2_NAME "chunked_bt2"
+
+/* Operations for testing */
+#define GWRITES 1 /* Writes that cover a single chunk per write */
+#define PWRITES 2 /* Writes that cover a partial chunk per write */
+#define TWRITES 3 /* Writes that cover multiple chunks per write */
+#define LWRITES 4 /* Writes that cover multiple partial chunks per write */
+#define INCR_EXT 5 /* Increase dataset dimenion sizes */
+#define DECR_EXT 6 /* Decrease dataset dimension sizes */
+
+/* Fill values */
+#define FILL_INIT 1 /* Fill value used when creating the datasets */
+#define FILL_FULL 7 /* Fill value used when writing a full chunk */
+#define FILL_PARTIAL 9 /* Fill value used when writing partial chunk(s) */
+
+#define MULTI_CHUNKS 2
+
+/* Structure to hold info for options specified */
+typedef struct {
+ char filename[PATH_MAX]; /* File name */
+ char progname[PATH_MAX]; /* Program name */
+ hid_t file; /* File ID */
+ hid_t filetype; /* Datatype ID */
+ unsigned int update_interval; /* For -u option */
+ unsigned int csteps; /* For -c <csteps> option */
+ bool use_np; /* For -N option */
+ bool use_vfd_swmr; /* For -S option */
+ bool use_filter; /* For -o option */
+
+ bool single_index; /* -s option: create a chunked dataset with single chunk index */
+ bool implicit_index; /* -i option: create a chunked datasets with implicit chunk index */
+ bool fa_index; /* -f option: create a chunked dataset with fixed array index */
+ bool ea_index; /* -e option: create a chunked dataset with extensible array index */
+ bool bt2_index; /* -r option: create a chunked dataset with version 2 btree index */
+
+ unsigned int rows; /* -m <rows> option for the chunked datasets */
+ unsigned int cols; /* -n <cols option for the chunked datasets */
+
+ unsigned int gwrites; /* -s <gwrites> option: writes that cover a single chunk per write */
+ unsigned int pwrites; /* -p <pwrites> option: writes that cover a partial chunk per write */
+ unsigned int twrites; /* -t <twrites> option: writes that cover multiple chunks per write */
+ unsigned int lwrites; /* -l <lwrites> option: writes that cover multiple partial chunks per write */
+
+ unsigned int xincrs; /* -x <xincrs> option */
+ unsigned int ydecrs; /* -y <ydecrs> option */
+} state_t;
+
+/* Initializations for state_t */
+#define ALL_HID_INITIALIZER \
+ (state_t) \
+ { \
+ .filename = "", .file = H5I_INVALID_HID, .filetype = H5T_NATIVE_UINT32, \
+ .update_interval = READER_WAIT_TICKS, .csteps = 1, .use_np = true, .use_vfd_swmr = true, \
+ .use_filter = false, .single_index = false, .implicit_index = false, .fa_index = false, \
+ .ea_index = false, .bt2_index = false, .rows = 10, .cols = 5, .gwrites = 0, .pwrites = 0, \
+ .twrites = 0, .lwrites = 0, .xincrs = 0, .ydecrs = 0 \
+ }
+
+/* Structure to hold info for different dataset types */
+typedef struct {
+ hsize_t chunk_dims[2]; /* Chunk dimensions for all datasets except single_did */
+ hsize_t scaled_dims[2];
+ hsize_t multi_scaled[2];
+ hid_t single_did; /* ID for chunked dataset: single index */
+ hid_t implicit_did; /* ID for chunked dataset: implicit index */
+ hid_t fa_did; /* ID for chunked dataset: fixed array index */
+ hid_t ea_did; /* ID for chunked dataset: extensible array index */
+ hid_t bt2_did; /* ID for chunked dataset: version 2 btree index */
+} dsets_state_t;
+
+/* Initializations for dsets_state_t */
+#define DSETS_INITIALIZER \
+ (dsets_state_t) \
+ { \
+ .single_did = H5I_INVALID_HID, .implicit_did = H5I_INVALID_HID, .fa_did = H5I_INVALID_HID, \
+ .ea_did = H5I_INVALID_HID, .bt2_did = H5I_INVALID_HID \
+ }
+
+/* Structure to hold info for named pipes */
+typedef struct {
+ const char *fifo_writer_to_reader; /* Name of fifo for writer to reader */
+ const char *fifo_reader_to_writer; /* Name of fifo for reader to writer */
+ int fd_writer_to_reader; /* File ID for fifo from writer to reader */
+ int fd_reader_to_writer; /* File ID for fifo from reader to writer */
+ int notify; /* Value to notify between writer and reader */
+ int verify; /* Value to verify between writer and reader */
+} np_state_t;
+
+/* Initializations for np_state_t */
+#define NP_INITIALIZER \
+ (np_state_t) \
+ { \
+ .fifo_writer_to_reader = "./fifo_dsetchks_writer_to_reader", \
+ .fifo_reader_to_writer = "./fifo_dsetchks_reader_to_writer", .fd_writer_to_reader = -1, \
+ .fd_reader_to_writer = -1, .notify = 0, .verify = 0 \
+ }
+
+static bool state_init(state_t *, int, char **);
+
+static bool np_init(np_state_t *np, bool writer);
+static bool np_close(np_state_t *np, bool writer);
+static bool np_writer(bool result, unsigned step, const state_t *s, np_state_t *np,
+ H5F_vfd_swmr_config_t *config);
+static bool np_reader(bool result, unsigned step, const state_t *s, np_state_t *np);
+static bool np_confirm_verify_notify(int fd, unsigned step, const state_t *s, np_state_t *np);
+
+static bool create_dsets(const state_t *s, dsets_state_t *ds);
+static bool open_dsets(const state_t *s, dsets_state_t *ds);
+static bool close_dsets(const dsets_state_t *ds);
+static void set_chunk_scaled_dims(const state_t *s, dsets_state_t *ds);
+
+static bool perform_dsets_operations(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *config,
+ np_state_t *np);
+
+static bool write_dsets_chunks(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned step);
+static void setup_selection(unsigned action, unsigned which, const state_t *s, const dsets_state_t *ds,
+ hsize_t *start, hsize_t *stride, hsize_t *count, hsize_t *block);
+static void check_set_edge_block(const state_t *s, const dsets_state_t *ds, unsigned i, unsigned j,
+ hsize_t *block);
+static void check_set_partial_block(unsigned action, const hsize_t *dims, hsize_t *block, hsize_t *start);
+static bool write_dset(unsigned action, hid_t did, hid_t tid, hsize_t *start, hsize_t *stride, hsize_t *count,
+ hsize_t *block);
+static bool write_dset_single(unsigned action, const state_t *s, const dsets_state_t *ds);
+
+static bool dsets_extent(unsigned action, const state_t *s, const dsets_state_t *ds);
+static bool dset_extent_real(unsigned action, hid_t did, const hsize_t *chunk_dims);
+
+static bool verify_dsets_operations(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *config,
+ np_state_t *np);
+
+static bool verify_dsets_chunks(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned which);
+static bool verify_read_dset(unsigned action, hid_t did, hid_t tid, hsize_t *start, hsize_t *stride,
+ hsize_t *count, hsize_t *block);
+static bool verify_read_dset_single(unsigned action, const state_t *s, const dsets_state_t *ds);
+
+static bool verify_dsets_extent(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned which);
+static bool verify_dset_extent_real(unsigned action, hid_t did, unsigned rows, unsigned cols, unsigned which);
+
+static const hid_t badhid = H5I_INVALID_HID;
+
+static void
+usage(const char *progname)
+{
+ fprintf(stderr,
+ "usage: %s \n"
+ " [-s] [-i] [-f] [-e] [-r]\n"
+ " [-m rows] [-n cols]\n"
+ " [-g gwrites] [-p pwrites] [-t twrites] [-l lwrites]\n"
+ " [-x xincrs] [-y decrs]\n"
+ " [-u nticks] [-c csteps] [-S] [-N] [-q] [-b] [-o]\n",
+ progname);
+
+ fprintf(
+ stderr,
+ "\n"
+ "-s: create a 2-d chunked dataset with single index\n"
+ "-i: create a 2-d chunked dataset with implicit index\n"
+ "-f: create a 2-d chunked dataset with fixed array index\n"
+ "-e: create a 2-d chunked dataset with extensible array index\n"
+ "-r: create a 2-d chunked dataset with v2 btree index\n"
+ "-m rows: # of <rows> rows for the datasets\n"
+ "-n cols: # of <cols> columns for the chunked datasets\n"
+ "-g gwrites: perform <gwrites> writes that cover a single chunk per write to datasets\n"
+ "-p pwrites: perform <pwrites> writes that cover a single partial chunk per write to datasets\n"
+ "-t twrites: perform <twrites> writes that cover multiple chunks per write to datasets\n"
+ "-l lwrites: perform <lwrites> writes that cover multiple partial chunks per write to datasets\n"
+ "-x xincrs: increase dataset dimension size by 1 for <xincrs> times to datasets\n"
+ "-y ydecrs: decrease dataset dimension size by 1 for <ydecrs> times to datasets\n"
+ "-u nticks: `nticks` ticks for the reader to wait before verification\n"
+ " (default is 4)\n"
+ "-c csteps: `csteps` steps communication interval between reader and writer\n"
+ " (default is 1)\n"
+ "-S: do not use VFD SWMR\n"
+ "-N: do not use named pipes for test synchronization\n"
+ "-q: silence printouts, few messages\n"
+ "-b: write data in big-endian byte order\n"
+ " (default is H5T_NATIVE_UINT32)\n\n"
+ "-o: enable compression (deflate filter) for the datasets\n");
+
+ fprintf(
+ stderr,
+ "\n"
+ "Note:\n"
+ "1. Require to specify at least -s, -i, -f, -e or -r option\n"
+ "2. -m and -n options: <rows> and <cols> have to be > 0.\n"
+ "3. The chunk size for datasets is <rows>/2 by <cols/2>\n"
+ "4. The maximum dimension for dataset with fixed array index is: <rows>*2 by <cols>*2\n"
+ "5. Writes to dataset with single index:\n"
+ " -g and -t options will be the same: write one single chunk\n"
+ " -p and -l options will be the same: write one single partial chunk\n"
+ "6. Writes to dataset with implicit/fixed array/extensible array/v2 btree index:\n"
+ " i) Partial chunk writes to datasets via -p or -l option:\n"
+ " Apply only to a single or a multiple chunk with size > 2 in both dimensions\n"
+ " Otherwise, the whole chunk (single or multiple) is written\n"
+ " ii) Multiple chunk writes to datasets via -t or -l option:\n"
+ " Will expand the chunk size by 2 for both dimensions\n"
+ "7. Increase/decrease dataset dimension sizes to datasets:\n"
+ " Apply only for datasets with fixed array/extensible array/v2 btree index\n"
+ " -x option: for dataset with fixed array index, the increase cannot exceed maximum dimension\n"
+ " -y option: the decrease cannot go below the dataset's chunk size\n"
+ "8. -c <csteps> option cannot exceed the input for the following options:\n"
+ " -g <gwrites> or -p <pwrites> or\n"
+ " -t <twrites> or -l <lwrites> or\n"
+ " -x <xincrs> or -y <ydecrs>\n"
+ "\n");
+
+ exit(EXIT_FAILURE);
+} /* usage() */
+
+/*
+ * Initialize option info in state_t
+ */
+static bool
+state_init(state_t *s, int argc, char **argv)
+{
+ unsigned long tmp;
+ int ch;
+ char tfile[PATH_MAX];
+ char * end;
+
+ *s = ALL_HID_INITIALIZER;
+ esnprintf(tfile, sizeof(tfile), "%s", argv[0]);
+ esnprintf(s->progname, sizeof(s->progname), "%s", basename(tfile));
+
+ while ((ch = getopt(argc, argv, "siferom:n:x:y:g:p:t:l:bqSNu:c:")) != -1) {
+ switch (ch) {
+
+ case 's': /* A chunked dataset with single index */
+ s->single_index = true;
+ break;
+
+ case 'i': /* A chunked dataset with implicit index */
+ s->implicit_index = true;
+ break;
+
+ case 'f': /* A chunked dataset with fixed array index */
+ s->fa_index = true;
+ break;
+
+ case 'e': /* A chunked dataset with extensible array index */
+ s->ea_index = true;
+ break;
+
+ case 'r': /* A chunked dataset with version 2 btree index */
+ s->bt2_index = true;
+ break;
+
+ case 'o': /* A chunked dataset with version 2 btree index */
+ s->use_filter = true;
+ break;
+
+ case 'q': /* Be quiet: few/no progress messages */
+ verbosity = 0;
+ break;
+
+ case 'b': /* Write data in big-endian byte order */
+ s->filetype = H5T_STD_U32BE;
+ break;
+
+ case 'S': /* Disable VFD SWMR */
+ s->use_vfd_swmr = false;
+ break;
+
+ case 'N': /* Disable named pipes synchronization */
+ s->use_np = false;
+ break;
+
+ case 'm': /* # of rows for datasets */
+ case 'n': /* # of cols for datasets */
+ case 'x': /* Increase by 1 for <xincrs> times */
+ case 'y': /* Decrease by 1 for <ydecdrs> times */
+ case 'g': /* # of writes that cover a single chunk per write */
+ case 'p': /* # of writes that cover a single partial chunk per write */
+ case 't': /* # of writes that cover multiple chunks per write */
+ case 'l': /* # of writes that cover multiple partial chunks per write */
+ case 'u': /* Ticks for reader to wait before verification */
+ case 'c': /* Communication interval */
+ errno = 0;
+ tmp = strtoul(optarg, &end, 0);
+ if (end == optarg || *end != '\0') {
+ printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ TEST_ERROR;
+ }
+ else if (errno != 0) {
+ printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ TEST_ERROR;
+ }
+ else if (tmp > UINT_MAX) {
+ printf("`-%c` argument `%lu` too large\n", ch, tmp);
+ TEST_ERROR;
+ }
+
+ if (ch == 'm')
+ s->rows = (unsigned)tmp;
+ else if (ch == 'n')
+ s->cols = (unsigned)tmp;
+ else if (ch == 'x')
+ s->xincrs = (unsigned)tmp;
+ else if (ch == 'y')
+ s->ydecrs = (unsigned)tmp;
+ else if (ch == 'g')
+ s->gwrites = (unsigned)tmp;
+ else if (ch == 'p')
+ s->pwrites = (unsigned)tmp;
+ else if (ch == 't')
+ s->twrites = (unsigned)tmp;
+ else if (ch == 'l')
+ s->lwrites = (unsigned)tmp;
+ else if (ch == 'u')
+ s->update_interval = (unsigned)tmp;
+ else if (ch == 'c')
+ s->csteps = (unsigned)tmp;
+
+ break;
+
+ case '?':
+ default:
+ usage(s->progname);
+ break;
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ /* Require to specify at least -s or -i or -f or -e or -r option */
+ if (!s->single_index && !s->implicit_index && !s->fa_index && !s->ea_index && !s->bt2_index) {
+ printf("Require to specify at least -s or -i or -f or -e or -r option\n");
+ usage(s->progname);
+ goto error;
+ }
+
+ /* -x or -y option only apply to dataset with fixed/extensible array/v2 btree index */
+ if ((s->single_index || s->implicit_index) && (s->xincrs || s->ydecrs)) {
+ printf("-x or -y option not applicable to dataset with single or implicit index\n");
+ usage(s->progname);
+ goto error;
+ }
+
+ /* rows and cols cannot be zero */
+ if (s->rows == 0 || s->cols == 0) {
+ printf("-m <rows> or -n <cols> cannot be zero\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> cannot be zero */
+ if (!s->csteps) {
+ printf("communication interval cannot be zero\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -g <gwrites> options */
+ if (s->gwrites && s->csteps > s->gwrites) {
+ printf("communication interval with -g <gwrites> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -p <pwrites> options */
+ if (s->pwrites && s->csteps > s->pwrites) {
+ printf("communication interval with -p <pwrites> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -t <twrites> options */
+ if (s->twrites && s->csteps > s->twrites) {
+ printf("communication interval with -t <twrites> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -l <lwrites> options */
+ if (s->lwrites && s->csteps > s->lwrites) {
+ printf("communication interval with -l <lwrites> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -x <xincrs> options */
+ if (s->xincrs && s->csteps > s->xincrs) {
+ printf("communication interval with -x <xincrs> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* -c <csteps> and -y <ydecrs> options */
+ if (s->ydecrs && s->csteps > s->ydecrs) {
+ printf("communication interval with -y <ydecrs> is out of bounds\n");
+ TEST_ERROR;
+ }
+
+ /* The test file name */
+ esnprintf(s->filename, sizeof(s->filename), "vfd_swmr_dsetchks.h5");
+
+ return true;
+
+error:
+ return false;
+
+} /* state_init() */
+
+/*
+ * Create the specified datasets:
+ * --2-dimensional chunked datasets
+ * --chunk dimension is rows/2 by cols/2
+ * --fill value is FILL_INIT
+ * --deflate filter if specified
+ * --dataset with single index if specified
+ * --dataset with implicit index if specified
+ * --dataset with fixeda array index if specified
+ * --dataset with extensible array index if specified
+ * --dataset with bt2 index if specified
+ */
+static bool
+create_dsets(const state_t *s, dsets_state_t *ds)
+{
+ hid_t dcpl = badhid;
+ hid_t dcpl2 = badhid;
+ hid_t sid = badhid;
+ hsize_t dims[2];
+ unsigned fillval = FILL_INIT;
+
+ *ds = DSETS_INITIALIZER;
+ set_chunk_scaled_dims(s, ds);
+
+ dims[0] = s->rows;
+ dims[1] = s->cols;
+
+ /* Create dataset creation property list */
+ /* Set properties in dcpl that are common for all the datasets */
+ if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
+ printf("H5Pcreate failed\n");
+ TEST_ERROR;
+ }
+
+ /* Set to chunked layout */
+ if (H5Pset_layout(dcpl, H5D_CHUNKED) < 0) {
+ printf("H5Pset_layout failed\n");
+ TEST_ERROR;
+ }
+
+ /* Set fill value to FILL_INIT */
+ if (H5Pset_fill_value(dcpl, s->filetype, &fillval) < 0) {
+ printf("H5Pset_fill_value failed\n");
+ goto error;
+ }
+
+ /* Set to use filter as specified */
+ if (s->use_filter) {
+ if (H5Pset_deflate(dcpl, 5) < 0) {
+ printf("H5Pset_deflate failed\n");
+ goto error;
+ }
+ }
+
+ /* Create 2-D chunked dataset with single index */
+ /* Chunked, dims=max_dims=chunk_dims */
+ if (s->single_index) {
+
+ if ((dcpl2 = H5Pcopy(dcpl)) < 0) {
+ printf("H5Tcopy failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pset_chunk(dcpl2, 2, dims) < 0) {
+ printf("H5Pset_chunk failed\n");
+ TEST_ERROR;
+ }
+
+ if ((sid = H5Screate_simple(2, dims, dims)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create the chunked dataset: single index */
+ if ((ds->single_did = H5Dcreate2(s->file, DSET_SINGLE_NAME, s->filetype, sid, H5P_DEFAULT, dcpl2,
+ H5P_DEFAULT)) < 0) {
+ printf("H5Dcreate2 chunked dataset:single index failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pclose(dcpl2) < 0) {
+ printf("H5Pclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Chunk size is common for datasets with implicit/fa/ea/bt2 index */
+ if (H5Pset_chunk(dcpl, 2, ds->chunk_dims) < 0) {
+ printf("H5Pset_chunk failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create 2-D chunked dataset with implicit index */
+ /* Chunked, dims=max_dims, early allocation */
+ if (s->implicit_index) {
+
+ if ((dcpl2 = H5Pcopy(dcpl)) < 0) {
+ printf("H5Pcopy failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pset_alloc_time(dcpl2, H5D_ALLOC_TIME_EARLY) < 0) {
+ printf("H5Pset_alloc_time\n");
+ TEST_ERROR;
+ }
+
+ if ((sid = H5Screate_simple(2, dims, dims)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create the chunked dataset: implicit index */
+ if ((ds->implicit_did = H5Dcreate2(s->file, DSET_IMPLICIT_NAME, s->filetype, sid, H5P_DEFAULT, dcpl2,
+ H5P_DEFAULT)) < 0) {
+ printf("H5Dcreate2 chunked dataset:implicit index failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pclose(dcpl2) < 0) {
+ printf("H5Pclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Create 2-D chunked dataset with fixed array index */
+ /* Chunked, fixed max_dims */
+ if (s->fa_index) {
+ hsize_t max_dims[2];
+
+ max_dims[0] = dims[0] * 2;
+ max_dims[1] = dims[1] * 2;
+
+ if ((sid = H5Screate_simple(2, dims, max_dims)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create the chunked dataset (fixed array index) with the named datatype */
+ if ((ds->fa_did =
+ H5Dcreate2(s->file, DSET_FA_NAME, s->filetype, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
+ printf("H5Dcreate2 chunked dataset: fa index failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Create 2-D chunked dataset with extensible array index */
+ /* Chunked, 1 unlimited max_dims */
+ if (s->ea_index) {
+ hsize_t max_dims[2];
+
+ max_dims[0] = dims[0] * 2;
+ max_dims[1] = H5S_UNLIMITED;
+
+ if ((sid = H5Screate_simple(2, dims, max_dims)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create the chunked dataset (extensible array index) with the named datatype */
+ if ((ds->ea_did =
+ H5Dcreate2(s->file, DSET_EA_NAME, s->filetype, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
+ printf("H5Dcreate2 chunked dataset: ea index failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Create 2-D chunked dataset with bt2 index */
+ /* Chunked, 2 unlimited max_dims */
+ if (s->bt2_index) {
+ hsize_t max_dims[2];
+
+ max_dims[0] = max_dims[1] = H5S_UNLIMITED;
+
+ if ((sid = H5Screate_simple(2, dims, max_dims)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Create the chunked dataset (btree2 index) with the named datatype */
+ if ((ds->bt2_did =
+ H5Dcreate2(s->file, DSET_BT2_NAME, s->filetype, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
+ printf("H5Dcreate2 chunked dataset: bt2 index failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (H5Pclose(dcpl) < 0) {
+ printf("H5Pclose failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Pclose(dcpl);
+ H5Pclose(dcpl2);
+ H5Sclose(sid);
+ H5Dclose(ds->single_did);
+ H5Dclose(ds->implicit_did);
+ H5Dclose(ds->fa_did);
+ H5Dclose(ds->ea_did);
+ H5Dclose(ds->bt2_did);
+ }
+ H5E_END_TRY;
+
+ return false;
+
+} /* create_dsets() */
+
+/*
+ * Open the specified datasets.
+ */
+static bool
+open_dsets(const state_t *s, dsets_state_t *ds)
+{
+ *ds = DSETS_INITIALIZER;
+ set_chunk_scaled_dims(s, ds);
+
+ /* Dataset with single index */
+ if (s->single_index) {
+ if ((ds->single_did = H5Dopen2(s->file, DSET_SINGLE_NAME, H5P_DEFAULT)) < 0) {
+ printf("H5Dopen dataset with single index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Dataset with implicit index */
+ if (s->implicit_index) {
+ if ((ds->implicit_did = H5Dopen2(s->file, DSET_IMPLICIT_NAME, H5P_DEFAULT)) < 0) {
+ printf("H5Dopen dataset with implicit index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Dataset with fixed array index */
+ if (s->fa_index) {
+ if ((ds->fa_did = H5Dopen2(s->file, DSET_FA_NAME, H5P_DEFAULT)) < 0) {
+ printf("H5Dopen dataset with fa index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Dataset with extensible array index */
+ if (s->ea_index) {
+ if ((ds->ea_did = H5Dopen2(s->file, DSET_EA_NAME, H5P_DEFAULT)) < 0) {
+ printf("H5Dopen dataset with ea index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Dataset with v2 btree index */
+ if (s->bt2_index) {
+ if ((ds->bt2_did = H5Dopen2(s->file, DSET_BT2_NAME, H5P_DEFAULT)) < 0) {
+ printf("H5Dopen dataset with ea index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* open_dsets() */
+
+/*
+ * Initialize the following 3 fields in ds:
+ * --chunk_dims[]: chunk sizes for datasets with implicit/fa/ea/bt2 index
+ * --scaled_dims[]: # of chunks in x and y dimensions
+ * --multi_scaled[]: # of multiple chunks (2 chunks) in x and y dimensions
+ */
+static void
+set_chunk_scaled_dims(const state_t *s, dsets_state_t *ds)
+{
+ /* Default chunk size is s->rows/2 or s->cols/2 but not less than 1 */
+ ds->chunk_dims[0] = MAX(1, s->rows / 2);
+ ds->chunk_dims[1] = MAX(1, s->cols / 2);
+
+ /* # of chunks in x and y dimensions */
+ ds->scaled_dims[0] = (s->rows + ds->chunk_dims[0] - 1) / ds->chunk_dims[0];
+ ds->scaled_dims[1] = (s->cols + ds->chunk_dims[1] - 1) / ds->chunk_dims[1];
+
+ /* # of "multiple chunks" (2-chunks) in x and y dimensions */
+ ds->multi_scaled[0] = (ds->scaled_dims[0] + MULTI_CHUNKS - 1) / MULTI_CHUNKS;
+ ds->multi_scaled[1] = (ds->scaled_dims[1] + MULTI_CHUNKS - 1) / MULTI_CHUNKS;
+
+} /* set_chunk_scaled_dims() */
+
+/*
+ * Close the specified datasets
+ */
+static bool
+close_dsets(const dsets_state_t *ds)
+{
+ /* Close dataset with single index */
+ if (ds->single_did != badhid && H5Dclose(ds->single_did) < 0) {
+ printf("close_dset_real() dataset: single index failed\n");
+ TEST_ERROR;
+ }
+
+ /* Close dataset with implicit index */
+ if (ds->implicit_did != badhid && H5Dclose(ds->implicit_did) < 0) {
+ printf("close_dset_real() dataset: implicit index failed\n");
+ TEST_ERROR;
+ }
+
+ /* Close dataset with fixed array index */
+ if (ds->fa_did != badhid && H5Dclose(ds->fa_did) < 0) {
+ printf("close_dset_real() dataset: fa index failed\n");
+ TEST_ERROR;
+ }
+
+ /* Close dataset with extensible array index */
+ if (ds->ea_did != badhid && H5Dclose(ds->ea_did) < 0) {
+ printf("close_dset_real() : ea index failed\n");
+ TEST_ERROR;
+ }
+
+ /* Close dataset with v2 btree index */
+ if (ds->bt2_did != badhid && H5Dclose(ds->bt2_did) < 0) {
+ printf("close_dset_real() dataset: bt2 index failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Dclose(ds->single_did);
+ H5Dclose(ds->implicit_did);
+ H5Dclose(ds->fa_did);
+ H5Dclose(ds->ea_did);
+ H5Dclose(ds->bt2_did);
+ }
+ H5E_END_TRY;
+
+ return false;
+
+} /* close_dsets() */
+
+/*
+ * Writer
+ */
+
+/*
+ * Perform the operations for the specified datasets:
+ *
+ * Dataset with single index:
+ * --only 1 write is performed because this dataset only has a single chunk
+ *
+ * Dataset with implicit/fixed array/extensible array/version 2 btree index:
+ * --GWRITES: writes that cover a single chunk per write
+ * --PWRITES: writes that cover a partial chunk per write
+ * --TWRITES: writes that cover multiple chunks per write
+ * --LWRITES: writes that cover multiple partial chunks per write
+ *
+ * Dataset with fixed array/extensible array/version 2 btree index:
+ * --INCR_EXT: increase dataset dimension sizes
+ * --DECR_EXT: decrease dataset dimenions sizes
+ */
+static bool
+perform_dsets_operations(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *config, np_state_t *np)
+{
+ unsigned step;
+ unsigned allowed_writes;
+ bool result;
+
+ /* Dataset with single index */
+ if (s->single_index) {
+ /* Perform single full chunk write */
+ /* gwrites and twrites are the same */
+ /* Doesn't matter how many writes, only perform once */
+ if (s->gwrites || s->twrites) {
+ dbgf(2, "Perform single full chunk write to dataset with single index; only perform 1 write\n");
+
+ result = write_dset_single(GWRITES, s, ds);
+
+ if (s->use_np && !np_writer(result, 0, s, np, config)) {
+ printf("np_writer() for addition failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Perform a single partial chunk write */
+ /* pwrites and lwrites are the same */
+ /* Doesn't matter how many writes, only perform once */
+ if (s->pwrites || s->lwrites) {
+ dbgf(2,
+ "Perform single partial chunk write to dataset with single index; only perform 1 write\n");
+
+ result = write_dset_single(PWRITES, s, ds);
+
+ if (s->use_np && !np_writer(result, 0, s, np, config)) {
+ printf("np_writer() for addition failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Datasets with implicit/fa/ea/bt2 index */
+ if (s->implicit_index || s->fa_index || s->ea_index || s->bt2_index) {
+
+ /* Perform single full chunk writes */
+ if (s->gwrites) {
+ allowed_writes = (unsigned)(ds->scaled_dims[0] * ds->scaled_dims[1]);
+ dbgf(2, "The allowed -g writes is %u; you specify %u writes\n", allowed_writes, s->gwrites);
+
+ for (step = 0; (step < s->gwrites && step < allowed_writes); step++) {
+ dbgf(2, "Perform single full chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ result = write_dsets_chunks(GWRITES, s, ds, step);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for single full chunk writes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Perform single partial chunk writes */
+ if (s->pwrites) {
+ allowed_writes = (unsigned)(ds->scaled_dims[0] * ds->scaled_dims[1]);
+ dbgf(2, "The allowed -p writes is %u; you specify %u writes\n", allowed_writes, s->pwrites);
+
+ for (step = 0; (step < s->pwrites && step < allowed_writes); step++) {
+ dbgf(2, "Perform single partial chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ result = write_dsets_chunks(PWRITES, s, ds, step);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for partial single chunk writes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Perform multiple full chunk writes */
+ if (s->twrites) {
+ allowed_writes = (unsigned)(ds->multi_scaled[0] * ds->multi_scaled[1]);
+ dbgf(2, "The allowed -t writes is %u; you specify %u writes\n", allowed_writes, s->twrites);
+
+ for (step = 0; (step < s->twrites && step < allowed_writes); step++) {
+ dbgf(2, "Perform multiple full chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ result = write_dsets_chunks(TWRITES, s, ds, step);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for multiple full chunk writes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Perform multiple partial chunk writes */
+ if (s->lwrites) {
+ allowed_writes = (unsigned)(ds->multi_scaled[0] * ds->multi_scaled[1]);
+ dbgf(2, "The allowed -l writes is %u; you specify %u writes\n", allowed_writes, s->lwrites);
+
+ for (step = 0; (step < s->lwrites && step < allowed_writes); step++) {
+ dbgf(2,
+ "Perform multiple partial chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ result = write_dsets_chunks(LWRITES, s, ds, step);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for multiple partial chunk writes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Increase dataset dimensions: apply only to fa/ea/bt2 index */
+ if (!s->implicit_index && s->xincrs) {
+ for (step = 0; step < s->xincrs; step++) {
+ dbgf(2, "Increase dataset dimension sizes by %u for datasets with fa/ea/bt2 index\n",
+ step + 1);
+
+ result = dsets_extent(INCR_EXT, s, ds);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for increasing dimension sizes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Decrease dataset dimensions: apply only to fa/ea/bt2 index */
+ if (!s->implicit_index && s->ydecrs) {
+ for (step = 0; step < s->ydecrs; step++) {
+ dbgf(2, "Decrease dataset dimension sizes by %u for datasets with fa/ea/bt2 index\n",
+ step + 1);
+
+ result = dsets_extent(DECR_EXT, s, ds);
+
+ if (s->use_np && !np_writer(result, step, s, np, config)) {
+ printf("np_writer() for decreasing dimension sizes failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* perform_dsets_operations() */
+
+/*
+ * Perform the "action" for each of the specified datasets:
+ * GWRITES: perform `which` write that covers a single chunk
+ * PWRITES: perform `which` write that covers a partial chunk
+ * TWRITES: perform `which` write that covers multiple chunks
+ * LWRITEs: perform `which` write that covers multiple partial chunks
+ */
+static bool
+write_dsets_chunks(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned which)
+{
+ hsize_t start[2] = {0, 0};
+ hsize_t stride[2] = {0, 0};
+ hsize_t count[2] = {0, 0};
+ hsize_t block[2] = {0, 0};
+
+ HDassert(s->implicit_index || s->fa_index || s->ea_index || s->bt2_index);
+
+ /* Set up selection info according to the specified action */
+ setup_selection(action, which, s, ds, start, stride, count, block);
+
+ if (s->implicit_index) {
+ if (!write_dset(action, ds->implicit_did, s->filetype, start, stride, count, block)) {
+ printf("H5Dwrite to chunked dataset: implicit index dataset failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->fa_index) {
+ if (!write_dset(action, ds->fa_did, s->filetype, start, stride, count, block)) {
+ printf("H5Dwrite to chunked dataset: fa index dataset failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->ea_index) {
+ if (!write_dset(action, ds->ea_did, s->filetype, start, stride, count, block)) {
+ printf("H5Dwrite to chunked dataset: ea index dataset failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->bt2_index) {
+ if (!write_dset(action, ds->bt2_did, s->filetype, start, stride, count, block)) {
+ printf("H5Dwrite to chunked dataset: bt2 index dataset failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* write_dsets_chunks() */
+
+/*
+ * Set up selection info: start, stride, count, block
+ */
+static void
+setup_selection(unsigned action, unsigned which, const state_t *s, const dsets_state_t *ds, hsize_t *start,
+ hsize_t *stride, hsize_t *count, hsize_t *block)
+{
+ unsigned i, j, m, n;
+ bool end = false;
+ hsize_t chunk_dims[2];
+
+ HDassert(action == GWRITES || action == PWRITES || action == TWRITES || action == LWRITES);
+
+ count[0] = 1;
+ count[1] = 1;
+ stride[0] = 1;
+ stride[1] = 1;
+
+ /* Single or multiple chunk writes */
+ if (action == GWRITES || action == PWRITES) {
+ block[0] = chunk_dims[0] = ds->chunk_dims[0];
+ block[1] = chunk_dims[1] = ds->chunk_dims[1];
+
+ for (i = 0; i < ds->scaled_dims[0] && !end; i++) {
+ for (j = 0; j < ds->scaled_dims[1]; j++) {
+
+ /* Determine which chunk to write */
+ if (which == (i * ds->scaled_dims[1] + j)) {
+ start[0] = i * ds->chunk_dims[0];
+ start[1] = j * ds->chunk_dims[1];
+
+ /* If an edge chunk, determine the block size */
+ check_set_edge_block(s, ds, i, j, block);
+
+ end = true;
+ break;
+ } /* end if */
+ } /* end for */
+ } /* end for */
+
+ /* Check and set partial chunk write */
+ if (action == PWRITES)
+ check_set_partial_block(action, chunk_dims, block, start);
+
+ /* Partial or multiple partial chunk writes */
+ }
+ else if (action == TWRITES || action == LWRITES) {
+ /* Multiple chunk writes: the block covers 2 chunks in each dimension */
+ block[0] = chunk_dims[0] = ds->chunk_dims[0] * 2;
+ block[1] = chunk_dims[1] = ds->chunk_dims[1] * 2;
+
+ for (i = 0, m = 0; i < ds->scaled_dims[0] && !end; i += 2, m++) {
+ for (j = 0, n = 0; j < ds->scaled_dims[1]; j += 2, n++) {
+ if (which == (m * ds->multi_scaled[1] + n)) {
+ start[0] = i * ds->chunk_dims[0];
+ start[1] = j * ds->chunk_dims[1];
+
+ /* If an edge chunk, determine the block size */
+ check_set_edge_block(s, ds, i, j, block);
+
+ end = true;
+ break;
+
+ } /* end if */
+ } /* end for */
+ } /* end for */
+
+ /* Check and set multiple partial chunk write */
+ if (action == LWRITES)
+ check_set_partial_block(action, chunk_dims, block, start);
+ }
+
+} /* setup_selection() */
+
+/*
+ * Check if "i" or "j" is an edge block.
+ * If so, determine the block size.
+ */
+static void
+check_set_edge_block(const state_t *s, const dsets_state_t *ds, unsigned i, unsigned j, hsize_t *block)
+{
+
+ if (i == (ds->scaled_dims[0] - 1)) {
+ if ((ds->scaled_dims[0] * ds->chunk_dims[0]) >= s->rows)
+ block[0] = s->rows - i * ds->chunk_dims[0];
+ }
+
+ if (j == (ds->scaled_dims[1] - 1)) {
+ if ((ds->scaled_dims[1] * ds->chunk_dims[1]) >= s->cols)
+ block[1] = s->cols - (j * ds->chunk_dims[1]);
+ }
+
+} /* check_set_edge_block() */
+
+/*
+ * Determine the starting offset and the partial block size if the block is:
+ * --a full chunk or a multiple full chunks
+ * --the block size is at least 2
+ * Otherwise, nothing is done i.e. the whole block is applied
+ */
+static void
+check_set_partial_block(unsigned action, const hsize_t *chunk_dims, hsize_t *block, hsize_t *start)
+{
+ HDassert(action == PWRITES || action == LWRITES);
+
+ /* Apply only to full chunk or multi full chunks with block size > 2 */
+ if (block[0] == chunk_dims[0] && block[1] == chunk_dims[1]) {
+
+ if (block[0] > 2) {
+ start[0] += 1;
+ block[0] -= 2;
+ };
+
+ if (block[1] > 2) {
+ start[1] += 1;
+ block[1] -= 2;
+ };
+ }
+
+} /* check_set_partial_block() */
+
+/*
+ * Make the selection and then write to the dataset.
+ */
+static bool
+write_dset(unsigned action, hid_t did, hid_t tid, hsize_t *start, hsize_t *stride, hsize_t *count,
+ hsize_t *block)
+{
+ hid_t sid = badhid;
+ hid_t mem_sid = badhid;
+ hsize_t mem_dims[2];
+ unsigned int *buf = NULL;
+ unsigned i;
+
+ if ((sid = H5Dget_space(did)) < 0) {
+ printf("H5Sget_space failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block) < 0) {
+ printf("H5Sselect_hyperslab failed\n");
+ TEST_ERROR;
+ }
+
+ mem_dims[0] = block[0];
+ mem_dims[1] = block[1];
+
+ if ((mem_sid = H5Screate_simple(2, mem_dims, NULL)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Allocate the buffer for writing */
+ if ((buf = HDmalloc(block[0] * block[1] * sizeof(unsigned int))) == NULL) {
+ printf("HDmalloc failed\n");
+ TEST_ERROR;
+ }
+
+ /* Fill the value to be written depending on full or partial writes */
+ for (i = 0; i < (block[0] * block[1]); i++) {
+ if (action == GWRITES || action == TWRITES)
+ buf[i] = FILL_FULL;
+ else
+ buf[i] = FILL_PARTIAL;
+ }
+
+ if (H5Dwrite(did, tid, mem_sid, sid, H5P_DEFAULT, buf) < 0) {
+ printf("H5Dwrite failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (buf)
+ HDfree(buf);
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Sclose(sid);
+ H5Sclose(mem_sid);
+ }
+ H5E_END_TRY;
+
+ if (buf)
+ HDfree(buf);
+
+ return false;
+
+} /* write_dset() */
+
+/*
+ * Increase or decrease the dimenion sizes for the specified datasets.
+ */
+static bool
+dsets_extent(unsigned action, const state_t *s, const dsets_state_t *ds)
+{
+ unsigned nerrors = 0;
+ bool ret = true;
+
+ HDassert(s->fa_index || s->ea_index || s->bt2_index);
+ HDassert(action == INCR_EXT || action == DECR_EXT);
+
+ if (s->fa_index) {
+ dbgf(2, "Setting dataset extent for FA dataset\n");
+ if (!dset_extent_real(action, ds->fa_did, ds->chunk_dims)) {
+ ++nerrors;
+ }
+ }
+
+ if (s->ea_index) {
+ dbgf(2, "Setting dataset extent for EA dataset\n");
+ if (!dset_extent_real(action, ds->ea_did, ds->chunk_dims))
+ ++nerrors;
+ }
+
+ if (s->bt2_index) {
+ dbgf(2, "Setting dataset extent for BT2 dataset\n");
+ if (!dset_extent_real(action, ds->bt2_did, ds->chunk_dims))
+ ++nerrors;
+ }
+
+ if (nerrors)
+ ret = false;
+
+ return (ret);
+
+} /* dsets_extent() */
+
+/*
+ * Perform the real work of increasing/decreasing the dataset dimension sizes
+ */
+static bool
+dset_extent_real(unsigned action, hid_t did, const hsize_t *chunk_dims)
+{
+ hsize_t dims[2];
+ hsize_t max_dims[2];
+ hsize_t new[2];
+ hid_t sid = badhid;
+
+ if ((sid = H5Dget_space(did)) < 0) {
+ printf("H5Sget_space failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sget_simple_extent_dims(sid, dims, max_dims) < 0) {
+ printf("H5Sget_simple_extent_dims failed\n");
+ TEST_ERROR;
+ }
+
+ switch (action) {
+
+ case INCR_EXT:
+ new[0] = dims[0] + 1;
+ new[1] = dims[1] + 1;
+
+ /* Cannot increase to more than maximum dimension (both dims) for FA dataset */
+ /* Cannot increase to more than maximum dimension (dim 0) for EA dataset */
+ if ((max_dims[0] != H5S_UNLIMITED && new[0] > max_dims[0]) ||
+ (max_dims[1] != H5S_UNLIMITED && new[1] > max_dims[1])) {
+ printf("Cannot exceed maximum dimension for dataset\n");
+ TEST_ERROR;
+ }
+
+ break;
+
+ case DECR_EXT:
+ new[0] = dims[0] - 1;
+ new[1] = dims[1] - 1;
+
+ if (new[0] < chunk_dims[0] || new[1] < chunk_dims[1]) {
+ printf("Cannot decrease to less than chunk dimension\n");
+ TEST_ERROR;
+ }
+ break;
+
+ default:
+ HDassert(0 && "Unknown action?!?");
+
+ } /* end switch */
+
+ if (H5Dset_extent(did, new) < 0) {
+ printf("H5Dset_extent for dataset failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Sclose(sid);
+ }
+ H5E_END_TRY;
+
+ return false;
+} /* dset_extent_real() */
+
+/*
+ * Write to dataset with single index: only 1 chunk is written
+ */
+static bool
+write_dset_single(unsigned action, const state_t *s, const dsets_state_t *ds)
+{
+ hsize_t count[2] = {1, 1};
+ hsize_t stride[2] = {1, 1};
+ hsize_t start[2] = {0, 0};
+ hsize_t block[2] = {s->rows, s->cols};
+
+ HDassert(action == GWRITES || action == PWRITES || action == TWRITES || action == LWRITES);
+ HDassert(s->single_index);
+
+ /* Check and set partial chunk write */
+ if (action == PWRITES || action == LWRITES)
+ check_set_partial_block(action, block, block, start);
+
+ if (!write_dset(action, ds->single_did, s->filetype, start, stride, count, block)) {
+ printf("H5Dwrite to dataset with single index dataset failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* write_dset_single() */
+
+/*
+ * Reader
+ */
+
+/*
+ * Verify the operations for the specified datasets:
+ *
+ * Dataset with single index:
+ * --verify only 1 write because this dataset only has a single chunk
+ *
+ * Dataset with implicit/fixed array/extensible array/version 2 btree index:
+ * --GWRITES: verify writes that cover a single chunk per write
+ * --PWRITES: verify writes that cover a partial chunk per write
+ * --TWRITES: verify writes that cover multiple chunks per write
+ * --LWRITES: verify writes that cover multiple partial chunks per write
+ *
+ * Dataset with fixed array/extensible array/version 2 btree index:
+ * --INCR_EXT: verify the increase to dataset dimension sizes
+ * --DECR_EXT: verify the decrease to dataset dimensions sizes
+ */
+static bool
+verify_dsets_operations(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *config, np_state_t *np)
+{
+ unsigned step;
+ unsigned allowed_writes;
+ bool result;
+
+ /* Verify dataset with single index */
+ if (s->single_index) {
+ /* Verify a single full chunk write to dataset with single index */
+ /* gwrites and twrites are the same */
+ /* Doesn't matter how many writes, only perform once */
+ if (s->gwrites || s->twrites) {
+ dbgf(2, "Verify single full chunk write to dataset with single index; only verify 1 write\n");
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, 0, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_read_dset_single(GWRITES, s, ds);
+
+ if (s->use_np && !np_reader(result, 0, s, np)) {
+ printf("np_reader() for verifying addition failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Verify a single partial chunk write to dataset with single index */
+ /* pwrites and lwrites are the same */
+ /* Doesn't matter how many writes, only perform once */
+ if (s->pwrites || s->lwrites) {
+ dbgf(2, "Verify single partial chunk write to dataset with single index; only verify 1 write\n");
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, 0, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_read_dset_single(PWRITES, s, ds);
+
+ if (s->use_np && !np_reader(result, 0, s, np)) {
+ printf("np_reader() for verifying addition failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify datasets with implicit/fa/ea/bt2 index */
+ if (s->implicit_index || s->fa_index || s->ea_index || s->bt2_index) {
+
+ /* Verify single full chunk writes */
+ if (s->gwrites) {
+ allowed_writes = (unsigned)(ds->scaled_dims[0] * ds->scaled_dims[1]);
+ dbgf(2, "The allowed -g writes is %u; you specify %u writes\n", allowed_writes, s->gwrites);
+
+ for (step = 0; (step < s->gwrites && step < allowed_writes); step++) {
+ dbgf(2, "Verify single full chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_chunks(GWRITES, s, ds, step);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for verification failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify single partial chunk writes */
+ if (s->pwrites) {
+ allowed_writes = (unsigned)(ds->scaled_dims[0] * ds->scaled_dims[1]);
+ dbgf(2, "The allowed -p writes is %u; you specify %u writes\n", allowed_writes, s->pwrites);
+
+ for (step = 0; (step < s->pwrites && step < allowed_writes); step++) {
+ dbgf(2, "Verify single partial chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_chunks(PWRITES, s, ds, step);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for verification failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify multiple full chunk writes */
+ if (s->twrites) {
+ allowed_writes = (unsigned)(ds->multi_scaled[0] * ds->multi_scaled[1]);
+ dbgf(2, "The allowed -t writes is %u; you specify %u writes\n", allowed_writes, s->twrites);
+
+ for (step = 0; (step < s->twrites && step < allowed_writes); step++) {
+ dbgf(2, "Verify multiple full chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_chunks(TWRITES, s, ds, step);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for verification failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify multiple partial chunk writes */
+ if (s->lwrites) {
+ allowed_writes = (unsigned)(ds->multi_scaled[0] * ds->multi_scaled[1]);
+ dbgf(2, "The allowed -l writes is %u; you specify %u writes\n", allowed_writes, s->lwrites);
+
+ for (step = 0; (step < s->lwrites && step < allowed_writes); step++) {
+ dbgf(2,
+ "Verify multiple partial chunk writes #%u to datasets with implicit/fa/ea/bt2 index\n",
+ step);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_chunks(LWRITES, s, ds, step);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for verification failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify increase to dataset dimensions: apply only for fa, ea and bt2 index */
+ if (!s->implicit_index && s->xincrs) {
+ for (step = 0; step < s->xincrs; step++) {
+ dbgf(2, "Verify increase to dimension sizes by %u for datasets with fa/ea/bt2 index\n",
+ step + 1);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_extent(INCR_EXT, s, ds, step + 1);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ /* Verify decrease to dataset dimensions: apply only for fa, ea and bt2 index */
+ if (!s->implicit_index && s->ydecrs) {
+ for (step = 0; step < s->ydecrs; step++) {
+ dbgf(2, "Verify decrease to dimension sizes by %u for datasets with fa/ea/bt2 index\n",
+ step + 1);
+
+ if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ /* Wait for a few ticks for the update to happen */
+ decisleep(config->tick_len * s->update_interval);
+
+ result = verify_dsets_extent(DECR_EXT, s, ds, step + 1);
+
+ if (s->use_np && !np_reader(result, step, s, np)) {
+ printf("np_reader() for verification failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+ }
+
+ return true;
+
+error:
+
+ return false;
+
+} /* verify_dsets_operations() */
+
+/*
+ * Verify the data read from each of the specified datasets:
+ * GWRITES: verify `which` write that covers a single chunk
+ * PWRITES: verify `which` write that covers a partial chunk
+ * TWRITES: verify `which` write that covers multiple chunks
+ * LWRITEs: verify `which` write that covers multiple partial chunks
+ */
+static bool
+verify_dsets_chunks(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned which)
+{
+ hsize_t start[2] = {0, 0};
+ hsize_t stride[2] = {0, 0};
+ hsize_t count[2] = {0, 0};
+ hsize_t block[2] = {0, 0};
+ unsigned int *vbuf = NULL;
+
+ HDassert(s->implicit_index || s->fa_index || s->ea_index || s->bt2_index);
+
+ /* Set up selection according to the specified action */
+ setup_selection(action, which, s, ds, start, stride, count, block);
+
+ if (s->implicit_index) {
+ if (!verify_read_dset(action, ds->implicit_did, s->filetype, start, stride, count, block)) {
+ printf("verify_read_dset() to dataset with implicit index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->fa_index) {
+ if (!verify_read_dset(action, ds->fa_did, s->filetype, start, stride, count, block)) {
+ printf("verify_read_dset() to dataset with fixed array index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->ea_index) {
+ if (!verify_read_dset(action, ds->ea_did, s->filetype, start, stride, count, block)) {
+ printf("verify_read_dset() to dataset with extensible array index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->bt2_index) {
+ if (!verify_read_dset(action, ds->bt2_did, s->filetype, start, stride, count, block)) {
+ printf("verify_read_dset() to dataset with bt2 index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ return true;
+
+error:
+
+ return false;
+
+} /* verify_dsets_chunks() */
+
+/*
+ * Verify the data read from the dataset is as expected.
+ */
+static bool
+verify_read_dset(unsigned action, hid_t did, hid_t tid, hsize_t *start, hsize_t *stride, hsize_t *count,
+ hsize_t *block)
+{
+ hid_t mem_sid = badhid;
+ hid_t sid = badhid;
+ hsize_t mem_dims[2];
+ unsigned int *rbuf = NULL;
+ unsigned i;
+
+ /* Refresh the dataset */
+ if (H5Drefresh(did) < 0) {
+ printf("H5Drefresh dataset failed\n");
+ TEST_ERROR;
+ }
+
+ if ((sid = H5Dget_space(did)) < 0) {
+ printf("H5Dget_space dataset failed\n");
+ TEST_ERROR;
+ }
+
+ /* Make the selection the file dataspace */
+ if (H5Sselect_hyperslab(sid, H5S_SELECT_SET, start, stride, count, block) < 0) {
+ printf("H5Sselect to dataset failed\n");
+ TEST_ERROR;
+ }
+
+ mem_dims[0] = block[0];
+ mem_dims[1] = block[1];
+ if ((mem_sid = H5Screate_simple(2, mem_dims, NULL)) < 0) {
+ printf("H5Screate_simple failed\n");
+ TEST_ERROR;
+ }
+
+ /* Allocate the buffer for reading */
+ if ((rbuf = HDmalloc(block[0] * block[1] * sizeof(unsigned int))) == NULL) {
+ printf("HDmalloc failed\n");
+ TEST_ERROR;
+ }
+
+ /* Read the data from the dataset into `rbuf` */
+ if (H5Dread(did, tid, mem_sid, sid, H5P_DEFAULT, rbuf) < 0) {
+ printf("H5Dread from dataset failed\n");
+ TEST_ERROR;
+ }
+
+ /* Verify the data read in `rbuf` is as the fill value expected */
+ for (i = 0; i < block[0] * block[1]; i++) {
+ if (action == GWRITES || action == TWRITES) {
+ if (rbuf[i] != FILL_FULL) {
+ printf("Invalid value for dataset for GWRITES/TWRITES\n");
+ TEST_ERROR;
+ }
+ }
+ else {
+ HDassert(action == PWRITES || action == LWRITES);
+ if (rbuf[i] != FILL_PARTIAL) {
+ printf("Invalid value for dataset for GWRITES/TWRITES\n");
+ TEST_ERROR;
+ }
+ }
+ }
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sclose(mem_sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (rbuf)
+ HDfree(rbuf);
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Sclose(sid);
+ H5Sclose(mem_sid);
+ }
+ H5E_END_TRY;
+
+ if (rbuf)
+ HDfree(rbuf);
+
+ return false;
+
+} /* verify_read_dset() */
+
+/*
+ * Verify the increase or decrease of dimenion sizes for the specified datasets.
+ */
+static bool
+verify_dsets_extent(unsigned action, const state_t *s, const dsets_state_t *ds, unsigned which)
+{
+ unsigned rows = s->rows;
+ unsigned cols = s->cols;
+
+ HDassert(action == INCR_EXT || action == DECR_EXT);
+ HDassert(s->fa_index || s->ea_index || s->bt2_index);
+
+ /* s->xincrs can be 0 or the increased extent of the dataset */
+ if (action == DECR_EXT) {
+ rows = s->rows + s->xincrs;
+ cols = s->cols + s->xincrs;
+ }
+
+ if (s->fa_index) {
+ dbgf(2, "Verify dataset extent for FA dataset\n");
+ if (!verify_dset_extent_real(action, ds->fa_did, rows, cols, which)) {
+ printf("verify_read_dset() to dataset with fixed array index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->ea_index) {
+ dbgf(2, "Verify dataset extent for EA dataset\n");
+ if (!verify_dset_extent_real(action, ds->fa_did, rows, cols, which)) {
+ printf("verify_read_dset() to dataset with fixed array index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (s->bt2_index) {
+ dbgf(2, "Verify dataset extent for BT2 dataset\n");
+ if (!verify_dset_extent_real(action, ds->bt2_did, rows, cols, which)) {
+ printf("verify_read_dset() to dataset with fixed array index failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* verify_dsets_extent() */
+
+/*
+ * Do the real work of verifying the increase/decrease for the dataset dimension sizes
+ */
+static bool
+verify_dset_extent_real(unsigned action, hid_t did, unsigned rows, unsigned cols, unsigned which)
+{
+ hsize_t dims[2];
+ hid_t sid = badhid;
+
+ /* Refresh the dataset */
+ if (H5Drefresh(did) < 0) {
+ printf("H5Drefresh dataset failed\n");
+ TEST_ERROR;
+ }
+
+ if ((sid = H5Dget_space(did)) < 0) {
+ printf("H5Dget_space dataset failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Sget_simple_extent_dims(sid, dims, NULL) < 0) {
+ printf("H5Sget_simple_extent_dims() failed\n");
+ TEST_ERROR;
+ }
+
+ switch (action) {
+
+ case INCR_EXT:
+ if (dims[0] != (rows + which) || dims[1] != (cols + which))
+ TEST_ERROR
+
+ break;
+
+ case DECR_EXT:
+ if (dims[0] != (rows - which) || dims[1] != (cols - which))
+ TEST_ERROR
+ break;
+
+ default:
+ HDassert(0 && "Unknown action?!?");
+
+ } /* end switch */
+
+ if (H5Sclose(sid) < 0) {
+ printf("H5Sclose failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Sclose(sid);
+ }
+ H5E_END_TRY;
+
+ return false;
+} /* verify_dset_extent_real() */
+
+/*
+ * Verify that the data read from the dataset with single index is as unexpected.
+ */
+static bool
+verify_read_dset_single(unsigned action, const state_t *s, const dsets_state_t *ds)
+{
+ hsize_t block[2] = {s->rows, s->cols};
+ hsize_t count[2] = {1, 1};
+ hsize_t stride[2] = {1, 1};
+ hsize_t start[2] = {0, 0};
+
+ HDassert(action == GWRITES || action == PWRITES);
+ HDassert(s->single_index);
+
+ if (action == PWRITES)
+ check_set_partial_block(action, block, block, start);
+
+ if (!verify_read_dset(action, ds->single_did, s->filetype, start, stride, count, block)) {
+ printf("verify_read_dset() to dataset with single index failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* verify_read_dset_single() */
+
+/*
+ * Named pipes handling
+ */
+
+/*
+ * Initialize the named pipes for test synchronization.
+ */
+static bool
+np_init(np_state_t *np, bool writer)
+{
+ *np = NP_INITIALIZER;
+
+ /*
+ * Use two named pipes(FIFO) to coordinate the writer and reader for
+ * two-way communication so that the two sides can move forward together.
+ * One is for the writer to write to the reader.
+ * The other one is for the reader to signal the writer.
+ */
+ if (writer) {
+ /* If the named pipes are present at the start of the test, remove them */
+ if (HDaccess(np->fifo_writer_to_reader, F_OK) == 0)
+ if (HDremove(np->fifo_writer_to_reader) != 0) {
+ printf("HDremove fifo_writer_to_reader failed\n");
+ TEST_ERROR;
+ }
+
+ if (HDaccess(np->fifo_reader_to_writer, F_OK) == 0)
+ if (HDremove(np->fifo_reader_to_writer) != 0) {
+ printf("HDremove fifo_reader_to_writer failed\n");
+ TEST_ERROR;
+ }
+
+ /* Writer creates two named pipes(FIFO) */
+ if (HDmkfifo(np->fifo_writer_to_reader, 0600) < 0) {
+ printf("HDmkfifo fifo_writer_to_reader failed\n");
+ TEST_ERROR;
+ }
+
+ if (HDmkfifo(np->fifo_reader_to_writer, 0600) < 0) {
+ printf("HDmkfifo fifo_reader_to_writer failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Both the writer and reader open the pipes */
+ if ((np->fd_writer_to_reader = HDopen(np->fifo_writer_to_reader, O_RDWR)) < 0) {
+ printf("HDopen fifo_writer_to_reader failed\n");
+ TEST_ERROR;
+ }
+
+ if ((np->fd_reader_to_writer = HDopen(np->fifo_reader_to_writer, O_RDWR)) < 0) {
+ printf("HDopen fifo_reader_to_writer failed\n");
+ TEST_ERROR;
+ }
+
+ return true;
+
+error:
+ return false;
+
+} /* np_init() */
+
+/*
+ * Close the named pipes.
+ */
+static bool
+np_close(np_state_t *np, bool writer)
+{
+ /* Both the writer and reader close the named pipes */
+ if (HDclose(np->fd_writer_to_reader) < 0) {
+ printf("HDclose fd_writer_to_reader failed\n");
+ TEST_ERROR;
+ }
+
+ if (HDclose(np->fd_reader_to_writer) < 0) {
+ printf("HDclose fd_reader_to_writer failed\n");
+ TEST_ERROR;
+ }
+
+ /* Reader finishes last and deletes the named pipes */
+ if (!writer) {
+ if (HDremove(np->fifo_writer_to_reader) != 0) {
+ printf("HDremove fifo_writer_to_reader failed\n");
+ TEST_ERROR;
+ }
+
+ if (HDremove(np->fifo_reader_to_writer) != 0) {
+ printf("HDremove fifo_reader_to_writer failed\n");
+ TEST_ERROR;
+ }
+ }
+ return true;
+
+error:
+ return false;
+} /* np_close() */
+
+/*
+ * Writer synchronization depending on the result from the action performed.
+ */
+static bool
+np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_swmr_config_t *config)
+{
+ unsigned int i;
+
+ /* The action fails */
+ if (!result) {
+ printf("action failed\n");
+ H5_FAILED();
+ AT();
+
+ /* At communication interval, notify the reader about the failure and quit */
+ if (step % s->csteps == 0) {
+ np->notify = -1;
+ HDwrite(np->fd_writer_to_reader, &np->notify, sizeof(int));
+ goto error;
+ }
+ /* The action succeeds */
+ }
+ else {
+ /* At communication interval, notify the reader and wait for its response */
+ if (step % s->csteps == 0) {
+ /* Bump up the value of notify to tell the reader to start reading */
+ np->notify++;
+ if (HDwrite(np->fd_writer_to_reader, &np->notify, sizeof(int)) < 0) {
+ printf("HDwrite failed\n");
+ TEST_ERROR;
+ }
+
+ /* During the wait, writer makes repeated HDF5 API calls
+ * to trigger EOT at approximately the correct time */
+ for (i = 0; i < config->max_lag + 1; i++) {
+ decisleep(config->tick_len);
+ H5E_BEGIN_TRY
+ {
+ H5Aexists(s->file, "nonexistent");
+ }
+ H5E_END_TRY;
+ }
+
+ /* Handshake between writer and reader */
+ if (!np_confirm_verify_notify(np->fd_reader_to_writer, step, s, np)) {
+ printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+ return true;
+
+error:
+ return false;
+
+} /* np_writer() */
+
+/*
+ *
+ * Reader synchronization depending on the result from the verification.
+ */
+static bool
+np_reader(bool result, unsigned step, const state_t *s, np_state_t *np)
+{
+ /* The verification fails */
+ if (!result) {
+ printf("verify action failed\n");
+ H5_FAILED();
+ AT();
+
+ /* At communication interval, tell the writer about the failure and exit */
+ if (step % s->csteps == 0) {
+ np->notify = -1;
+ HDwrite(np->fd_reader_to_writer, &np->notify, sizeof(int));
+ goto error;
+ }
+ /* The verification succeeds */
+ }
+ else {
+ if (step % s->csteps == 0) {
+ /* Send back the same notify value for acknowledgement:
+ * --inform the writer to move to the next step */
+ if (HDwrite(np->fd_reader_to_writer, &np->notify, sizeof(int)) < 0) {
+ printf("HDwrite failed\n");
+ TEST_ERROR;
+ }
+ }
+ }
+ return true;
+
+error:
+ return false;
+
+} /* np_reader() */
+
+/*
+ * Handshake between writer and reader:
+ * Confirm `verify` is same as `notify`.
+ */
+static bool
+np_confirm_verify_notify(int fd, unsigned step, const state_t *s, np_state_t *np)
+{
+ if (step % s->csteps == 0) {
+ np->verify++;
+ if (HDread(fd, &np->notify, sizeof(int)) < 0) {
+ printf("HDread failed\n");
+ TEST_ERROR;
+ }
+
+ if (np->notify == -1) {
+ printf("reader/writer failed to verify\n");
+ TEST_ERROR;
+ }
+
+ if (np->notify != np->verify) {
+ printf("received message %d, expecting %d\n", np->notify, np->verify);
+ TEST_ERROR;
+ }
+ }
+
+ return true;
+
+error:
+ return false;
+} /* np_confirm_verify_notify() */
+
+/*
+ * Main
+ */
+int
+main(int argc, char **argv)
+{
+ hid_t fapl, fcpl;
+ bool writer;
+ state_t s;
+ const char * personality;
+ H5F_vfd_swmr_config_t config;
+ np_state_t np;
+ dsets_state_t ds;
+
+ if (!state_init(&s, argc, argv)) {
+ printf("state_init() failed\n");
+ TEST_ERROR;
+ }
+
+ personality = HDstrstr(s.progname, "vfd_swmr_dsetchks_");
+
+ if (personality != NULL && HDstrcmp(personality, "vfd_swmr_dsetchks_writer") == 0)
+ writer = true;
+ else if (personality != NULL && HDstrcmp(personality, "vfd_swmr_dsetchks_reader") == 0)
+ writer = false;
+ else {
+ printf("unknown personality, expected vfd_swmr_dsetchks_{reader,writer}\n");
+ TEST_ERROR;
+ }
+
+ /* config, tick_len, max_lag, writer, flush_raw_data, md_pages_reserved, md_file_path */
+ init_vfd_swmr_config(&config, 4, 7, writer, FALSE, 128, "./dsetchks-shadow");
+
+ /* use_latest_format, use_vfd_swmr, only_meta_page, config */
+ if ((fapl = vfd_swmr_create_fapl(true, s.use_vfd_swmr, true, &config)) < 0) {
+ printf("vfd_swmr_create_fapl() failed\n");
+ TEST_ERROR;
+ }
+
+ if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) {
+ printf("H5Pcreate failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, false, 1) < 0) {
+ printf("H5Pset_file_space_strategy failed\n");
+ TEST_ERROR;
+ }
+
+ if (writer) {
+ if ((s.file = H5Fcreate(s.filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) {
+ printf("H5Fcreate failed\n");
+ TEST_ERROR;
+ }
+
+ if (!create_dsets(&s, &ds)) {
+ printf("create_dsets() failed\n");
+ TEST_ERROR;
+ }
+ }
+ else {
+ if ((s.file = H5Fopen(s.filename, H5F_ACC_RDONLY, fapl)) < 0) {
+ printf("H5Fopen failed\n");
+ TEST_ERROR;
+ }
+ if (!open_dsets(&s, &ds)) {
+ printf("open_dsets() failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ /* Initiailze named pipes */
+ if (s.use_np && !np_init(&np, writer)) {
+ printf("np_init() failed\n");
+ TEST_ERROR;
+ }
+
+ if (writer) {
+
+ if (!perform_dsets_operations(&s, &ds, &config, &np)) {
+ printf("perform_dsets_operations() failed\n");
+ TEST_ERROR;
+ }
+ }
+ else {
+
+ if (!verify_dsets_operations(&s, &ds, &config, &np)) {
+ printf("perform_dsets_operations() failed\n");
+ TEST_ERROR;
+ }
+ }
+
+ if (!close_dsets(&ds)) {
+ printf("close_dsets() failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pclose(fapl) < 0) {
+ printf("H5Pclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Pclose(fcpl) < 0) {
+ printf("H5Pclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (H5Fclose(s.file) < 0) {
+ printf("H5Fclose failed\n");
+ TEST_ERROR;
+ }
+
+ if (s.use_np && !np_close(&np, writer)) {
+ printf("np_close() failed\n");
+ TEST_ERROR;
+ }
+
+ return EXIT_SUCCESS;
+
+error:
+ H5E_BEGIN_TRY
+ {
+ H5Pclose(fapl);
+ H5Pclose(fcpl);
+ H5Fclose(s.file);
+ }
+ H5E_END_TRY;
+
+ if (s.use_np && np.fd_writer_to_reader >= 0)
+ HDclose(np.fd_writer_to_reader);
+
+ if (s.use_np && np.fd_reader_to_writer >= 0)
+ HDclose(np.fd_reader_to_writer);
+
+ if (s.use_np && !writer) {
+ HDremove(np.fifo_writer_to_reader);
+ HDremove(np.fifo_reader_to_writer);
+ }
+
+ return EXIT_FAILURE;
+} /* main */
+
+#else /* H5_HAVE_WIN32_API */
+
+int
+main(void)
+{
+ HDfprintf(stderr, "Non-POSIX platform. Skipping.\n");
+ return EXIT_SUCCESS;
+} /* end main() */
+
+#endif /* H5_HAVE_WIN32_API */
diff --git a/test/vfd_swmr_dsetops_writer.c b/test/vfd_swmr_dsetops_writer.c
index 8c21806..66d0410 100644
--- a/test/vfd_swmr_dsetops_writer.c
+++ b/test/vfd_swmr_dsetops_writer.c
@@ -169,42 +169,42 @@ static const hid_t badhid = H5I_INVALID_HID;
static void
usage(const char *progname)
{
- fprintf(stderr,
- "usage: %s \n"
- " [-p] [-e elmts] [-o]\n"
- " [-g] [-k] [-m rows] [-n cols]\n"
- " [-s swrites] [-r rwrites] [-l lwrites] [-w writes]\n"
- " [-u nticks] [-c csteps] [-S] [-N] [-q] [-b]\n"
- "\n"
- "-p: create a dataset with compact layout\n"
- "-e elmts: # of <elmts> for the compact dataset\n"
- " (default is 16380)\n"
- "-t: perform write to the compact dataset\n"
- "-g: create a dataset with contiguous layout\n"
- "-k: create 5 datasets with chunked layout for the 5 indexing types\n"
- "-m rows: # of <rows> rows for the contiguous and/or chunked datasets\n"
- "-n cols: # of <cols> columns for the contiguous and/or chunked datasets\n"
- "-s swrites: perform sequential writes to all datasets\n"
- "-r rwrites: perform random writes to all datasets\n"
- "-l lwrites: perform hyperslab writes to all datasets\n"
- " # of rows to write: every other element is selected per row\n"
- "-w wwrites: perform raw data modifications to all datasets\n"
- "-u nticks: `nticks` ticks for the reader to wait before verification\n"
- " (default is 4)\n"
- "-c csteps: `csteps` steps communication interval between reader and writer\n"
- " (default is 1)\n"
- "-S: do not use VFD SWMR\n"
- "-N: do not use named pipes for test synchronization\n"
- "-q: silence printouts, few messages\n"
- "-b: write data in big-endian byte order\n"
- " (default is H5T_NATIVE_UINT32)\n\n"
- "Note:\n"
- "1. Require to specify at least -p, -g or -k option\n"
- "2. -c <csteps> option cannot exceed -s <swrites> or -r <rwrites>\n"
- " or -l <lwrites> or -w <wwrites> option\n"
- "\n",
- progname);
- exit(EXIT_FAILURE);
+ HDfprintf(stderr,
+ "usage: %s \n"
+ " [-p] [-e elmts] [-o]\n"
+ " [-g] [-k] [-m rows] [-n cols]\n"
+ " [-s swrites] [-r rwrites] [-l lwrites] [-w writes]\n"
+ " [-u nticks] [-c csteps] [-S] [-N] [-q] [-b]\n"
+ "\n"
+ "-p: create a dataset with compact layout\n"
+ "-e elmts: # of <elmts> for the compact dataset\n"
+ " (default is 16380)\n"
+ "-t: perform write to the compact dataset\n"
+ "-g: create a dataset with contiguous layout\n"
+ "-k: create 5 datasets with chunked layout for the 5 indexing types\n"
+ "-m rows: # of <rows> rows for the contiguous and/or chunked datasets\n"
+ "-n cols: # of <cols> columns for the contiguous and/or chunked datasets\n"
+ "-s swrites: perform sequential writes to all datasets\n"
+ "-r rwrites: perform random writes to all datasets\n"
+ "-l lwrites: perform hyperslab writes to all datasets\n"
+ " # of rows to write: every other element is selected per row\n"
+ "-w wwrites: perform raw data modifications to all datasets\n"
+ "-u nticks: `nticks` ticks for the reader to wait before verification\n"
+ " (default is 4)\n"
+ "-c csteps: `csteps` steps communication interval between reader and writer\n"
+ " (default is 1)\n"
+ "-S: do not use VFD SWMR\n"
+ "-N: do not use named pipes for test synchronization\n"
+ "-q: silence printouts, few messages\n"
+ "-b: write data in big-endian byte order\n"
+ " (default is H5T_NATIVE_UINT32)\n\n"
+ "Note:\n"
+ "1. Require to specify at least -p, -g or -k option\n"
+ "2. -c <csteps> option cannot exceed -s <swrites> or -r <rwrites>\n"
+ " or -l <lwrites> or -w <wwrites> option\n"
+ "\n",
+ progname);
+ HDexit(EXIT_FAILURE);
} /* usage() */
/*
@@ -221,7 +221,7 @@ state_init(state_t *s, int argc, char **argv)
*s = ALL_HID_INITIALIZER;
if (H5_basename(argv[0], &tfile) < 0) {
- printf("H5_basename failed\n");
+ HDprintf("H5_basename failed\n");
TEST_ERROR;
}
@@ -272,17 +272,17 @@ state_init(state_t *s, int argc, char **argv)
case 'u': /* ticks for raeder to wait before verification */
case 'c': /* communication interval */
errno = 0;
- tmp = strtoul(optarg, &end, 0);
+ tmp = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0') {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (errno != 0) {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (tmp > UINT_MAX) {
- printf("`-%c` argument `%lu` too large\n", ch, tmp);
+ HDprintf("`-%c` argument `%lu` too large\n", ch, tmp);
TEST_ERROR;
}
@@ -318,44 +318,44 @@ state_init(state_t *s, int argc, char **argv)
/* Require to specify at least -p or -g or -k option */
if (!s->compact && !s->contig && !s->chunked) {
- printf("Require to specify at least -p or -g or -k option\n");
+ HDprintf("Require to specify at least -p or -g or -k option\n");
usage(s->progname);
goto error;
}
/* -e <elmts> */
if (s->compact_elmts > MAX_COMPACT_ELMS) {
- printf("size of compact dataset cannot exceed 16380 elements\n");
+ HDprintf("size of compact dataset cannot exceed 16380 elements\n");
TEST_ERROR;
}
/* -c <csteps> cannot be zero */
if (!s->csteps) {
- printf("communication interval cannot be zero\n");
+ HDprintf("communication interval cannot be zero\n");
TEST_ERROR;
}
/* -c <csteps> and -s <swrites> options */
if (s->swrites && s->csteps > s->swrites) {
- printf("communication interval with sequential writes is out of bounds\n");
+ HDprintf("communication interval with sequential writes is out of bounds\n");
TEST_ERROR;
}
/* -c <csteps> and -r <rwrites> options */
if (s->rwrites && s->csteps > s->rwrites) {
- printf("communication interval with random writes is out of bounds\n");
+ HDprintf("communication interval with random writes is out of bounds\n");
TEST_ERROR;
}
/* -c <csteps> and -l <lwrites> options */
if (s->lwrites && s->csteps > s->lwrites) {
- printf("communication interval with hyperslab writes is out of bounds\n");
+ HDprintf("communication interval with hyperslab writes is out of bounds\n");
TEST_ERROR;
}
/* -c <csteps> and -w <wwrites> options */
if (s->wwrites && s->csteps > s->wwrites) {
- printf("communication interval with raw data modification is out of bounds\n");
+ HDprintf("communication interval with raw data modification is out of bounds\n");
TEST_ERROR;
}
@@ -382,12 +382,12 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Create the named datatype that will be used by compact and contiguous datasets */
if ((dtid = H5Tcopy(s->filetype)) < 0) {
- printf("H5Tcopy failed\n");
+ HDprintf("H5Tcopy failed\n");
TEST_ERROR;
}
if (H5Tcommit2(s->file, "named_dtype", dtid, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Tcommit2 failed\n");
+ HDprintf("H5Tcommit2 failed\n");
TEST_ERROR;
}
@@ -396,11 +396,11 @@ create_dsets(const state_t *s, dsets_state_t *ds)
hsize_t dims[1];
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_COMPACT) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
@@ -408,19 +408,19 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Dataspace for compact dataset */
if ((ds->compact_sid = H5Screate_simple(1, dims, dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the compact dataset with named datatype */
if ((ds->compact_did = H5Dcreate2(s->file, DSET_COMPACT_NAME, dtid, ds->compact_sid, H5P_DEFAULT,
dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 compact dataset failed\n");
+ HDprintf("H5Dcreate2 compact dataset failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
}
@@ -434,29 +434,29 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Dataspace for contiguous dataset */
if ((ds->contig_sid = H5Screate_simple(2, dims, dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_CONTIGUOUS) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
/* Create the contiguous dataset with the named datatype */
if ((ds->contig_did = H5Dcreate2(s->file, DSET_CONTIG_NAME, dtid, ds->contig_sid, H5P_DEFAULT, dcpl,
H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 contiguous dataset failed\n");
+ HDprintf("H5Dcreate2 contiguous dataset failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
}
@@ -475,12 +475,12 @@ create_dsets(const state_t *s, dsets_state_t *ds)
chunk_dims[1] = MAX(1, s->cols / 2);
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_layout(dcpl, H5D_CHUNKED) < 0) {
- printf("H5Pset_layout failed\n");
+ HDprintf("H5Pset_layout failed\n");
TEST_ERROR;
}
@@ -488,19 +488,19 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, dims=max_dims=chunk_dims */
if (H5Pset_chunk(dcpl, 2, dims) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
if ((ds->single_sid = H5Screate_simple(2, dims, dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the chunked dataset (single index) with the named datatype */
if ((ds->single_did = H5Dcreate2(s->file, DSET_SINGLE_NAME, dtid, ds->single_sid, H5P_DEFAULT, dcpl,
H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset:single index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset:single index failed\n");
TEST_ERROR;
}
@@ -508,29 +508,29 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, dims=max_dims, early allocation */
if (H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_EARLY) < 0) {
- printf("H5Pset_alloc_time\n");
+ HDprintf("H5Pset_alloc_time\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 2, chunk_dims) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
if ((ds->implicit_sid = H5Screate_simple(2, dims, dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the chunked dataset (implicit index) with the named datatype */
if ((ds->implicit_did = H5Dcreate2(s->file, DSET_IMPLICIT_NAME, dtid, ds->implicit_sid, H5P_DEFAULT,
dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset:implicit index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset:implicit index failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
@@ -538,12 +538,12 @@ create_dsets(const state_t *s, dsets_state_t *ds)
/* Chunked, fixed max_dims */
if ((dcpl = H5Pcreate(H5P_DATASET_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_chunk(dcpl, 2, chunk_dims) < 0) {
- printf("H5Pset_chunk failed\n");
+ HDprintf("H5Pset_chunk failed\n");
TEST_ERROR;
}
@@ -551,14 +551,14 @@ create_dsets(const state_t *s, dsets_state_t *ds)
max_dims[1] = dims[1] + 10;
if ((ds->fa_sid = H5Screate_simple(2, dims, max_dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the chunked dataset (fixed array index) with the named datatype */
if ((ds->fa_did =
H5Dcreate2(s->file, DSET_FA_NAME, dtid, ds->fa_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreaet2 chunked dataset: fa index failed\n");
+ HDprintf("H5Dcreaet2 chunked dataset: fa index failed\n");
TEST_ERROR;
}
@@ -567,14 +567,14 @@ create_dsets(const state_t *s, dsets_state_t *ds)
max_dims[1] = H5S_UNLIMITED;
if ((ds->ea_sid = H5Screate_simple(2, dims, max_dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the chunked dataset (extensible array index) with the named datatype */
if ((ds->ea_did =
H5Dcreate2(s->file, DSET_EA_NAME, dtid, ds->ea_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset: ea index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: ea index failed\n");
TEST_ERROR;
}
@@ -583,25 +583,25 @@ create_dsets(const state_t *s, dsets_state_t *ds)
max_dims[0] = H5S_UNLIMITED;
if ((ds->bt2_sid = H5Screate_simple(2, dims, max_dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
/* Create the chunked dataset (btree2 index) with the named datatype */
if ((ds->bt2_did =
H5Dcreate2(s->file, DSET_BT2_NAME, dtid, ds->bt2_sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 chunked dataset: bt2 index failed\n");
+ HDprintf("H5Dcreate2 chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
if (H5Pclose(dcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
}
if (H5Tclose(dtid) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
@@ -643,7 +643,7 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->compact) {
if (!open_dset_real(s, &ds->compact_did, &ds->compact_sid, DSET_COMPACT_NAME)) {
- printf("open_dset_real() for compact dataset failed\n");
+ HDprintf("open_dset_real() for compact dataset failed\n");
TEST_ERROR;
}
}
@@ -651,7 +651,7 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->contig) {
if (!open_dset_real(s, &ds->contig_did, &ds->contig_sid, DSET_CONTIG_NAME)) {
- printf("open_dset_real() for contiguous dataset failed\n");
+ HDprintf("open_dset_real() for contiguous dataset failed\n");
TEST_ERROR;
}
}
@@ -659,27 +659,27 @@ open_dsets(const state_t *s, dsets_state_t *ds)
if (s->chunked) {
if (!open_dset_real(s, &ds->single_did, &ds->single_sid, DSET_SINGLE_NAME)) {
- printf("open_dset_real() for chunked dataset: single index failed\n");
+ HDprintf("open_dset_real() for chunked dataset: single index failed\n");
TEST_ERROR;
}
if (!open_dset_real(s, &ds->implicit_did, &ds->implicit_sid, DSET_IMPLICIT_NAME)) {
- printf("open_dset_real() for chunked dataset: implicit index failed\n");
+ HDprintf("open_dset_real() for chunked dataset: implicit index failed\n");
TEST_ERROR;
}
if (!open_dset_real(s, &ds->fa_did, &ds->fa_sid, DSET_FA_NAME)) {
- printf("open_dset_real() for chunked dataset: fa index failed\n");
+ HDprintf("open_dset_real() for chunked dataset: fa index failed\n");
TEST_ERROR;
}
if (!open_dset_real(s, &ds->ea_did, &ds->ea_sid, DSET_EA_NAME)) {
- printf("open_dset_real() for chunked dataset: ea index failed\n");
+ HDprintf("open_dset_real() for chunked dataset: ea index failed\n");
TEST_ERROR;
}
if (!open_dset_real(s, &ds->bt2_did, &ds->bt2_sid, DSET_BT2_NAME)) {
- printf("open_dset_real() for chunked dataset: bt2 index failed\n");
+ HDprintf("open_dset_real() for chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
}
@@ -701,12 +701,12 @@ open_dset_real(const state_t *s, hid_t *did, hid_t *sid, const char *name)
hsize_t dims[2];
if ((*did = H5Dopen2(s->file, name, H5P_DEFAULT)) < 0) {
- printf("H5Dopen dataset failed\n");
+ HDprintf("H5Dopen dataset failed\n");
TEST_ERROR;
}
if ((*sid = H5Dget_space(*did)) < 0) {
- printf("H5Dget_space failed\n");
+ HDprintf("H5Dget_space failed\n");
TEST_ERROR;
}
if (H5Sget_simple_extent_dims(*sid, dims, NULL) < 0)
@@ -743,37 +743,37 @@ static bool
close_dsets(const dsets_state_t *ds)
{
if (!close_dset_real(ds->compact_did, ds->compact_sid)) {
- printf("H5Dclose compact dataset failed\n");
+ HDprintf("H5Dclose compact dataset failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->contig_did, ds->contig_sid)) {
- printf("H5Dclose contiguous dataset failed\n");
+ HDprintf("H5Dclose contiguous dataset failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->single_did, ds->single_sid)) {
- printf("H5Dclose chunked dataset: single index failed\n");
+ HDprintf("H5Dclose chunked dataset: single index failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->implicit_did, ds->implicit_sid)) {
- printf("H5Dclose chunked dataset: implicit index failed\n");
+ HDprintf("H5Dclose chunked dataset: implicit index failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->fa_did, ds->fa_sid)) {
- printf("H5Dclose chunked dataset: fa index failed\n");
+ HDprintf("H5Dclose chunked dataset: fa index failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->ea_did, ds->ea_sid)) {
- printf("H5Dclose chunked dataset: ea index failed\n");
+ HDprintf("H5Dclose chunked dataset: ea index failed\n");
TEST_ERROR;
}
if (!close_dset_real(ds->bt2_did, ds->bt2_sid)) {
- printf("H5Dclose chunked dataset: bt2 index failed\n");
+ HDprintf("H5Dclose chunked dataset: bt2 index failed\n");
TEST_ERROR;
}
@@ -791,12 +791,12 @@ static bool
close_dset_real(hid_t did, hid_t sid)
{
if (did != badhid && H5Dclose(did) < 0) {
- printf("H5Dclose dataset failed\n");
+ HDprintf("H5Dclose dataset failed\n");
TEST_ERROR;
}
if (sid != badhid && H5Sclose(sid) < 0) {
- printf("H5Sclose dataspace for dataset failed\n");
+ HDprintf("H5Sclose dataspace for dataset failed\n");
TEST_ERROR;
}
@@ -841,7 +841,7 @@ write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *
result = dsets_action(SEQ_WRITE, s, ds, step);
if (s->use_np && !np_writer(result, step, s, np, config)) {
- printf("np_writer() for sequential writes failed\n");
+ HDprintf("np_writer() for sequential writes failed\n");
TEST_ERROR;
}
}
@@ -858,11 +858,11 @@ write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *
dbgf(2, "Random writes %u to dataset\n", step);
newstep = (unsigned int)HDrandom() % (s->rows * s->cols);
- printf("Random step is %u\n", newstep);
+ HDprintf("Random step is %u\n", newstep);
result = dsets_action(RANDOM_WRITE, s, ds, newstep);
if (s->use_np && !np_writer(result, step, s, np, config)) {
- printf("np_writer() for random writes failed\n");
+ HDprintf("np_writer() for random writes failed\n");
TEST_ERROR;
}
}
@@ -878,7 +878,7 @@ write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *
result = dsets_action(HYPER_WRITE, s, ds, k);
if (s->use_np && !np_writer(result, step, s, np, config)) {
- printf("np_writer() for hyperslab writes failed\n");
+ HDprintf("np_writer() for hyperslab writes failed\n");
TEST_ERROR;
}
}
@@ -893,7 +893,7 @@ write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_config_t *
result = dsets_action(MODIFY_DATA, s, ds, step);
if (s->use_np && !np_writer(result, step, s, np, config)) {
- printf("np_writer() for modify raw data failed\n");
+ HDprintf("np_writer() for modify raw data failed\n");
TEST_ERROR;
}
}
@@ -925,7 +925,7 @@ dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds, unsigne
/* Set up selection, dataspace and data buffer according to the specified action */
if (!dset_setup(action, which, s, start, stride, count, block, &mem_sid, &wbuf)) {
- printf("dset_setup() failed\n");
+ HDprintf("dset_setup() failed\n");
TEST_ERROR;
}
@@ -934,7 +934,7 @@ dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds, unsigne
if (!write_dset(ds->contig_did, s->filetype, mem_sid, ds->contig_sid, start, stride, count, block,
wbuf)) {
- printf("H5Dwrite to contiguous dataset failed\n");
+ HDprintf("H5Dwrite to contiguous dataset failed\n");
TEST_ERROR;
}
}
@@ -944,28 +944,28 @@ dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds, unsigne
if (!write_dset(ds->single_did, s->filetype, mem_sid, ds->single_sid, start, stride, count, block,
wbuf)) {
- printf("H5Dwrite to chunked dataset: single index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: single index dataset failed\n");
TEST_ERROR;
}
if (!write_dset(ds->implicit_did, s->filetype, mem_sid, ds->implicit_sid, start, stride, count, block,
wbuf)) {
- printf("H5Dwrite to chunked dataset: implicit index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: implicit index dataset failed\n");
TEST_ERROR;
}
if (!write_dset(ds->fa_did, s->filetype, mem_sid, ds->fa_sid, start, stride, count, block, wbuf)) {
- printf("H5Dwrite to chunked dataset: fa index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: fa index dataset failed\n");
TEST_ERROR;
}
if (!write_dset(ds->ea_did, s->filetype, mem_sid, ds->ea_sid, start, stride, count, block, wbuf)) {
- printf("H5Dwrite to chunked dataset: ea index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: ea index dataset failed\n");
TEST_ERROR;
}
if (!write_dset(ds->bt2_did, s->filetype, mem_sid, ds->bt2_sid, start, stride, count, block, wbuf)) {
- printf("H5Dwrite to chunked dataset: bt2 index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: bt2 index dataset failed\n");
TEST_ERROR;
}
}
@@ -1026,7 +1026,7 @@ dset_setup(unsigned action, unsigned which, const state_t *s, hsize_t *start, hs
/* Allocating the buffer for writing */
if ((tmp_buf = HDmalloc(count[1] * sizeof(unsigned int))) == NULL) {
- printf("HDmalloc failed\n");
+ HDprintf("HDmalloc failed\n");
TEST_ERROR;
}
@@ -1074,12 +1074,12 @@ write_dset(hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hsize_t *start,
{
if (H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, stride, count, block) < 0) {
- printf("H5Sselect to dataset failed\n");
+ HDprintf("H5Sselect to dataset failed\n");
TEST_ERROR;
}
if (H5Dwrite(did, tid, mem_sid, file_sid, H5P_DEFAULT, buf) < 0) {
- printf("H5Dwrite to dataset failed\n");
+ HDprintf("H5Dwrite to dataset failed\n");
TEST_ERROR;
}
@@ -1100,7 +1100,7 @@ write_dset_compact(const state_t *s, const dsets_state_t *ds)
unsigned i;
if ((buf = HDmalloc(s->compact_elmts * sizeof(unsigned int))) == NULL) {
- printf("HDmalloc buffer for compact dataset failed\n");
+ HDprintf("HDmalloc buffer for compact dataset failed\n");
goto error;
}
@@ -1108,7 +1108,7 @@ write_dset_compact(const state_t *s, const dsets_state_t *ds)
buf[i] = i + 1;
if (H5Dwrite(ds->compact_did, s->filetype, H5S_ALL, H5S_ALL, H5P_DEFAULT, buf) < 0) {
- printf("H5Dwrite to compact dataset failed\n");
+ HDprintf("H5Dwrite to compact dataset failed\n");
TEST_ERROR;
}
@@ -1149,7 +1149,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
dbgf(2, "Verify sequential writes %u to dataset\n", step);
if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1159,7 +1159,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
result = verify_dsets_action(SEQ_WRITE, s, ds, step);
if (s->use_np && !np_reader(result, step, s, np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1176,10 +1176,10 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
dbgf(2, "Verify random writes %u to dataset\n", step);
newstep = (unsigned int)HDrandom() % (s->rows * s->cols);
- printf("Random step is %u\n", newstep);
+ HDprintf("Random step is %u\n", newstep);
if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1189,7 +1189,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
result = verify_dsets_action(RANDOM_WRITE, s, ds, newstep);
if (s->use_np && !np_reader(result, step, s, np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1203,7 +1203,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
dbgf(2, "Verify hyperslab writes %u to dataset\n", step);
if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1213,7 +1213,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
result = verify_dsets_action(HYPER_WRITE, s, ds, k);
if (s->use_np && !np_reader(result, step, s, np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1226,7 +1226,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
dbgf(2, "Verify raw data modification %u to dataset\n", step);
if (s->use_np && !np_confirm_verify_notify(np->fd_writer_to_reader, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
@@ -1236,7 +1236,7 @@ verify_write_dset_contig_chunked(state_t *s, dsets_state_t *ds, H5F_vfd_swmr_con
result = verify_dsets_action(MODIFY_DATA, s, ds, step);
if (s->use_np && !np_reader(result, step, s, np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1269,7 +1269,7 @@ verify_dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds,
/* Set up selection, dataspace and data buffer according to the specified action */
if (!dset_setup(action, which, s, start, stride, count, block, &mem_sid, &vbuf)) {
- printf("dset_setup() failed\n");
+ HDprintf("dset_setup() failed\n");
TEST_ERROR;
}
@@ -1277,7 +1277,7 @@ verify_dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds,
if (s->contig) {
if (!verify_read_dset(ds->contig_did, s->filetype, mem_sid, ds->contig_sid, start, stride, count,
block, vbuf)) {
- printf("H5Dwrite to contiguous dataset failed\n");
+ HDprintf("H5Dwrite to contiguous dataset failed\n");
TEST_ERROR;
}
}
@@ -1287,31 +1287,31 @@ verify_dsets_action(unsigned action, const state_t *s, const dsets_state_t *ds,
if (!verify_read_dset(ds->single_did, s->filetype, mem_sid, ds->single_sid, start, stride, count,
block, vbuf)) {
- printf("H5Dwrite to chunked dataset: single index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: single index dataset failed\n");
TEST_ERROR;
}
if (!verify_read_dset(ds->implicit_did, s->filetype, mem_sid, ds->implicit_sid, start, stride, count,
block, vbuf)) {
- printf("H5Dwrite to chunked dataset: implicit index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: implicit index dataset failed\n");
TEST_ERROR;
}
if (!verify_read_dset(ds->fa_did, s->filetype, mem_sid, ds->fa_sid, start, stride, count, block,
vbuf)) {
- printf("H5Dwrite to chunked dataset: fa index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: fa index dataset failed\n");
TEST_ERROR;
}
if (!verify_read_dset(ds->ea_did, s->filetype, mem_sid, ds->ea_sid, start, stride, count, block,
vbuf)) {
- printf("H5Dwrite to chunked dataset: ea index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: ea index dataset failed\n");
TEST_ERROR;
}
if (!verify_read_dset(ds->bt2_did, s->filetype, mem_sid, ds->bt2_sid, start, stride, count, block,
vbuf)) {
- printf("H5Dwrite to chunked dataset: bt2 index dataset failed\n");
+ HDprintf("H5Dwrite to chunked dataset: bt2 index dataset failed\n");
TEST_ERROR;
}
}
@@ -1342,25 +1342,25 @@ verify_read_dset(hid_t did, hid_t tid, hid_t mem_sid, hid_t file_sid, hsize_t *s
/* Refresh the dataset */
if (H5Drefresh(did) < 0) {
- printf("H5Drefresh dataset failed\n");
+ HDprintf("H5Drefresh dataset failed\n");
TEST_ERROR;
}
/* Allocate the buffer for reading */
if ((rbuf = HDmalloc(count[1] * sizeof(unsigned int))) == NULL) {
- printf("HDmalloc failed\n");
+ HDprintf("HDmalloc failed\n");
TEST_ERROR;
}
/* Make the selection the file dataspace */
if (H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, stride, count, block) < 0) {
- printf("H5Sselect to dataset failed\n");
+ HDprintf("H5Sselect to dataset failed\n");
TEST_ERROR;
}
/* Read the data from the dataset into `rbuf` */
if (H5Dread(did, tid, mem_sid, file_sid, H5P_DEFAULT, rbuf) < 0) {
- printf("H5Dread from dataset failed\n");
+ HDprintf("H5Dread from dataset failed\n");
TEST_ERROR;
}
@@ -1391,18 +1391,18 @@ verify_read_dset_compact(const state_t *s, const dsets_state_t *ds)
unsigned i;
if ((rbuf = HDmalloc(s->compact_elmts * sizeof(unsigned int))) == NULL) {
- printf("HDmalloc buffer for compact dataset failed\n");
+ HDprintf("HDmalloc buffer for compact dataset failed\n");
goto error;
}
if (H5Dread(ds->compact_did, s->filetype, H5S_ALL, H5S_ALL, H5P_DEFAULT, rbuf) < 0) {
- printf("H5Dwrite to compact dataset failed\n");
+ HDprintf("H5Dwrite to compact dataset failed\n");
TEST_ERROR;
}
for (i = 0; i < s->compact_elmts; i++)
if (rbuf[i] != (i + 1)) {
- printf("Invalid value for compact dataset element\n");
+ HDprintf("Invalid value for compact dataset element\n");
TEST_ERROR;
}
@@ -1440,36 +1440,36 @@ np_init(np_state_t *np, bool writer)
/* If the named pipes are present at the start of the test, remove them */
if (HDaccess(np->fifo_writer_to_reader, F_OK) == 0)
if (HDremove(np->fifo_writer_to_reader) != 0) {
- printf("HDremove fifo_writer_to_reader failed\n");
+ HDprintf("HDremove fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDaccess(np->fifo_reader_to_writer, F_OK) == 0)
if (HDremove(np->fifo_reader_to_writer) != 0) {
- printf("HDremove fifo_reader_to_writer failed\n");
+ HDprintf("HDremove fifo_reader_to_writer failed\n");
TEST_ERROR;
}
/* Writer creates two named pipes(FIFO) */
if (HDmkfifo(np->fifo_writer_to_reader, 0600) < 0) {
- printf("HDmkfifo fifo_writer_to_reader failed\n");
+ HDprintf("HDmkfifo fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDmkfifo(np->fifo_reader_to_writer, 0600) < 0) {
- printf("HDmkfifo fifo_reader_to_writer failed\n");
+ HDprintf("HDmkfifo fifo_reader_to_writer failed\n");
TEST_ERROR;
}
}
/* Both the writer and reader open the pipes */
if ((np->fd_writer_to_reader = HDopen(np->fifo_writer_to_reader, O_RDWR)) < 0) {
- printf("HDopen fifo_writer_to_reader failed\n");
+ HDprintf("HDopen fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if ((np->fd_reader_to_writer = HDopen(np->fifo_reader_to_writer, O_RDWR)) < 0) {
- printf("HDopen fifo_reader_to_writer failed\n");
+ HDprintf("HDopen fifo_reader_to_writer failed\n");
TEST_ERROR;
}
@@ -1488,24 +1488,24 @@ np_close(np_state_t *np, bool writer)
{
/* Both the writer and reader close the named pipes */
if (HDclose(np->fd_writer_to_reader) < 0) {
- printf("HDclose fd_writer_to_reader failed\n");
+ HDprintf("HDclose fd_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDclose(np->fd_reader_to_writer) < 0) {
- printf("HDclose fd_reader_to_writer failed\n");
+ HDprintf("HDclose fd_reader_to_writer failed\n");
TEST_ERROR;
}
/* Reader finishes last and deletes the named pipes */
if (!writer) {
if (HDremove(np->fifo_writer_to_reader) != 0) {
- printf("HDremove fifo_writer_to_reader failed\n");
+ HDprintf("HDremove fifo_writer_to_reader failed\n");
TEST_ERROR;
}
if (HDremove(np->fifo_reader_to_writer) != 0) {
- printf("HDremove fifo_reader_to_writer failed\n");
+ HDprintf("HDremove fifo_reader_to_writer failed\n");
TEST_ERROR;
}
}
@@ -1525,7 +1525,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* The action fails */
if (!result) {
- printf("attribute action failed\n");
+ HDprintf("attribute action failed\n");
H5_FAILED();
AT();
@@ -1543,7 +1543,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* Bump up the value of notify to tell the reader to start reading */
np->notify++;
if (HDwrite(np->fd_writer_to_reader, &np->notify, sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
@@ -1560,7 +1560,7 @@ np_writer(bool result, unsigned step, const state_t *s, np_state_t *np, H5F_vfd_
/* Handshake between writer and reader */
if (!np_confirm_verify_notify(np->fd_reader_to_writer, step, s, np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
}
@@ -1581,7 +1581,7 @@ np_reader(bool result, unsigned step, const state_t *s, np_state_t *np)
{
/* The verification fails */
if (!result) {
- printf("verify action failed\n");
+ HDprintf("verify action failed\n");
H5_FAILED();
AT();
@@ -1598,7 +1598,7 @@ np_reader(bool result, unsigned step, const state_t *s, np_state_t *np)
/* Send back the same notify value for acknowledgement:
* --inform the writer to move to the next step */
if (HDwrite(np->fd_reader_to_writer, &np->notify, sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
}
@@ -1620,17 +1620,17 @@ np_confirm_verify_notify(int fd, unsigned step, const state_t *s, np_state_t *np
if (step % s->csteps == 0) {
np->verify++;
if (HDread(fd, &np->notify, sizeof(int)) < 0) {
- printf("HDread failed\n");
+ HDprintf("HDread failed\n");
TEST_ERROR;
}
if (np->notify == -1) {
- printf("reader/writer failed to verify\n");
+ HDprintf("reader/writer failed to verify\n");
TEST_ERROR;
}
if (np->notify != np->verify) {
- printf("received message %d, expecting %d\n", np->notify, np->verify);
+ HDprintf("received message %d, expecting %d\n", np->notify, np->verify);
TEST_ERROR;
}
}
@@ -1647,9 +1647,9 @@ error:
int
main(int argc, char **argv)
{
- hid_t fapl, fcpl;
- unsigned step;
- bool writer;
+ hid_t fapl = H5I_INVALID_HID;
+ hid_t fcpl = H5I_INVALID_HID;
+ bool writer = FALSE;
state_t s;
const char * personality;
H5F_vfd_swmr_config_t config;
@@ -1658,18 +1658,18 @@ main(int argc, char **argv)
bool result;
if (!state_init(&s, argc, argv)) {
- printf("state_init() failed\n");
+ HDprintf("state_init() failed\n");
TEST_ERROR;
}
personality = HDstrstr(s.progname, "vfd_swmr_dsetops_");
- if (personality != NULL && strcmp(personality, "vfd_swmr_dsetops_writer") == 0)
+ if (personality != NULL && HDstrcmp(personality, "vfd_swmr_dsetops_writer") == 0)
writer = true;
- else if (personality != NULL && strcmp(personality, "vfd_swmr_dsetops_reader") == 0)
+ else if (personality != NULL && HDstrcmp(personality, "vfd_swmr_dsetops_reader") == 0)
writer = false;
else {
- printf("unknown personality, expected vfd_swmr_dsetops_{reader,writer}\n");
+ HDprintf("unknown personality, expected vfd_swmr_dsetops_{reader,writer}\n");
TEST_ERROR;
}
@@ -1678,45 +1678,45 @@ main(int argc, char **argv)
/* use_latest_format, use_vfd_swmr, only_meta_page, config */
if ((fapl = vfd_swmr_create_fapl(true, s.use_vfd_swmr, true, &config)) < 0) {
- printf("vfd_swmr_create_fapl() failed\n");
+ HDprintf("vfd_swmr_create_fapl() failed\n");
TEST_ERROR;
}
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, false, 1) < 0) {
- printf("H5Pset_file_space_strategy failed\n");
+ HDprintf("H5Pset_file_space_strategy failed\n");
TEST_ERROR;
}
if (writer) {
if ((s.file = H5Fcreate(s.filename, H5F_ACC_TRUNC, fcpl, fapl)) < 0) {
- printf("H5Fcreate failed\n");
+ HDprintf("H5Fcreate failed\n");
TEST_ERROR;
}
if (!create_dsets(&s, &ds)) {
- printf("create_dsets() failed\n");
+ HDprintf("create_dsets() failed\n");
TEST_ERROR;
}
}
else {
if ((s.file = H5Fopen(s.filename, H5F_ACC_RDONLY, fapl)) < 0) {
- printf("H5Fopen failed\n");
+ HDprintf("H5Fopen failed\n");
TEST_ERROR;
}
if (!open_dsets(&s, &ds)) {
- printf("open_dsets() failed\n");
+ HDprintf("open_dsets() failed\n");
TEST_ERROR;
}
}
/* Initiailze named pipes */
if (s.use_np && !np_init(&np, writer)) {
- printf("np_init() failed\n");
+ HDprintf("np_init() failed\n");
TEST_ERROR;
}
@@ -1729,7 +1729,7 @@ main(int argc, char **argv)
result = write_dset_compact(&s, &ds);
if (s.use_np && !np_writer(result, 0, &s, &np, &config)) {
- printf("np_writer() for addition failed\n");
+ HDprintf("np_writer() for addition failed\n");
TEST_ERROR;
}
}
@@ -1737,7 +1737,7 @@ main(int argc, char **argv)
if (s.contig || s.chunked) {
/* Perform writes for contiguous and/or chunked datasets */
if (!write_dset_contig_chunked(&s, &ds, &config, &np)) {
- printf("write_dset_contig_chunked() failed\n");
+ HDprintf("write_dset_contig_chunked() failed\n");
TEST_ERROR;
}
}
@@ -1749,7 +1749,7 @@ main(int argc, char **argv)
dbgf(2, "Verify writes to compact dataset\n");
if (s.use_np && !np_confirm_verify_notify(np.fd_writer_to_reader, 0, &s, &np)) {
- printf("np_confirm_verify_notify() verify/notify not in sync failed\n");
+ HDprintf("np_confirm_verify_notify() verify/notify not in sync failed\n");
TEST_ERROR;
}
/* Wait for a few ticks for the update to happen */
@@ -1758,7 +1758,7 @@ main(int argc, char **argv)
result = verify_read_dset_compact(&s, &ds);
if (s.use_np && !np_reader(result, 0, &s, &np)) {
- printf("np_reader() for verifying addition failed\n");
+ HDprintf("np_reader() for verifying addition failed\n");
TEST_ERROR;
}
}
@@ -1767,34 +1767,34 @@ main(int argc, char **argv)
/* Verify writes for contiguous and/or chunked datasets */
if (!verify_write_dset_contig_chunked(&s, &ds, &config, &np)) {
- printf("verify_write_dset_contig_chunked() failed\n");
+ HDprintf("verify_write_dset_contig_chunked() failed\n");
TEST_ERROR;
}
}
}
if (!close_dsets(&ds)) {
- printf("close_dsets() failed\n");
+ HDprintf("close_dsets() failed\n");
TEST_ERROR;
}
if (H5Pclose(fapl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Pclose(fcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Fclose(s.file) < 0) {
- printf("H5Fclose failed\n");
+ HDprintf("H5Fclose failed\n");
TEST_ERROR;
}
if (s.use_np && !np_close(&np, writer)) {
- printf("np_close() failed\n");
+ HDprintf("np_close() failed\n");
TEST_ERROR;
}
diff --git a/test/vfd_swmr_generator.c b/test/vfd_swmr_generator.c
index 8a81e01..de3ad3d 100644
--- a/test/vfd_swmr_generator.c
+++ b/test/vfd_swmr_generator.c
@@ -197,7 +197,7 @@ gen_skeleton(const char *filename, hbool_t verbose, hbool_t vfd_swmr_write, int
HDfprintf(stderr, "Creating datasets\n");
#if 0 /* delete this once the race condiditon bug is fixed */ /* JRM */
- sleep(1);
+ HDsleep(1);
#endif /* JRM */
/* Create the datasets */
@@ -264,23 +264,23 @@ gen_skeleton(const char *filename, hbool_t verbose, hbool_t vfd_swmr_write, int
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: swmr_generator [-q] [-s] [-c <deflate compression level>]\n");
- printf(" [-i <index type>] [-r <random seed>]\n");
- printf("\n");
- printf("NOTE: The random seed option is only used by the sparse test. Other\n");
- printf(" tests specify the random seed as a reader/writer option.\n");
- printf("\n");
- printf("<deflate compression level> should be -1 (for no compression) or 0-9\n");
- printf("\n");
- printf("<index type> should be b2 or ea\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), no VFD_SWMR_WRITE mode (no '-s' given) no\n");
- printf("compression ('-c -1'), v1 b-tree indexing (-i b1), and will generate a random\n");
- printf("seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: swmr_generator [-q] [-s] [-c <deflate compression level>]\n");
+ HDprintf(" [-i <index type>] [-r <random seed>]\n");
+ HDprintf("\n");
+ HDprintf("NOTE: The random seed option is only used by the sparse test. Other\n");
+ HDprintf(" tests specify the random seed as a reader/writer option.\n");
+ HDprintf("\n");
+ HDprintf("<deflate compression level> should be -1 (for no compression) or 0-9\n");
+ HDprintf("\n");
+ HDprintf("<index type> should be b2 or ea\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), no VFD_SWMR_WRITE mode (no '-s' given) no\n");
+ HDprintf("compression ('-c -1'), v1 b-tree indexing (-i b1), and will generate a random\n");
+ HDprintf("seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
} /* end usage() */
diff --git a/test/vfd_swmr_group_writer.c b/test/vfd_swmr_group_writer.c
index 6d93125..b43a3a5 100644
--- a/test/vfd_swmr_group_writer.c
+++ b/test/vfd_swmr_group_writer.c
@@ -24,7 +24,7 @@
#ifndef H5_HAVE_WIN32_API
#define READER_WAIT_TICKS 3
-#define VS_ATTR_NAME_LEN 21
+#define VS_ATTR_NAME_LEN 27
typedef struct {
hid_t file, filetype, one_by_one_sid;
@@ -63,76 +63,76 @@ typedef struct {
static void
usage(const char *progname)
{
- fprintf(stderr,
- "usage: %s [-S] [-G] [-a steps] [-b] [-c] [-n iterations]\n"
- " [-N] [-q] [-u numb_ticks] [-A at_pattern] [-O grp_op_pattern]\n"
- "\n"
- "-S: do not use VFD SWMR\n"
- "-G: old-style type of group\n"
- "-a steps: `steps` between adding attributes\n"
- "-b: write data in big-endian byte order\n"
- "-c steps: `steps` between communication between the writer and reader\n"
- "-n ngroups: the number of groups\n"
- "-N: do not use named pipes, \n"
- " mainly for running the writer and reader seperately\n"
- "-u numb_ticks: `numb_ticks` for the reader to wait before verification\n"
- "-A at_pattern: `at_pattern' for different attribute tests\n"
- " The value of `at_pattern` is one of the following:\n"
- " `compact` - Attributes added in compact storage\n"
- " `dense` - An attribute added in dense storage\n"
- " `compact-del` - Attributes added and then one\n"
- " attribute deleted, in compact \n"
- " `dense-del` - Attributes added until the storage\n"
- " is dense then an attribute deleted\n"
- " the storge still in dense\n"
- " `compact-add-to-dense` - Attributes added first in compact\n"
- " then in dense storage\n"
- " `dense-del-to-compact` - Attributes added until the storage\n"
- " is dense, then several attributes \n"
- " deleted, the storage changed to\n"
- " compact\n"
- " `modify` - An attribute added then modified\n"
- " `add-vstr` - A VL string attribute added\n"
- " `remove-vstr` - A VL string attribute added then\n"
- " deleted\n"
- " `modify-vstr` - A VL string attribute added then \n"
- " modified \n"
- " `add-ohr-block` - An attribute is added and this forces\n"
- " the creation of object header\n"
- " continuation block \n"
- " `del-ohr-block` - An attribute is added and this forces\n"
- " the creation of object header\n"
- " continuation block and then this \n"
- " attribute is deleted so the \n"
- " object header continuation block is \n"
- " removed. \n"
- "-O grp_op_pattern: `grp_op_pattern' for different group operation tests\n"
- " The value of `grp_op_pattern` is one of the following:\n"
- " `grp-creation` - A group is created.\n"
- " `grp-deletion` - An existing group is deleted.\n"
- " `grp-move` - A group is moved to become \n"
- " another group. \n"
- " `grp-ins-links` - Links are inserted, including\n"
- " both hard and soft links. \n"
- " `grp-del-links` - Links are deleted, including\n"
- " both hard ans soft links. \n"
- " `grp-compact-t-dense` - Links are inserted to the group.\n"
- " The link storage of this group \n"
- " changed from compact to dense. \n"
- " The links include both hard and\n"
- " soft links. \n"
- " `grp-dense-t-compact` - Links are inserted to the group\n"
- " The link storage of this group \n"
- " changed from compact to dense. \n"
- " Then several links are deleted.\n"
- " The link storage changed from \n"
- " dense to compact again. \n"
- " The links include both hard and\n"
- " soft links. \n"
- "-q: silence printouts, few messages\n"
- "\n",
- progname);
- exit(EXIT_FAILURE);
+ HDfprintf(stderr,
+ "usage: %s [-S] [-G] [-a steps] [-b] [-c] [-n iterations]\n"
+ " [-N] [-q] [-u numb_ticks] [-A at_pattern] [-O grp_op_pattern]\n"
+ "\n"
+ "-S: do not use VFD SWMR\n"
+ "-G: old-style type of group\n"
+ "-a steps: `steps` between adding attributes\n"
+ "-b: write data in big-endian byte order\n"
+ "-c steps: `steps` between communication between the writer and reader\n"
+ "-n ngroups: the number of groups\n"
+ "-N: do not use named pipes, \n"
+ " mainly for running the writer and reader seperately\n"
+ "-u numb_ticks: `numb_ticks` for the reader to wait before verification\n"
+ "-A at_pattern: `at_pattern' for different attribute tests\n"
+ " The value of `at_pattern` is one of the following:\n"
+ " `compact` - Attributes added in compact storage\n"
+ " `dense` - An attribute added in dense storage\n"
+ " `compact-del` - Attributes added and then one\n"
+ " attribute deleted, in compact \n"
+ " `dense-del` - Attributes added until the storage\n"
+ " is dense then an attribute deleted\n"
+ " the storge still in dense\n"
+ " `compact-add-to-dense` - Attributes added first in compact\n"
+ " then in dense storage\n"
+ " `dense-del-to-compact` - Attributes added until the storage\n"
+ " is dense, then several attributes \n"
+ " deleted, the storage changed to\n"
+ " compact\n"
+ " `modify` - An attribute added then modified\n"
+ " `add-vstr` - A VL string attribute added\n"
+ " `remove-vstr` - A VL string attribute added then\n"
+ " deleted\n"
+ " `modify-vstr` - A VL string attribute added then \n"
+ " modified \n"
+ " `add-ohr-block` - An attribute is added and this forces\n"
+ " the creation of object header\n"
+ " continuation block \n"
+ " `del-ohr-block` - An attribute is added and this forces\n"
+ " the creation of object header\n"
+ " continuation block and then this \n"
+ " attribute is deleted so the \n"
+ " object header continuation block is \n"
+ " removed. \n"
+ "-O grp_op_pattern: `grp_op_pattern' for different group operation tests\n"
+ " The value of `grp_op_pattern` is one of the following:\n"
+ " `grp-creation` - A group is created.\n"
+ " `grp-deletion` - An existing group is deleted.\n"
+ " `grp-move` - A group is moved to become \n"
+ " another group. \n"
+ " `grp-ins-links` - Links are inserted, including\n"
+ " both hard and soft links. \n"
+ " `grp-del-links` - Links are deleted, including\n"
+ " both hard ans soft links. \n"
+ " `grp-compact-t-dense` - Links are inserted to the group.\n"
+ " The link storage of this group \n"
+ " changed from compact to dense. \n"
+ " The links include both hard and\n"
+ " soft links. \n"
+ " `grp-dense-t-compact` - Links are inserted to the group\n"
+ " The link storage of this group \n"
+ " changed from compact to dense. \n"
+ " Then several links are deleted.\n"
+ " The link storage changed from \n"
+ " dense to compact again. \n"
+ " The links include both hard and\n"
+ " soft links. \n"
+ "-q: silence printouts, few messages\n"
+ "\n",
+ progname);
+ HDexit(EXIT_FAILURE);
}
static bool
@@ -147,7 +147,7 @@ state_init(state_t *s, int argc, char **argv)
*s = ALL_HID_INITIALIZER;
if (H5_basename(argv[0], &tfile) < 0) {
- printf("H5_basename failed\n");
+ HDprintf("H5_basename failed\n");
TEST_ERROR;
}
@@ -171,15 +171,15 @@ state_init(state_t *s, int argc, char **argv)
errno = 0;
tmp = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0') {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (errno != 0) {
- printf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
+ HDprintf("couldn't parse `-%c` argument `%s`\n", ch, optarg);
TEST_ERROR;
}
else if (tmp > UINT_MAX) {
- printf("`-%c` argument `%lu` too large\n", ch, tmp);
+ HDprintf("`-%c` argument `%lu` too large\n", ch, tmp);
TEST_ERROR;
}
@@ -214,7 +214,7 @@ state_init(state_t *s, int argc, char **argv)
else if (HDstrcmp(optarg, "grp-dense-t-compact") == 0)
s->grp_op_pattern = 'T';
else {
- printf("Invalid -O argument \"%s\"", optarg);
+ HDprintf("Invalid -O argument \"%s\"", optarg);
TEST_ERROR;
}
break;
@@ -244,7 +244,7 @@ state_init(state_t *s, int argc, char **argv)
else if (HDstrcmp(optarg, "del-ohr-block") == 0)
s->at_pattern = 'R';
else {
- printf("Invalid -A argument \"%s\"", optarg);
+ HDprintf("Invalid -A argument \"%s\"", optarg);
TEST_ERROR;
}
break;
@@ -267,29 +267,29 @@ state_init(state_t *s, int argc, char **argv)
if (!s->grp_op_test) {
if (s->asteps < 1 || s->asteps > s->nsteps) {
- printf("attribute interval is out of bounds\n");
+ HDprintf("attribute interval is out of bounds\n");
TEST_ERROR;
}
}
if (s->grp_op_test && s->attr_test) {
- printf("Cannot test both group operation and attribute tests!\n");
- printf("Attribute tests are ignored.\n");
+ HDprintf("Cannot test both group operation and attribute tests!\n");
+ HDprintf("Attribute tests are ignored.\n");
}
if (s->csteps < 1 || s->csteps > s->nsteps) {
- printf("communication interval is out of bounds\n");
+ HDprintf("communication interval is out of bounds\n");
TEST_ERROR;
}
if (argc > 0) {
- printf("unexpected command-line arguments\n");
+ HDprintf("unexpected command-line arguments\n");
TEST_ERROR;
}
/* space for attributes */
if ((s->one_by_one_sid = H5Screate_simple(1, &dims, &dims)) < 0) {
- printf("H5Screate_simple failed\n");
+ HDprintf("H5Screate_simple failed\n");
TEST_ERROR;
}
@@ -323,7 +323,7 @@ np_wr_send_receive(state_t *s)
/* Bump up the value of notify to notice the reader to start to read */
s->np_notify++;
if (HDwrite(s->np_fd_w_to_r, &(s->np_notify), sizeof(int)) < 0) {
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
TEST_ERROR;
}
@@ -342,17 +342,17 @@ np_wr_send_receive(state_t *s)
* going to the next step */
(s->np_verify)++;
if (HDread(s->np_fd_r_to_w, &(s->np_notify), sizeof(int)) < 0) {
- printf("HDread failed\n");
+ HDprintf("HDread failed\n");
TEST_ERROR;
}
if (s->np_notify == -1) {
- printf("reader failed to verify group or attribute operation.\n");
+ HDprintf("reader failed to verify group or attribute operation.\n");
TEST_ERROR;
}
if (s->np_notify != s->np_verify) {
- printf("received message %d, expecting %d\n", s->np_notify, s->np_verify);
+ HDprintf("received message %d, expecting %d\n", s->np_notify, s->np_verify);
TEST_ERROR;
}
@@ -384,17 +384,17 @@ np_rd_receive(state_t *s)
/* Receive the notify that the writer bumped up the value */
if (HDread(s->np_fd_w_to_r, &(s->np_notify), sizeof(int)) < 0) {
- printf("HDread failed\n");
+ HDprintf("HDread failed\n");
TEST_ERROR;
}
if (s->np_notify == -1) {
- printf("writer failed to create group or carry out an attribute operation.\n");
+ HDprintf("writer failed to create group or carry out an attribute operation.\n");
TEST_ERROR;
}
if (s->np_notify != s->np_verify) {
- printf("received message %d, expecting %d\n", s->np_notify, s->np_verify);
+ HDprintf("received message %d, expecting %d\n", s->np_notify, s->np_verify);
TEST_ERROR;
}
@@ -418,7 +418,7 @@ np_rd_send(state_t *s)
if (HDwrite(s->np_fd_r_to_w, &(s->np_notify), sizeof(int)) < 0) {
H5_FAILED();
AT();
- printf("HDwrite failed\n");
+ HDprintf("HDwrite failed\n");
return false;
}
else
@@ -471,19 +471,19 @@ check_ohr_num_chunk(hid_t g, bool one_chunk_ohr)
/* Get the object information */
if (H5Oget_native_info(g, &ninfo, H5O_NATIVE_INFO_HDR) < 0) {
- printf("H5Oget_native_info failed\n");
+ HDprintf("H5Oget_native_info failed\n");
TEST_ERROR;
}
if (true == one_chunk_ohr) {
if (ninfo.hdr.nchunks != 1) {
- printf("Object header should have only one chunk,but it is not.\n");
+ HDprintf("Object header should have only one chunk,but it is not.\n");
TEST_ERROR;
}
}
else {
if (ninfo.hdr.nchunks <= 1) {
- printf("Object header should have more than one chunk,but it is not.\n");
+ HDprintf("Object header should have more than one chunk,but it is not.\n");
TEST_ERROR;
}
}
@@ -541,7 +541,7 @@ add_attr(state_t *s, hid_t oid, unsigned int which, unsigned num_attrs, const ch
/* Need to obtain native datatype for H5Aread */
if ((amtype = H5Tget_native_type(atype, H5T_DIR_ASCEND)) < 0) {
- printf("H5Tget_native_type failed\n");
+ HDprintf("H5Tget_native_type failed\n");
TEST_ERROR;
}
@@ -551,7 +551,7 @@ add_attr(state_t *s, hid_t oid, unsigned int which, unsigned num_attrs, const ch
/* Construct attribute name like attr-0-0 */
HDsprintf(attrname, aname_fmt, which, u);
if ((aid = H5Acreate2(oid, attrname, atype, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- printf("H5Acreate2 failed\n");
+ HDprintf("H5Acreate2 failed\n");
TEST_ERROR;
}
@@ -561,13 +561,13 @@ add_attr(state_t *s, hid_t oid, unsigned int which, unsigned num_attrs, const ch
/* Write data into the attribute */
if (H5Awrite(aid, amtype, &attr_value) < 0) {
- printf("H5Awrite failed\n");
+ HDprintf("H5Awrite failed\n");
TEST_ERROR;
}
/* Close attribute */
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
@@ -575,8 +575,8 @@ add_attr(state_t *s, hid_t oid, unsigned int which, unsigned num_attrs, const ch
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(oid, false)) {
- printf("An object header continuation block should be created. \n");
- printf("But it is not.\n");
+ HDprintf("An object header continuation block should be created. \n");
+ HDprintf("But it is not.\n");
TEST_ERROR;
}
}
@@ -698,7 +698,7 @@ add_vlstr_attr(state_t *s, hid_t g, unsigned int which)
/* Allocate buffer for the VL string value */
astr_val = HDmalloc(VS_ATTR_NAME_LEN);
if (astr_val == NULL) {
- printf("Allocate memory for VL string failed.\n");
+ HDprintf("Allocate memory for VL string failed.\n");
TEST_ERROR;
}
@@ -710,32 +710,32 @@ add_vlstr_attr(state_t *s, hid_t g, unsigned int which)
/* Create a datatype to refer to. */
if ((atype = H5Tcopy(H5T_C_S1)) < 0) {
- printf("Cannot create variable length datatype.\n");
+ HDprintf("Cannot create variable length datatype.\n");
TEST_ERROR;
}
if (H5Tset_size(atype, H5T_VARIABLE) < 0) {
- printf("Cannot set variable length datatype.\n");
+ HDprintf("Cannot set variable length datatype.\n");
TEST_ERROR;
}
/* Generate the VL string attribute.*/
if ((aid = H5Acreate2(g, name, atype, sid, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- printf("H5Acreate2 failed.\n");
+ HDprintf("H5Acreate2 failed.\n");
TEST_ERROR;
}
if (H5Awrite(aid, atype, &astr_val) < 0) {
- printf("H5Awrite failed.\n");
+ HDprintf("H5Awrite failed.\n");
TEST_ERROR;
}
if (H5Tclose(atype) < 0) {
- printf("H5Tclose() failed\n");
+ HDprintf("H5Tclose() failed\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose() failed\n");
+ HDprintf("H5Aclose() failed\n");
TEST_ERROR;
}
@@ -835,7 +835,7 @@ del_one_attr(state_t *s, hid_t obj_id, bool is_dense, bool is_vl_or_ohrc, unsign
/* Delete the attribute */
if (H5Adelete(obj_id, attrname) < 0) {
- printf("H5Adelete() failed\n");
+ HDprintf("H5Adelete() failed\n");
TEST_ERROR;
}
@@ -843,7 +843,7 @@ del_one_attr(state_t *s, hid_t obj_id, bool is_dense, bool is_vl_or_ohrc, unsign
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(obj_id, true)) {
- printf("The object header chunk should not continue. \n");
+ HDprintf("The object header chunk should not continue. \n");
TEST_ERROR;
}
}
@@ -947,12 +947,12 @@ modify_attr(state_t *s, hid_t g, const char *aname_fmt, unsigned int which)
HDsprintf(attrname, aname_fmt, which, 0);
if ((aid = H5Aopen(g, attrname, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
if ((amtype = H5Tget_native_type(s->filetype, H5T_DIR_ASCEND)) < 0) {
- printf("H5Tget_native_type failed\n");
+ HDprintf("H5Tget_native_type failed\n");
TEST_ERROR;
}
@@ -960,15 +960,15 @@ modify_attr(state_t *s, hid_t g, const char *aname_fmt, unsigned int which)
modify_value = which + 10000;
if (H5Awrite(aid, amtype, &modify_value) < 0) {
- printf("H5Awrite failed\n");
+ HDprintf("H5Awrite failed\n");
TEST_ERROR;
}
if (H5Tclose(amtype) < 0) {
- printf("H5Tclose failed\n");
+ HDprintf("H5Tclose failed\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
@@ -1037,7 +1037,7 @@ modify_vlstr_attr(state_t *s, hid_t g, unsigned int which)
astr_val = HDmalloc(VS_ATTR_NAME_LEN);
if (astr_val == NULL) {
- printf("Allocate memory for VL string failed.\n");
+ HDprintf("Allocate memory for VL string failed.\n");
TEST_ERROR;
}
@@ -1049,35 +1049,35 @@ modify_vlstr_attr(state_t *s, hid_t g, unsigned int which)
/* Create a datatype to refer to. */
if ((atype = H5Tcopy(H5T_C_S1)) < 0) {
- printf("Cannot create variable length datatype.\n");
+ HDprintf("Cannot create variable length datatype.\n");
TEST_ERROR;
}
if (H5Tset_size(atype, H5T_VARIABLE) < 0) {
- printf("Cannot set variable length datatype.\n");
+ HDprintf("Cannot set variable length datatype.\n");
TEST_ERROR;
}
/* Open this attribute. */
if ((aid = H5Aopen(g, name, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed.\n");
+ HDprintf("H5Aopen failed.\n");
TEST_ERROR;
}
dbgf(1, "The modified VL string value is %s \n", astr_val);
if (H5Awrite(aid, atype, &astr_val) < 0) {
- printf("H5Awrite failed.\n");
+ HDprintf("H5Awrite failed.\n");
TEST_ERROR;
}
if (H5Tclose(atype) < 0) {
- printf("H5Tclose() failed\n");
+ HDprintf("H5Tclose() failed\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose() failed\n");
+ HDprintf("H5Aclose() failed\n");
TEST_ERROR;
}
@@ -1202,7 +1202,7 @@ add_attrs_compact(state_t *s, hid_t g, hid_t gcpl, unsigned int which)
* storage and the minimal number of attributes to be stored in
* dense storage. */
if (H5Pget_attr_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_attr_phase_change() failed\n");
+ HDprintf("H5Pget_attr_phase_change() failed\n");
TEST_ERROR;
}
}
@@ -1258,7 +1258,7 @@ add_attrs_compact_dense(state_t *s, hid_t g, hid_t gcpl, unsigned int which)
bool ret_value = false;
if (H5Pget_attr_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_attr_phase_change failed\n");
+ HDprintf("H5Pget_attr_phase_change failed\n");
TEST_ERROR;
}
@@ -1325,7 +1325,7 @@ del_attrs_compact_dense_compact(state_t *s, hid_t obj_id, hid_t gcpl, unsigned i
* storage and the minimal number of attributes to be stored in
* dense storage. */
if (H5Pget_attr_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_attr_phase_change failed\n");
+ HDprintf("H5Pget_attr_phase_change failed\n");
TEST_ERROR;
}
u = max_compact + 1;
@@ -1334,7 +1334,7 @@ del_attrs_compact_dense_compact(state_t *s, hid_t obj_id, hid_t gcpl, unsigned i
for (u--; u >= (min_dense - 1); u--) {
HDsprintf(attrname, aname_format, which, max_compact - u);
if (H5Adelete(obj_id, attrname) < 0) {
- printf("H5Adelete failed\n");
+ HDprintf("H5Adelete failed\n");
TEST_ERROR;
}
@@ -1363,7 +1363,7 @@ del_attrs_compact_dense_compact(state_t *s, hid_t obj_id, hid_t gcpl, unsigned i
HDsprintf(attrname, adname_format, max_compact + which, 0);
if (H5Adelete(obj_id, attrname) < 0) {
- printf("H5Adelete failed\n");
+ HDprintf("H5Adelete failed\n");
TEST_ERROR;
}
/* Again we need to notify the reader via Named pipe. */
@@ -1483,7 +1483,7 @@ add_del_attrs_compact_dense(state_t *s, hid_t g, hid_t gcpl, unsigned int which)
unsigned min_dense = 0;
if (H5Pget_attr_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_attr_phase_change failed\n");
+ HDprintf("H5Pget_attr_phase_change failed\n");
TEST_ERROR;
}
@@ -1729,7 +1729,7 @@ write_group(state_t *s, unsigned int which)
H5G_info_t group_info;
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
@@ -1740,21 +1740,21 @@ write_group(state_t *s, unsigned int which)
else {
gcpl = H5Pcreate(H5P_GROUP_CREATE);
if (gcpl < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
/* If we test the dense storage, change the attribute phase. */
if (s->at_pattern == 'd') {
if (H5Pset_attr_phase_change(gcpl, 0, 0) < 0) {
- printf("H5Pset_attr_phase_change failed for the dense storage.\n");
+ HDprintf("H5Pset_attr_phase_change failed for the dense storage.\n");
TEST_ERROR;
}
}
}
if ((g = H5Gcreate2(s->file, name, H5P_DEFAULT, gcpl, H5P_DEFAULT)) < 0) {
- printf("H5Gcreate2 failed\n");
+ HDprintf("H5Gcreate2 failed\n");
TEST_ERROR;
}
@@ -1762,25 +1762,25 @@ write_group(state_t *s, unsigned int which)
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if ((dummy_d = H5Dcreate2(g, "Dataset", H5T_NATIVE_INT, s->one_by_one_sid, H5P_DEFAULT, H5P_DEFAULT,
H5P_DEFAULT)) < 0) {
- printf("H5Dcreate2 failed\n");
+ HDprintf("H5Dcreate2 failed\n");
TEST_ERROR;
}
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
if (s->old_style_grp) {
if (group_info.storage_type != H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Old-styled group test: but the group is not in old-style. \n");
+ HDprintf("Old-styled group test: but the group is not in old-style. \n");
TEST_ERROR;
}
dbgf(2, "Writer: group is created with the old-style.\n");
}
else {
if (group_info.storage_type == H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("The created group should NOT be in old-style . \n");
+ HDprintf("The created group should NOT be in old-style . \n");
TEST_ERROR;
}
dbgf(2, "Writer: group is created with the new-style.\n");
@@ -1790,8 +1790,8 @@ write_group(state_t *s, unsigned int which)
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(g, true)) {
- printf("An object header continuation block should NOT be created. \n");
- printf("But it is created.\n");
+ HDprintf("An object header continuation block should NOT be created. \n");
+ HDprintf("But it is created.\n");
TEST_ERROR;
}
}
@@ -1820,17 +1820,17 @@ write_group(state_t *s, unsigned int which)
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if (H5Dclose(dummy_d) < 0) {
- printf("H5Dclose failed\n");
+ HDprintf("H5Dclose failed\n");
TEST_ERROR;
}
}
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
if (!s->old_style_grp && H5Pclose(gcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
@@ -1882,19 +1882,19 @@ check_attr_storage_type(hid_t g, bool is_compact)
/* Get the object information */
if (H5Oget_native_info(g, &ninfo, H5O_NATIVE_INFO_HDR | H5O_NATIVE_INFO_META_SIZE) < 0) {
- printf("H5Oget_native_info failed\n");
+ HDprintf("H5Oget_native_info failed\n");
TEST_ERROR;
}
if (is_compact) {
if (ninfo.meta_size.attr.index_size != 0 || ninfo.meta_size.attr.heap_size != 0) {
- printf("Should be in compact storage,but it is not.\n");
+ HDprintf("Should be in compact storage,but it is not.\n");
TEST_ERROR;
}
}
else {
if (ninfo.meta_size.attr.index_size == 0 || ninfo.meta_size.attr.heap_size == 0) {
- printf("Should be in dense storage,but it is not.\n");
+ HDprintf("Should be in dense storage,but it is not.\n");
TEST_ERROR;
}
}
@@ -1973,35 +1973,35 @@ vrfy_attr(state_t *s, hid_t g, unsigned int which, const char *aname, unsigned i
dbgf(1, "verifying attribute %s on group %u equals %u\n", aname, g_which, which);
if ((amtype = H5Tget_native_type(s->filetype, H5T_DIR_ASCEND)) < 0) {
- printf("H5Tget_native_type failed\n");
+ HDprintf("H5Tget_native_type failed\n");
TEST_ERROR;
}
if ((aid = H5Aopen(g, aname, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
if (H5Aread(aid, amtype, &read_which) < 0) {
- printf("H5Aread failed\n");
+ HDprintf("H5Aread failed\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
if (read_which != which) {
- printf("reader: the add_attribute verfication failed,expected value is %d\n", which);
- printf("reader: the add_attribute verfication failed, the value is %d\n", read_which);
- printf("The add_attribute verification failed\n");
+ HDprintf("reader: the add_attribute verfication failed,expected value is %d\n", which);
+ HDprintf("reader: the add_attribute verfication failed, the value is %d\n", read_which);
+ HDprintf("The add_attribute verification failed\n");
TEST_ERROR;
}
if (!s->old_style_grp && check_storage == true) {
if (false == check_attr_storage_type(g, is_compact)) {
- printf("The attribute storage type is wrong. \n");
+ HDprintf("The attribute storage type is wrong. \n");
TEST_ERROR;
}
dbgf(2, "reader: finish checking the storage type: %d\n", s->np_notify);
@@ -2011,9 +2011,9 @@ vrfy_attr(state_t *s, hid_t g, unsigned int which, const char *aname, unsigned i
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(g, false)) {
- printf("An object header continuation block should be created. \n");
- printf("But it is not.\n");
- printf("Verification of 'object header continuation block test' failed.\n");
+ HDprintf("An object header continuation block should be created. \n");
+ HDprintf("But it is not.\n");
+ HDprintf("Verification of 'object header continuation block test' failed.\n");
TEST_ERROR;
}
}
@@ -2021,7 +2021,7 @@ vrfy_attr(state_t *s, hid_t g, unsigned int which, const char *aname, unsigned i
/* If the read value is expected, send back an OK message to the writer. */
if (s->use_named_pipes && s->attr_test == true) {
if (np_rd_send(s) == false) {
- printf("named pipe reader send message error\n");
+ HDprintf("named pipe reader send message error\n");
TEST_ERROR;
}
dbgf(2, "reader: finish sending back the message: %d\n", s->np_notify);
@@ -2138,35 +2138,35 @@ verify_modify_attr(state_t *s, hid_t g, unsigned int which)
/* Go ahead to read the attribute. */
esnprintf(attrname, sizeof(attrname), aname_fmt, which);
if ((amtype = H5Tget_native_type(s->filetype, H5T_DIR_ASCEND)) < 0) {
- printf("H5Tget_native_type failed\n");
+ HDprintf("H5Tget_native_type failed\n");
TEST_ERROR;
}
if ((aid = H5Aopen(g, attrname, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
if (H5Aread(aid, amtype, &read_which) < 0) {
- printf("H5Aread failed\n");
+ HDprintf("H5Aread failed\n");
TEST_ERROR;
}
if (H5Tclose(amtype) < 0) {
- printf("H5Tclose failed.\n");
+ HDprintf("H5Tclose failed.\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed\n");
+ HDprintf("H5Aclose failed\n");
TEST_ERROR;
}
/* verify the modified value */
if (read_which != (which + 10000)) {
- printf("reader: the modified_attr() expected value is %d\n", which + 10000);
- printf("reader: the modified_attr() actual value is %d\n", read_which);
- printf("The modify_attribute verification failed.\n");
+ HDprintf("reader: the modified_attr() expected value is %d\n", which + 10000);
+ HDprintf("reader: the modified_attr() actual value is %d\n", read_which);
+ HDprintf("The modify_attribute verification failed.\n");
TEST_ERROR;
}
@@ -2253,7 +2253,7 @@ verify_group_vlstr_attr(state_t *s, hid_t g, unsigned int which, bool vrfy_mod)
/* Go ahead to read the VL string attribute. */
astr_val_exp = HDmalloc(VS_ATTR_NAME_LEN);
if (astr_val_exp == NULL) {
- printf("Allocate memory for expected buffer failed.\n");
+ HDprintf("Allocate memory for expected buffer failed.\n");
TEST_ERROR;
}
@@ -2271,41 +2271,41 @@ verify_group_vlstr_attr(state_t *s, hid_t g, unsigned int which, bool vrfy_mod)
dbgf(1, "expected vl attr is= %s\n", astr_val_exp);
if ((aid = H5Aopen(g, name, H5P_DEFAULT)) < 0) {
- printf("H5Aopen failed\n");
+ HDprintf("H5Aopen failed\n");
TEST_ERROR;
}
/* Create a VL string datatype */
if ((atype = H5Tcopy(H5T_C_S1)) < 0) {
- printf("Cannot create variable length datatype.\n");
+ HDprintf("Cannot create variable length datatype.\n");
TEST_ERROR;
}
if (H5Tset_size(atype, H5T_VARIABLE) < 0) {
- printf("Cannot set variable length datatype.\n");
+ HDprintf("Cannot set variable length datatype.\n");
TEST_ERROR;
}
if (H5Aread(aid, atype, &astr_val) < 0) {
- printf("Cannot read the attribute.\n");
+ HDprintf("Cannot read the attribute.\n");
TEST_ERROR;
}
dbgf(1, "read attr is= %s\n", astr_val);
if (HDstrcmp(astr_val, astr_val_exp) != 0) {
- printf("reader: the vl add_attribute verfication failed,expected value is %s\n", astr_val_exp);
- printf("reader: the vl add_attribute verfication failed, the value is %s\n", astr_val);
- printf("The vl add_attribute verification failed\n");
+ HDprintf("reader: the vl add_attribute verfication failed,expected value is %s\n", astr_val_exp);
+ HDprintf("reader: the vl add_attribute verfication failed, the value is %s\n", astr_val);
+ HDprintf("The vl add_attribute verification failed\n");
TEST_ERROR;
}
if (H5Tclose(atype) < 0) {
- printf("H5Tclose failed.\n");
+ HDprintf("H5Tclose failed.\n");
TEST_ERROR;
}
if (H5Aclose(aid) < 0) {
- printf("H5Aclose failed.\n");
+ HDprintf("H5Aclose failed.\n");
TEST_ERROR;
}
@@ -2402,18 +2402,18 @@ verify_del_one_attr(state_t *s, hid_t g, const char *aname, bool check_storage,
dbgf(1, " attribute %s is successfully deleted. \n", aname);
}
else if (attr_exists == TRUE) {
- printf("The supposed deleted attribute %s still exists \n", aname);
- printf("verify_del_attrs_compact() test failed \n");
+ HDprintf("The supposed deleted attribute %s still exists \n", aname);
+ HDprintf("verify_del_attrs_compact() test failed \n");
TEST_ERROR;
}
else {
- printf("H5Aexists_by_name failed \n");
+ HDprintf("H5Aexists_by_name failed \n");
TEST_ERROR;
}
if (!s->old_style_grp && check_storage == true) {
if (false == check_attr_storage_type(g, is_compact)) {
- printf("The attribute storage type is wrong. \n");
+ HDprintf("The attribute storage type is wrong. \n");
TEST_ERROR;
}
dbgf(2, "reader: finish checking the storage type: %d\n", s->np_notify);
@@ -2423,9 +2423,9 @@ verify_del_one_attr(state_t *s, hid_t g, const char *aname, bool check_storage,
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(g, true)) {
- printf("An object header continuation block should be removed. \n");
- printf("But it is NOT.\n");
- printf("Verification of an 'object header continuation block test' failed.\n");
+ HDprintf("An object header continuation block should be removed. \n");
+ HDprintf("But it is NOT.\n");
+ HDprintf("Verification of an 'object header continuation block test' failed.\n");
TEST_ERROR;
}
}
@@ -2903,15 +2903,15 @@ verify_group_attribute(state_t *s, hid_t g, unsigned int which)
max_compact = 2;
else {
if ((gcpl = H5Gget_create_plist(g)) < 0) {
- printf("H5Gget_create_plist failed\n");
+ HDprintf("H5Gget_create_plist failed\n");
TEST_ERROR;
}
if (H5Pget_attr_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_attr_phase_change failed\n");
+ HDprintf("H5Pget_attr_phase_change failed\n");
TEST_ERROR;
}
if (H5Pclose(gcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
}
@@ -3025,33 +3025,33 @@ verify_group(state_t *s, unsigned int which)
}
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
esnprintf(name, sizeof(name), "/group-%u", which);
if ((g = H5Gopen(s->file, name, H5P_DEFAULT)) < 0) {
- printf("H5Gopen failed\n");
+ HDprintf("H5Gopen failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
dbgf(2, "Storage info is %d\n", group_info.storage_type);
if (s->old_style_grp) {
if (group_info.storage_type != H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - Old-styled group: but the group is not in old-style. \n");
+ HDprintf("Reader - Old-styled group: but the group is not in old-style. \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the old-style.\n");
}
else {
if (group_info.storage_type == H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - The created group should NOT be in old-style . \n");
+ HDprintf("Reader - The created group should NOT be in old-style . \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the new-style.\n");
@@ -3061,9 +3061,9 @@ verify_group(state_t *s, unsigned int which)
* we need to check if this test behaves as expected. */
if (s->at_pattern == 'a' || s->at_pattern == 'R') {
if (false == check_ohr_num_chunk(g, true)) {
- printf("An object header continuation block should NOT be created. \n");
- printf("But it is created.\n");
- printf("Verification of an 'object header continuation block test' failed.\n");
+ HDprintf("An object header continuation block should NOT be created. \n");
+ HDprintf("But it is created.\n");
+ HDprintf("Verification of an 'object header continuation block test' failed.\n");
TEST_ERROR;
}
}
@@ -3083,7 +3083,7 @@ verify_group(state_t *s, unsigned int which)
result = true;
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -3140,49 +3140,49 @@ create_group_id(state_t *s, unsigned int which, bool dense_to_compact)
H5G_info_t group_info;
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
gcpl = H5Pcreate(H5P_GROUP_CREATE);
if (gcpl < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (dense_to_compact) {
if (H5Pset_link_phase_change(gcpl, 2, 2) < 0) {
- printf("H5Pset_link_phase_change failed for dense to compact.\n");
+ HDprintf("H5Pset_link_phase_change failed for dense to compact.\n");
TEST_ERROR;
}
}
else {
if (H5Pset_link_phase_change(gcpl, 1, 1) < 0) {
- printf("H5Pset_attr_phase_change failed for compact to dense.\n");
+ HDprintf("H5Pset_attr_phase_change failed for compact to dense.\n");
TEST_ERROR;
}
}
esnprintf(name, sizeof(name), "/group-%u", which);
if ((g = H5Gcreate2(s->file, name, H5P_DEFAULT, gcpl, H5P_DEFAULT)) < 0) {
- printf("H5Gcreate2 failed\n");
+ HDprintf("H5Gcreate2 failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
/* The storage type should always be compact when a group is created. */
if (group_info.storage_type != H5G_STORAGE_TYPE_COMPACT) {
- printf("New-style group link storage test:. \n");
- printf(" still be compact after group creation. \n");
+ HDprintf("New-style group link storage test:. \n");
+ HDprintf(" still be compact after group creation. \n");
TEST_ERROR;
}
if (H5Pclose(gcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
@@ -3244,7 +3244,7 @@ close_group_id(state_t *s, hid_t g)
{
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -3302,38 +3302,38 @@ create_group(state_t *s, unsigned int which)
H5G_info_t group_info;
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
esnprintf(name, sizeof(name), "/group-%u", which);
if ((g = H5Gcreate2(s->file, name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) {
- printf("H5Gcreate2 failed\n");
+ HDprintf("H5Gcreate2 failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
if (s->old_style_grp) {
if (group_info.storage_type != H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Old-styled group test: but the group is not in old-style. \n");
+ HDprintf("Old-styled group test: but the group is not in old-style. \n");
TEST_ERROR;
}
dbgf(2, "Writer: group is created with the old-style.\n");
}
else {
if (group_info.storage_type == H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("The created group should NOT be in old-style . \n");
+ HDprintf("The created group should NOT be in old-style . \n");
TEST_ERROR;
}
dbgf(2, "Writer: group is created with the new-style.\n");
}
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -3405,38 +3405,38 @@ delete_one_link(state_t *s, hid_t obj_id, const char *name, short link_storage,
H5G_info_t group_info;
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
if (H5Ldelete(obj_id, name, H5P_DEFAULT) < 0) {
- printf("H5Ldelete failed\n");
+ HDprintf("H5Ldelete failed\n");
TEST_ERROR;
}
if (link_storage > 0) {
if (s->old_style_grp) {
- printf("Old style group doesn't support the indexed storage.\n");
+ HDprintf("Old style group doesn't support the indexed storage.\n");
TEST_ERROR;
}
if (H5Gget_info(obj_id, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
if (link_storage == 1) {
if (group_info.storage_type != H5G_STORAGE_TYPE_COMPACT) {
- printf("The group link storage should be compact. \n");
+ HDprintf("The group link storage should be compact. \n");
TEST_ERROR;
}
}
else {
if (group_info.storage_type != H5G_STORAGE_TYPE_DENSE) {
- printf("The group link storage should be dense. \n");
+ HDprintf("The group link storage should be dense. \n");
TEST_ERROR;
}
}
@@ -3535,12 +3535,12 @@ move_one_group(state_t *s, hid_t obj_id, const char *name, const char *newname,
{
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
if (H5Lmove(obj_id, name, obj_id, newname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Ldelete failed\n");
+ HDprintf("H5Ldelete failed\n");
TEST_ERROR;
}
@@ -3649,7 +3649,7 @@ insert_one_link(state_t *s, hid_t obj_id, const char *name, const char *newname,
H5G_info_t group_info;
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
@@ -3659,13 +3659,13 @@ insert_one_link(state_t *s, hid_t obj_id, const char *name, const char *newname,
if (is_hard) {
if (link_storage > 0) {
if (H5Lcreate_hard(s->file, name, obj_id, newname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Lcreate_hard failed\n");
+ HDprintf("H5Lcreate_hard failed\n");
TEST_ERROR;
}
}
else {
if (H5Lcreate_hard(obj_id, name, obj_id, newname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Lcreate_hard failed\n");
+ HDprintf("H5Lcreate_hard failed\n");
TEST_ERROR;
}
}
@@ -3673,13 +3673,13 @@ insert_one_link(state_t *s, hid_t obj_id, const char *name, const char *newname,
else {
if (link_storage > 0) {
if (H5Lcreate_soft("/", obj_id, newname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Lcreate_soft failed\n");
+ HDprintf("H5Lcreate_soft failed\n");
TEST_ERROR;
}
}
else {
if (H5Lcreate_soft(name, obj_id, newname, H5P_DEFAULT, H5P_DEFAULT) < 0) {
- printf("H5Lcreate_soft failed.\n");
+ HDprintf("H5Lcreate_soft failed.\n");
TEST_ERROR;
}
}
@@ -3688,24 +3688,24 @@ insert_one_link(state_t *s, hid_t obj_id, const char *name, const char *newname,
if (link_storage > 0) {
if (s->old_style_grp) {
- printf("Old style group doesn't support dense or compact storage.\n");
+ HDprintf("Old style group doesn't support dense or compact storage.\n");
TEST_ERROR;
}
if (H5Gget_info(obj_id, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
if (link_storage == 1) {
if (group_info.storage_type != H5G_STORAGE_TYPE_COMPACT) {
- printf("The group link storage should be compact. \n");
+ HDprintf("The group link storage should be compact. \n");
TEST_ERROR;
}
}
else {
if (group_info.storage_type != H5G_STORAGE_TYPE_DENSE) {
- printf("The group link storage should be dense. \n");
+ HDprintf("The group link storage should be dense. \n");
TEST_ERROR;
}
}
@@ -3846,7 +3846,7 @@ transit_storage_compact_to_dense(state_t *s, unsigned int which)
hid_t g = create_group_id(s, which, false);
if (g < 0) {
- printf("create_group_id failed\n");
+ HDprintf("create_group_id failed\n");
TEST_ERROR;
}
@@ -3854,19 +3854,19 @@ transit_storage_compact_to_dense(state_t *s, unsigned int which)
esnprintf(name, sizeof(name), "/group-%u", which);
esnprintf(hd_name, sizeof(hd_name), "hd-group-%u", which);
if (insert_one_link(s, g, name, hd_name, true, 1, which) == false) {
- printf("insert_one_link for compact storage failed\n");
+ HDprintf("insert_one_link for compact storage failed\n");
TEST_ERROR;
}
/* Then insert a soft link, the storage becomes dense. */
esnprintf(st_name, sizeof(st_name), "st-group-%u", which);
if (insert_one_link(s, g, name, st_name, false, 2, which) == false) {
- printf("insert_one_link for dense storage failed\n");
+ HDprintf("insert_one_link for dense storage failed\n");
TEST_ERROR;
}
if (close_group_id(s, g) == false) {
- printf("insert_one_link for dense storage failed\n");
+ HDprintf("insert_one_link for dense storage failed\n");
TEST_ERROR;
}
@@ -3913,7 +3913,7 @@ transit_storage_dense_to_compact(state_t *s, unsigned int which)
hid_t g = create_group_id(s, which, true);
if (g < 0) {
- printf("create_group_id failed\n");
+ HDprintf("create_group_id failed\n");
TEST_ERROR;
}
@@ -3921,38 +3921,38 @@ transit_storage_dense_to_compact(state_t *s, unsigned int which)
esnprintf(name, sizeof(name), "/group-%u", which);
esnprintf(hd_name, sizeof(hd_name), "hd-group-%u", which);
if (insert_one_link(s, g, name, hd_name, true, 1, which) == false) {
- printf("insert_one_link for compact storage failed\n");
+ HDprintf("insert_one_link for compact storage failed\n");
TEST_ERROR;
}
/* Insert a link, storage is still compact. */
esnprintf(st_name, sizeof(st_name), "st-group-%u", which);
if (insert_one_link(s, g, name, st_name, false, 1, which) == false) {
- printf("insert_one_link for compact storage failed\n");
+ HDprintf("insert_one_link for compact storage failed\n");
TEST_ERROR;
}
/* Insert a link, storage becomes dense. */
esnprintf(st2_name, sizeof(st2_name), "st2-group-%u", which);
if (insert_one_link(s, g, name, st2_name, false, 2, which) == false) {
- printf("insert_one_link for dense storage failed\n");
+ HDprintf("insert_one_link for dense storage failed\n");
TEST_ERROR;
}
/* Delete a link, storage is still dense */
if (delete_one_link(s, g, st_name, 2, which) == false) {
- printf("delete_one_link for dense storage failed\n");
+ HDprintf("delete_one_link for dense storage failed\n");
TEST_ERROR;
}
/* Delete another link, storage becomes compact */
if (delete_one_link(s, g, st2_name, 1, which) == false) {
- printf("delete_one_link for compact storage failed\n");
+ HDprintf("delete_one_link for compact storage failed\n");
TEST_ERROR;
}
if (close_group_id(s, g) == false) {
- printf("insert_one_link for dense storage failed\n");
+ HDprintf("insert_one_link for dense storage failed\n");
TEST_ERROR;
}
@@ -4072,40 +4072,40 @@ vrfy_create_group(state_t *s, unsigned int which)
}
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
esnprintf(name, sizeof(name), "/group-%u", which);
if ((g = H5Gopen(s->file, name, H5P_DEFAULT)) < 0) {
- printf("H5Gopen failed\n");
+ HDprintf("H5Gopen failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
dbgf(2, "Storage info is %d\n", group_info.storage_type);
if (s->old_style_grp) {
if (group_info.storage_type != H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - Old-styled group: but the group is not in old-style. \n");
+ HDprintf("Reader - Old-styled group: but the group is not in old-style. \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the old-style.\n");
}
else {
if (group_info.storage_type == H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - The created group should NOT be in old-style . \n");
+ HDprintf("Reader - The created group should NOT be in old-style . \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the new-style.\n");
}
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -4189,69 +4189,69 @@ vrfy_create_group_id(state_t *s, unsigned int which, bool dense_to_compact)
}
if (which >= s->nsteps) {
- printf("Number of the created groups is out of bounds\n");
+ HDprintf("Number of the created groups is out of bounds\n");
TEST_ERROR;
}
esnprintf(name, sizeof(name), "/group-%u", which);
if ((g = H5Gopen(s->file, name, H5P_DEFAULT)) < 0) {
- printf("H5Gopen failed\n");
+ HDprintf("H5Gopen failed\n");
TEST_ERROR;
}
if ((gcpl = H5Gget_create_plist(g)) < 0) {
- printf("H5Gget_create_plist failed\n");
+ HDprintf("H5Gget_create_plist failed\n");
TEST_ERROR;
}
if (H5Pget_link_phase_change(gcpl, &max_compact, &min_dense) < 0) {
- printf("H5Pget_link_phase_change failed\n");
+ HDprintf("H5Pget_link_phase_change failed\n");
TEST_ERROR;
}
if (dense_to_compact) {
if (max_compact != 2) {
- printf("For storage check from dense to compact:\n");
- printf(" The max_compact should be 2.\n");
- printf(" But the actual value is %d.\n", max_compact);
+ HDprintf("For storage check from dense to compact:\n");
+ HDprintf(" The max_compact should be 2.\n");
+ HDprintf(" But the actual value is %d.\n", max_compact);
TEST_ERROR;
}
else if (min_dense != 2) {
- printf("For storage check from dense to compact:\n");
- printf(" The min_dense should be 2.\n");
- printf(" But the actual value is %d.\n", min_dense);
+ HDprintf("For storage check from dense to compact:\n");
+ HDprintf(" The min_dense should be 2.\n");
+ HDprintf(" But the actual value is %d.\n", min_dense);
TEST_ERROR;
}
}
else {
if (max_compact != 1) {
- printf("For storage check from dense to compact:\n");
- printf(" The max_compact should be 1.\n");
- printf(" But the actual value is %d.\n", max_compact);
+ HDprintf("For storage check from dense to compact:\n");
+ HDprintf(" The max_compact should be 1.\n");
+ HDprintf(" But the actual value is %d.\n", max_compact);
TEST_ERROR;
}
else if (min_dense != 1) {
- printf("For storage check from dense to compact:\n");
- printf(" The min_dense should be 1.\n");
- printf(" But the actual value is %d.\n", min_dense);
+ HDprintf("For storage check from dense to compact:\n");
+ HDprintf(" The min_dense should be 1.\n");
+ HDprintf(" But the actual value is %d.\n", min_dense);
TEST_ERROR;
}
}
if (H5Pclose(gcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
/* When the group is created, the storage type is always compact. */
if (group_info.storage_type != H5G_STORAGE_TYPE_COMPACT) {
- printf("Old-styled group test: but the group is not in old-style. \n");
+ HDprintf("Old-styled group test: but the group is not in old-style. \n");
TEST_ERROR;
}
@@ -4324,7 +4324,7 @@ vrfy_close_group_id(state_t *s, hid_t g)
}
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -4403,18 +4403,18 @@ vrfy_one_link_exist(state_t *s, hid_t obj_id, const char *name, bool expect_exis
link_exists = H5Lexists(obj_id, name, H5P_DEFAULT);
if (link_exists < 0) {
- printf("H5Lexists error\n");
+ HDprintf("H5Lexists error\n");
TEST_ERROR;
}
else if (link_exists == 1) {
if (expect_exist == false) {
- printf("This link should be moved or deleted but it still exists.\n");
+ HDprintf("This link should be moved or deleted but it still exists.\n");
TEST_ERROR;
}
}
else if (link_exists == 0) {
if (expect_exist == true) {
- printf("This link should exist but it is moved or deleted.\n");
+ HDprintf("This link should exist but it is moved or deleted.\n");
TEST_ERROR;
}
}
@@ -4422,24 +4422,24 @@ vrfy_one_link_exist(state_t *s, hid_t obj_id, const char *name, bool expect_exis
if (link_storage > 0) {
if (s->old_style_grp) {
- printf("Old style group doesn't support the indexed storage.\n");
+ HDprintf("Old style group doesn't support the indexed storage.\n");
TEST_ERROR;
}
if (H5Gget_info(obj_id, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
if (link_storage == 1) {
if (group_info.storage_type != H5G_STORAGE_TYPE_COMPACT) {
- printf("The group link storage should be compact. \n");
+ HDprintf("The group link storage should be compact. \n");
TEST_ERROR;
}
}
else {
if (group_info.storage_type != H5G_STORAGE_TYPE_DENSE) {
- printf("The group link storage should be dense. \n");
+ HDprintf("The group link storage should be dense. \n");
TEST_ERROR;
}
}
@@ -4555,48 +4555,48 @@ vrfy_move_one_group(state_t *s, hid_t obj_id, const char *name, const char *newn
}
if (which >= s->nsteps) {
- printf("Number of created groups is out of bounds\n");
+ HDprintf("Number of created groups is out of bounds\n");
TEST_ERROR;
}
link_exists = H5Lexists(obj_id, name, H5P_DEFAULT);
if (link_exists < 0) {
- printf("H5Lexists error\n");
+ HDprintf("H5Lexists error\n");
TEST_ERROR;
}
else if (link_exists == 1) {
- printf("This link should be moved but it still exists.\n");
+ HDprintf("This link should be moved but it still exists.\n");
TEST_ERROR;
}
if ((g = H5Gopen(obj_id, newname, H5P_DEFAULT)) < 0) {
- printf("H5Gopen failed\n");
+ HDprintf("H5Gopen failed\n");
TEST_ERROR;
}
if (H5Gget_info(g, &group_info) < 0) {
- printf("H5Gget_info failed\n");
+ HDprintf("H5Gget_info failed\n");
TEST_ERROR;
}
dbgf(2, "Storage info is %d\n", group_info.storage_type);
if (s->old_style_grp) {
if (group_info.storage_type != H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - Old-styled group: but the group is not in old-style. \n");
+ HDprintf("Reader - Old-styled group: but the group is not in old-style. \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the old-style.\n");
}
else {
if (group_info.storage_type == H5G_STORAGE_TYPE_SYMBOL_TABLE) {
- printf("Reader - The created group should NOT be in old-style . \n");
+ HDprintf("Reader - The created group should NOT be in old-style . \n");
TEST_ERROR;
}
dbgf(2, "Reader: verify that the group is created with the new-style.\n");
}
if (H5Gclose(g) < 0) {
- printf("H5Gclose failed\n");
+ HDprintf("H5Gclose failed\n");
TEST_ERROR;
}
@@ -4779,24 +4779,24 @@ vrfy_transit_storage_compact_to_dense(state_t *s, unsigned int which)
g = vrfy_create_group_id(s, which, false);
if (g < 0) {
- printf("verify create_group_id failed\n");
+ HDprintf("verify create_group_id failed\n");
TEST_ERROR;
}
esnprintf(hd_name, sizeof(hd_name), "hd-group-%u", which);
if (vrfy_one_link_exist(s, g, hd_name, true, 1) == false) {
- printf("verify the compact storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the compact storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
esnprintf(st_name, sizeof(st_name), "st-group-%u", which);
if (vrfy_one_link_exist(s, g, st_name, true, 2) == false) {
- printf("verify the dense link storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the dense link storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
if (vrfy_close_group_id(s, g) == false) {
- printf("verify the group close for 'link compact to dense' test\n");
+ HDprintf("verify the group close for 'link compact to dense' test\n");
TEST_ERROR;
}
return true;
@@ -4842,45 +4842,45 @@ vrfy_transit_storage_dense_to_compact(state_t *s, unsigned int which)
g = vrfy_create_group_id(s, which, true);
if (g < 0) {
- printf("verify create_group_id failed\n");
+ HDprintf("verify create_group_id failed\n");
TEST_ERROR;
}
/* Add a link, verify it is still the compact storage */
esnprintf(hd_name, sizeof(hd_name), "hd-group-%u", which);
if (vrfy_one_link_exist(s, g, hd_name, true, 1) == false) {
- printf("verify the compact storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the compact storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
/* Add another link, verify it is still the compact storage */
esnprintf(st_name, sizeof(st_name), "st-group-%u", which);
if (vrfy_one_link_exist(s, g, st_name, true, 1) == false) {
- printf("verify the compact link storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the compact link storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
/* Add the third link, verify it becomes the dense storage */
esnprintf(st2_name, sizeof(st2_name), "st2-group-%u", which);
if (vrfy_one_link_exist(s, g, st2_name, true, 2) == false) {
- printf("verify the dense link storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the dense link storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
/* Remove a link, verify the link doesn't exist and still dense storage */
if (vrfy_one_link_exist(s, g, st_name, false, 2) == false) {
- printf("verify the dense link storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the dense link storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
/* Remove a link, verify the link doesn't exist and it becomes compact storage */
if (vrfy_one_link_exist(s, g, st2_name, false, 1) == false) {
- printf("verify the compact link storage failed for 'link compact to dense' test\n");
+ HDprintf("verify the compact link storage failed for 'link compact to dense' test\n");
TEST_ERROR;
}
if (vrfy_close_group_id(s, g) == false) {
- printf("verify the group close for 'link compact to dense' test\n");
+ HDprintf("verify the group close for 'link compact to dense' test\n");
TEST_ERROR;
}
return true;
@@ -4969,7 +4969,7 @@ main(int argc, char **argv)
bool vg_ret = false;
if (!state_init(&s, argc, argv)) {
- printf("state_init failed\n");
+ HDprintf("state_init failed\n");
TEST_ERROR;
}
@@ -4980,7 +4980,7 @@ main(int argc, char **argv)
else if (personality != NULL && HDstrcmp(personality, "vfd_swmr_group_reader") == 0)
writer = false;
else {
- printf("unknown personality, expected vfd_swmr_group_{reader,writer}\n");
+ HDprintf("unknown personality, expected vfd_swmr_group_{reader,writer}\n");
TEST_ERROR;
}
@@ -4993,17 +4993,17 @@ main(int argc, char **argv)
* should be used as the second parameter of H5Pset_libver_bound().
* Also pass the use_vfd_swmr, only_meta_page, config to vfd_swmr_create_fapl().*/
if ((fapl = vfd_swmr_create_fapl(!s.old_style_grp, s.use_vfd_swmr, true, &config)) < 0) {
- printf("vfd_swmr_create_fapl failed\n");
+ HDprintf("vfd_swmr_create_fapl failed\n");
TEST_ERROR;
}
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) {
- printf("H5Pcreate failed\n");
+ HDprintf("H5Pcreate failed\n");
TEST_ERROR;
}
if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, false, 1) < 0) {
- printf("H5Pset_file_space_strategy failed\n");
+ HDprintf("H5Pset_file_space_strategy failed\n");
TEST_ERROR;
}
@@ -5013,7 +5013,7 @@ main(int argc, char **argv)
s.file = H5Fopen(s.filename, H5F_ACC_RDONLY, fapl);
if (s.file < 0) {
- printf("H5Fcreate/open failed\n");
+ HDprintf("H5Fcreate/open failed\n");
TEST_ERROR;
}
@@ -5024,24 +5024,24 @@ main(int argc, char **argv)
if (s.use_named_pipes && writer) {
/* Writer creates two named pipes(FIFO) */
if (HDmkfifo(fifo_writer_to_reader, 0600) < 0) {
- printf("HDmkfifo failed\n");
+ HDprintf("HDmkfifo failed\n");
TEST_ERROR;
}
if (HDmkfifo(fifo_reader_to_writer, 0600) < 0) {
- printf("HDmkfifo failed\n");
+ HDprintf("HDmkfifo failed\n");
TEST_ERROR;
}
}
/* Both the writer and reader open the pipes */
if (s.use_named_pipes && (fd_writer_to_reader = HDopen(fifo_writer_to_reader, O_RDWR)) < 0) {
- printf("HDopen failed\n");
+ HDprintf("HDopen failed\n");
TEST_ERROR;
}
if (s.use_named_pipes && (fd_reader_to_writer = HDopen(fifo_reader_to_writer, O_RDWR)) < 0) {
- printf("HDopen failed\n");
+ HDprintf("HDopen failed\n");
TEST_ERROR;
}
@@ -5078,7 +5078,7 @@ main(int argc, char **argv)
/* At communication interval, notifies the reader about the failure and quit */
if (s.use_named_pipes && s.attr_test != true && s.grp_op_test != true && step % s.csteps == 0)
np_send_error(&s, true);
- printf("write_group failed at step %d\n", step);
+ HDprintf("write_group failed at step %d\n", step);
TEST_ERROR;
}
else {
@@ -5088,7 +5088,7 @@ main(int argc, char **argv)
step % s.csteps == 0) {
if (np_wr_send_receive(&s) == false) {
- printf("writer: write group - verification failed.\n");
+ HDprintf("writer: write group - verification failed.\n");
TEST_ERROR;
}
}
@@ -5115,7 +5115,7 @@ main(int argc, char **argv)
if (vg_ret == false) {
- printf("verify_group_operations failed\n");
+ HDprintf("verify_group_operations failed\n");
/* At communication interval, tell the writer about the failure and exit */
if (s.use_named_pipes && s.attr_test != true && s.grp_op_test != true && step % s.csteps == 0)
@@ -5137,45 +5137,45 @@ main(int argc, char **argv)
}
if (H5Pclose(fapl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Pclose(fcpl) < 0) {
- printf("H5Pclose failed\n");
+ HDprintf("H5Pclose failed\n");
TEST_ERROR;
}
if (H5Sclose(s.one_by_one_sid) < 0) {
- printf("H5Sclose failed\n");
+ HDprintf("H5Sclose failed\n");
TEST_ERROR;
}
if (H5Fclose(s.file) < 0) {
- printf("H5Fclose failed\n");
+ HDprintf("H5Fclose failed\n");
TEST_ERROR;
}
/* Both the writer and reader close the named pipes */
if (s.use_named_pipes && HDclose(fd_writer_to_reader) < 0) {
- printf("HDclose failed\n");
+ HDprintf("HDclose failed\n");
TEST_ERROR;
}
if (s.use_named_pipes && HDclose(fd_reader_to_writer) < 0) {
- printf("HDclose failed\n");
+ HDprintf("HDclose failed\n");
TEST_ERROR;
}
/* Reader finishes last and deletes the named pipes */
if (s.use_named_pipes && !writer) {
if (HDremove(fifo_writer_to_reader) != 0) {
- printf("HDremove failed\n");
+ HDprintf("HDremove failed\n");
TEST_ERROR;
}
if (HDremove(fifo_reader_to_writer) != 0) {
- printf("HDremove failed\n");
+ HDprintf("HDremove failed\n");
TEST_ERROR;
}
}
diff --git a/test/vfd_swmr_reader.c b/test/vfd_swmr_reader.c
index ea923e1..bd29f54 100644
--- a/test/vfd_swmr_reader.c
+++ b/test/vfd_swmr_reader.c
@@ -100,19 +100,19 @@ check_dataset(hid_t fid, hbool_t verbose, FILE *verbose_file, const char *sym_na
/* Open dataset for symbol */
if ((dsid = H5Dopen2(fid, sym_name, H5P_DEFAULT)) < 0) {
- fprintf(stderr, "%s.%d: H5Dopen2 failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Dopen2 failed\n", __func__, __LINE__);
goto error;
}
/* Get the dataset's dataspace */
if ((file_sid = H5Dget_space(dsid)) < 0) {
- fprintf(stderr, "%s.%d: H5Dget_space failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Dget_space failed\n", __func__, __LINE__);
goto error;
}
/* Get the number of elements (= records, for 1-D datasets) */
if ((snpoints = H5Sget_simple_extent_npoints(file_sid)) < 0) {
- fprintf(stderr, "%s.%d: H5Sget_simple_extent_npoints failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Sget_simple_extent_npoints failed\n", __func__, __LINE__);
goto error;
}
@@ -126,14 +126,14 @@ check_dataset(hid_t fid, hbool_t verbose, FILE *verbose_file, const char *sym_na
/* Choose the last record in the dataset */
start[1] = (hsize_t)(snpoints - 1);
if (H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, NULL, count, NULL) < 0) {
- fprintf(stderr, "%s.%d: H5Sselect_hyperslab failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Sselect_hyperslab failed\n", __func__, __LINE__);
goto error;
}
/* Read record from dataset */
record->rec_id = UINT64_MAX;
if (H5Dread(dsid, symbol_tid, rec_sid, file_sid, H5P_DEFAULT, record) < 0) {
- fprintf(stderr, "%s.%d: H5Dread failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Dread failed\n", __func__, __LINE__);
goto error;
}
@@ -153,21 +153,21 @@ check_dataset(hid_t fid, hbool_t verbose, FILE *verbose_file, const char *sym_na
", # of records = %" PRIdHSIZE ", record->rec_id = %" PRIu64 "\n",
(intmax_t)tv.tv_sec, (intmax_t)tv.tv_usec, sym_name, snpoints, record->rec_id);
} /* end if */
- fprintf(stderr, "%s.%d: record value %" PRIu64 " != %" PRIuHSIZE "\n", __func__, __LINE__,
- record->rec_id, start[1]);
+ HDfprintf(stderr, "%s.%d: record value %" PRIu64 " != %" PRIuHSIZE "\n", __func__, __LINE__,
+ record->rec_id, start[1]);
goto error;
} /* end if */
} /* end if */
/* Close the dataset's dataspace */
if (H5Sclose(file_sid) < 0) {
- fprintf(stderr, "%s.%d: H5Sclose failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Sclose failed\n", __func__, __LINE__);
goto error;
}
/* Close dataset for symbol */
if (H5Dclose(dsid) < 0) {
- fprintf(stderr, "%s.%d: H5Dclose failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Dclose failed\n", __func__, __LINE__);
goto error;
}
@@ -257,7 +257,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
if (ncommon > 0) {
/* Allocate array to hold pointers to symbols for common datasets */
if (NULL == (sym_com = (symbol_info_t **)HDmalloc(sizeof(symbol_info_t *) * ncommon))) {
- fprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
goto error;
}
@@ -280,7 +280,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
if (nrandom > 0) {
/* Allocate array to hold pointers to symbols for random datasets */
if (NULL == (sym_rand = (symbol_info_t **)HDmalloc(sizeof(symbol_info_t *) * nrandom))) {
- fprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
goto error;
}
@@ -289,7 +289,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
symbol_info_t *sym; /* Symbol to use */
/* Determine the symbol, within all symbols */
- if (NULL == (sym = choose_dataset(NULL, NULL)))
+ if (NULL == (sym = choose_dataset(NULL, NULL, verbose)))
return -1;
sym_rand[v] = sym;
@@ -301,7 +301,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
/* Create a dataspace for the record to read */
if ((mem_sid = H5Screate(H5S_SCALAR)) < 0) {
- fprintf(stderr, "%s.%d: H5Screate failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Screate failed\n", __func__, __LINE__);
goto error;
}
@@ -315,7 +315,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
/* Allocate memory for the configuration structure */
if ((config = (H5F_vfd_swmr_config_t *)HDcalloc(1, sizeof(H5F_vfd_swmr_config_t))) == NULL) {
- fprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: malloc failed\n", __func__, __LINE__);
goto error;
}
@@ -324,7 +324,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
/* use_latest_format, use_vfd_swmr, only_meta_page, config */
if ((fapl = vfd_swmr_create_fapl(FALSE, TRUE, FALSE, config)) < 0) {
- fprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
goto error;
}
@@ -368,12 +368,12 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
const int fill_count =
check_dataset(fid, verbose, verbose_file, sym_com[v]->name, &record, mem_sid);
if (fill_count < 0) {
- fprintf(stderr, "%s.%d: check_dataset failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: check_dataset failed\n", __func__, __LINE__);
goto error;
}
HDmemset(&record, 0, sizeof(record));
if (fill_count > 0) {
- fprintf(stderr, "common dataset: read fill at %d records\n", fill_count);
+ HDfprintf(stderr, "common dataset: read fill at %d records\n", fill_count);
}
} /* end for */
} /* end if */
@@ -390,12 +390,12 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
const int fill_count =
check_dataset(fid, verbose, verbose_file, sym_rand[v]->name, &record, mem_sid);
if (fill_count < 0) {
- fprintf(stderr, "%s.%d: check_dataset failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: check_dataset failed\n", __func__, __LINE__);
goto error;
}
HDmemset(&record, 0, sizeof(record));
if (fill_count > 0) {
- fprintf(stderr, "random dataset: read fill at %d records\n", fill_count);
+ HDfprintf(stderr, "random dataset: read fill at %d records\n", fill_count);
}
} /* end for */
} /* end if */
@@ -406,7 +406,7 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
/* Close the file */
if (H5Fclose(fid) < 0) {
- fprintf(stderr, "%s.%d: H5Fclose failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Fclose failed\n", __func__, __LINE__);
goto error;
}
@@ -419,13 +419,13 @@ read_records(const char *filename, hbool_t verbose, FILE *verbose_file, unsigned
/* Close the memory dataspace */
if (H5Sclose(mem_sid) < 0) {
- fprintf(stderr, "%s.%d: H5Sclose failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Sclose failed\n", __func__, __LINE__);
goto error;
}
/* Close the fapl */
if (H5Pclose(fapl) < 0) {
- fprintf(stderr, "%s.%d: H5Pclose failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: H5Pclose failed\n", __func__, __LINE__);
goto error;
}
@@ -474,19 +474,19 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_reader [-q] [-s <# of seconds to sleep between polling>]\n");
- printf(" [-h <# of common symbols to poll>] [-l <# of random symbols to poll>]\n");
- printf(" [-r <random seed>] <# of seconds to test>\n");
- printf("\n");
- printf("<# of seconds to test> must be specified.\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), 1 second between polling ('-s 1'),\n");
- printf("5 common symbols to poll ('-h 5'), 10 random symbols to poll ('-l 10'),\n");
- printf("and will generate a random seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_reader [-q] [-s <# of seconds to sleep between polling>]\n");
+ HDprintf(" [-h <# of common symbols to poll>] [-l <# of random symbols to poll>]\n");
+ HDprintf(" [-r <random seed>] <# of seconds to test>\n");
+ HDprintf("\n");
+ HDprintf("<# of seconds to test> must be specified.\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), 1 second between polling ('-s 1'),\n");
+ HDprintf("5 common symbols to poll ('-h 5'), 10 random symbols to poll ('-l 10'),\n");
+ HDprintf("and will generate a random seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
}
diff --git a/test/vfd_swmr_remove_reader.c b/test/vfd_swmr_remove_reader.c
index 9f53612..a54404f 100644
--- a/test/vfd_swmr_remove_reader.c
+++ b/test/vfd_swmr_remove_reader.c
@@ -32,13 +32,11 @@
#ifndef H5_HAVE_WIN32_API
-#include <err.h>
-
/*******************/
/* Local Variables */
/*******************/
-static hid_t symbol_tid = -1;
+static hid_t symbol_tid = H5I_INVALID_HID;
/********************/
/* Local Prototypes */
@@ -80,8 +78,8 @@ static void usage(void);
static int
check_dataset(hid_t fid, hid_t dapl, unsigned verbose, const char *sym_name, symbol_t *record, hid_t rec_sid)
{
- hid_t dsid; /* Dataset ID */
- hid_t file_sid; /* Dataset's space ID */
+ hid_t dsid = H5I_INVALID_HID; /* Dataset ID */
+ hid_t file_sid = H5I_INVALID_HID; /* Dataset's space ID */
hssize_t snpoints; /* Number of elements in dataset */
hsize_t start[2] = {0, 0}, count[2] = {1, 1}; /* Hyperslab selection values */
@@ -217,13 +215,13 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns
time_t curr_time; /* Current time */
symbol_info_t ** sym_com = NULL; /* Pointers to array of common dataset IDs */
symbol_info_t ** sym_rand = NULL; /* Pointers to array of random dataset IDs */
- hid_t dapl;
- hid_t mem_sid; /* Memory dataspace ID */
- hid_t fid; /* SWMR test file ID */
- hid_t fapl; /* File access property list */
- symbol_t record; /* The record to add to the dataset */
- unsigned v; /* Local index variable */
- H5F_vfd_swmr_config_t *config = NULL; /* Configuration for VFD SWMR */
+ hid_t dapl = H5I_INVALID_HID;
+ hid_t mem_sid = H5I_INVALID_HID; /* Memory dataspace ID */
+ hid_t fid = H5I_INVALID_HID; /* SWMR test file ID */
+ hid_t fapl = H5I_INVALID_HID; /* File access property list */
+ symbol_t record; /* The record to add to the dataset */
+ unsigned v; /* Local index variable */
+ H5F_vfd_swmr_config_t *config = NULL; /* Configuration for VFD SWMR */
HDassert(filename);
HDassert(nseconds != 0);
@@ -233,11 +231,15 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns
/* (record's 'info' field might need to change for each record written, also) */
HDmemset(&record, 0, sizeof(record));
- if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0)
- errx(EXIT_FAILURE, "%s.%d: H5Pcreate failed", __func__, __LINE__);
+ if ((dapl = H5Pcreate(H5P_DATASET_ACCESS)) < 0) {
+ HDfprintf(stderr, "%s.%d: H5Pcreate failed", __func__, __LINE__);
+ goto error;
+ }
- if (H5Pset_chunk_cache(dapl, H5D_CHUNK_CACHE_NSLOTS_DEFAULT, 0, H5D_CHUNK_CACHE_W0_DEFAULT) < 0)
- errx(EXIT_FAILURE, "H5Pset_chunk_cache failed");
+ if (H5Pset_chunk_cache(dapl, H5D_CHUNK_CACHE_NSLOTS_DEFAULT, 0, H5D_CHUNK_CACHE_W0_DEFAULT) < 0) {
+ HDfprintf(stderr, "H5Pset_chunk_cache failed");
+ goto error;
+ }
/* Emit informational message */
if (verbose)
@@ -275,7 +277,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns
symbol_info_t *sym; /* Symbol to use */
/* Determine the symbol, within all symbols */
- if (NULL == (sym = choose_dataset(NULL, NULL)))
+ if (NULL == (sym = choose_dataset(NULL, NULL, verbose)))
goto error;
sym_rand[v] = sym;
@@ -306,7 +308,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nseconds, uns
/* use_latest_format, use_vfd_swmr, only_meta_page, config */
if ((fapl = vfd_swmr_create_fapl(FALSE, TRUE, FALSE, config)) < 0) {
- fprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
goto error;
}
@@ -429,17 +431,17 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_remove_reader [-q] [-s <# of seconds to sleep between\n");
- printf(" polling>] [-h <# of common symbols to poll>] [-l <# of random symbols\n");
- printf(" to poll>] [-r <random seed>] <# of seconds to test>\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), 1 second between polling ('-s 1'),\n");
- printf("5 common symbols to poll ('-h 5'), 10 random symbols to poll ('-l 10'),\n");
- printf("and will generate a random seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_remove_reader [-q] [-s <# of seconds to sleep between\n");
+ HDprintf(" polling>] [-h <# of common symbols to poll>] [-l <# of random symbols\n");
+ HDprintf(" to poll>] [-r <random seed>] <# of seconds to test>\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), 1 second between polling ('-s 1'),\n");
+ HDprintf("5 common symbols to poll ('-h 5'), 10 random symbols to poll ('-l 10'),\n");
+ HDprintf("and will generate a random seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
}
diff --git a/test/vfd_swmr_remove_writer.c b/test/vfd_swmr_remove_writer.c
index fdfcf3c..fb1fc69 100644
--- a/test/vfd_swmr_remove_writer.c
+++ b/test/vfd_swmr_remove_writer.c
@@ -185,7 +185,7 @@ remove_records(hid_t fid, unsigned verbose, unsigned long nshrinks, unsigned lon
hsize_t remove_size; /* Size to reduce dataset dimension by */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Shrink the dataset's dataspace */
remove_size = (hsize_t)HDrandom() % MAX_REMOVE_SIZE + 1;
@@ -237,18 +237,18 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: swmr_remove_writer [-q] [-o] [-f <# of shrinks between flushing\n");
- printf(" file contents>] [-r <random seed>] <# of shrinks>\n");
- printf("\n");
- printf("<# of shrinks between flushing file contents> should be 0 (for no\n");
- printf("flushing) or between 1 and (<# of shrinks> - 1)\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), latest format when opening file (no '-o' given),\n");
- printf("flushing every 1000 shrinks ('-f 1000'), and will generate a random seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: swmr_remove_writer [-q] [-o] [-f <# of shrinks between flushing\n");
+ HDprintf(" file contents>] [-r <random seed>] <# of shrinks>\n");
+ HDprintf("\n");
+ HDprintf("<# of shrinks between flushing file contents> should be 0 (for no\n");
+ HDprintf("flushing) or between 1 and (<# of shrinks> - 1)\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), latest format when opening file (no '-o' given),\n");
+ HDprintf("flushing every 1000 shrinks ('-f 1000'), and will generate a random seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
} /* usage() */
diff --git a/test/vfd_swmr_sparse_reader.c b/test/vfd_swmr_sparse_reader.c
index 20df44a..56cf2df 100644
--- a/test/vfd_swmr_sparse_reader.c
+++ b/test/vfd_swmr_sparse_reader.c
@@ -45,7 +45,7 @@
/* Local Variables */
/*******************/
-static hid_t symbol_tid = (-1);
+static hid_t symbol_tid = H5I_INVALID_HID;
/********************/
/* Local Prototypes */
@@ -116,7 +116,9 @@ check_dataset(hid_t fid, unsigned verbose, const symbol_info_t *symbol, symbol_t
/* Emit informational message */
if (verbose)
- HDfprintf(stderr, "READER: Symbol = '%s', nrecords = %Hu, name = %s, location = %Hu, %Hu\n",
+ HDfprintf(stderr,
+ "READER: Symbol = '%s', nrecords = %" PRIuHSIZE ", name = %s, location = %" PRIuHSIZE
+ ", %" PRIuHSIZE "\n",
symbol->name, symbol->nrecords, symbol->name, start[0], start[1]);
/* Read record from dataset */
@@ -128,8 +130,9 @@ check_dataset(hid_t fid, unsigned verbose, const symbol_info_t *symbol, symbol_t
if (record->rec_id != start[1]) {
HDfprintf(stderr, "*** READER: ERROR ***\n");
HDfprintf(stderr, "Incorrect record value!\n");
- HDfprintf(stderr, "Symbol = '%s', location = %Hu, %Hu, record->rec_id = %" PRIu64 "\n", symbol->name,
- start[0], start[1], record->rec_id);
+ HDfprintf(stderr,
+ "Symbol = '%s', location = %" PRIuHSIZE ", %" PRIuHSIZE ", record->rec_id = %" PRIu64 "\n",
+ symbol->name, start[0], start[1], record->rec_id);
goto error;
} /* end if */
@@ -209,7 +212,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns
/* use_latest_format, use_vfd_swmr, only_meta_page, config */
if ((fapl = vfd_swmr_create_fapl(FALSE, TRUE, FALSE, config)) < 0) {
- fprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
+ HDfprintf(stderr, "%s.%d: vfd_swmr_create_fapl failed\n", __func__, __LINE__);
goto error;
}
@@ -263,7 +266,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns
unsigned long file_u; /* Attribute sequence number (writer's "u") */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(&level, &offset);
+ symbol = choose_dataset(&level, &offset, verbose);
/* Fill in "nrecords" field. Note that this depends on the writer
* using the same algorithm and "nrecords" */
@@ -271,7 +274,7 @@ read_records(const char *filename, unsigned verbose, unsigned long nrecords, uns
/* Get the starting time */
if ((start_time = HDtime(NULL)) == (time_t)-1) {
- fprintf(stderr, "READER: could not read time.\n");
+ HDfprintf(stderr, "READER: could not read time.\n");
goto error;
}
@@ -404,18 +407,18 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_sparse_reader [-q] [-s <# of seconds to wait for writer>]\n");
- printf(" [-n <# of reads between reopens>] <# of records>\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), 1 second wait ('-s 1') and 1 read\n");
- printf("between reopens ('-r 1')\n");
- printf("\n");
- printf("Note that the # of records *must* be the same as that supplied to\n");
- printf("vfd_swmr_sparse_writer\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_sparse_reader [-q] [-s <# of seconds to wait for writer>]\n");
+ HDprintf(" [-n <# of reads between reopens>] <# of records>\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), 1 second wait ('-s 1') and 1 read\n");
+ HDprintf("between reopens ('-r 1')\n");
+ HDprintf("\n");
+ HDprintf("Note that the # of records *must* be the same as that supplied to\n");
+ HDprintf("vfd_swmr_sparse_writer\n");
+ HDprintf("\n");
HDexit(1);
} /* end usage() */
diff --git a/test/vfd_swmr_sparse_writer.c b/test/vfd_swmr_sparse_writer.c
index a9c5f28..c1e15d8 100644
--- a/test/vfd_swmr_sparse_writer.c
+++ b/test/vfd_swmr_sparse_writer.c
@@ -106,7 +106,7 @@ open_skeleton(const char *filename, unsigned verbose)
/* Emit informational message */
if (verbose)
- fprintf(stderr, "WRITER: Opening datasets\n");
+ HDfprintf(stderr, "WRITER: Opening datasets\n");
/* Seed the random number generator with the attribute in the file */
if ((aid = H5Aopen(fid, "seed", H5P_DEFAULT)) < 0)
@@ -206,7 +206,7 @@ add_records(hid_t fid, unsigned verbose, unsigned long nrecords, unsigned long f
symbol_info_t *symbol; /* Symbol to write record to */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* If this is the first time the dataset has been opened, extend it and
* add the sequence attribute */
@@ -299,7 +299,7 @@ add_records(hid_t fid, unsigned verbose, unsigned long nrecords, unsigned long f
/* Emit informational message */
if (verbose)
- fprintf(stderr, "WRITER: Closing datasets\n");
+ HDfprintf(stderr, "WRITER: Closing datasets\n");
/* Close the datasets */
for (u = 0; u < NLEVELS; u++)
@@ -329,18 +329,18 @@ error:
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_sparse_writer [-q] [-f <# of records to write between\n");
- printf(" flushing file contents>] <# of records>\n");
- printf("\n");
- printf("<# of records to write between flushing file contents> should be 0\n");
- printf("(for no flushing) or between 1 and (<# of records> - 1)\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given) and flushing every 1000 records\n");
- printf("('-f 1000')\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_sparse_writer [-q] [-f <# of records to write between\n");
+ HDprintf(" flushing file contents>] <# of records>\n");
+ HDprintf("\n");
+ HDprintf("<# of records to write between flushing file contents> should be 0\n");
+ HDprintf("(for no flushing) or between 1 and (<# of records> - 1)\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given) and flushing every 1000 records\n");
+ HDprintf("('-f 1000')\n");
+ HDprintf("\n");
HDexit(1);
} /* usage() */
diff --git a/test/vfd_swmr_vlstr_reader.c b/test/vfd_swmr_vlstr_reader.c
index 226c0a8..e65b146 100644
--- a/test/vfd_swmr_vlstr_reader.c
+++ b/test/vfd_swmr_vlstr_reader.c
@@ -17,9 +17,6 @@
#include "H5Cpkg.h"
#include "H5Fpkg.h"
-// #include "H5Iprivate.h"
-#include "H5HGprivate.h"
-#include "H5VLprivate.h"
#include "testhdf5.h"
#include "vfd_swmr_common.h"
@@ -54,22 +51,12 @@ read_vl_dset(hid_t dset, hid_t type, char **data)
static void
usage(const char *progname)
{
- fprintf(stderr, "usage: %s [-W] [-V] [-t (oob|null)] \n", progname);
- fprintf(stderr, "\n -S: do not use VFD SWMR\n");
- fprintf(stderr, " -n: number of test steps to perform\n");
- fprintf(stderr, " -q: be quiet: few/no progress messages\n");
- fprintf(stderr, " -t (oob|null): select out-of-bounds or NULL test\n");
- exit(EXIT_FAILURE);
-}
-
-bool
-H5HG_trap(const char *reason)
-{
- if (strcmp(reason, "out of bounds") == 0) {
- caught_out_of_bounds = true;
- return true;
- }
- return false;
+ HDfprintf(stderr, "usage: %s [-W] [-V] [-t (oob|null)] \n", progname);
+ HDfprintf(stderr, "\n -S: do not use VFD SWMR\n");
+ HDfprintf(stderr, " -n: number of test steps to perform\n");
+ HDfprintf(stderr, " -q: be quiet: few/no progress messages\n");
+ HDfprintf(stderr, " -t (oob|null): select out-of-bounds or NULL test\n");
+ HDexit(EXIT_FAILURE);
}
int
@@ -88,7 +75,7 @@ main(int argc, char **argv)
testsel_t sel = TEST_NONE;
H5F_vfd_swmr_config_t config;
- assert(H5T_C_S1 != badhid);
+ HDassert(H5T_C_S1 != badhid);
while ((ch = getopt(argc, argv, "Sn:qt:")) != -1) {
switch (ch) {
@@ -97,7 +84,7 @@ main(int argc, char **argv)
break;
case 'n':
errno = 0;
- tmp = strtoul(optarg, &end, 0);
+ tmp = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0')
errx(EXIT_FAILURE, "couldn't parse `-n` argument `%s`", optarg);
else if (errno != 0)
@@ -110,9 +97,9 @@ main(int argc, char **argv)
verbosity = 1;
break;
case 't':
- if (strcmp(optarg, "oob") == 0)
+ if (HDstrcmp(optarg, "oob") == 0)
sel = TEST_OOB;
- else if (strcmp(optarg, "null") == 0)
+ else if (HDstrcmp(optarg, "null") == 0)
sel = TEST_NULL;
else
usage(argv[0]);
@@ -169,7 +156,7 @@ main(int argc, char **argv)
} scanned_content;
dbgf(2, "iteration %d which %d", i, which);
- (void)snprintf(name[which], sizeof(name[which]), "dset-%d", which);
+ (void)HDsnprintf(name[which], sizeof(name[which]), "dset-%d", which);
es = disable_estack();
dset[which] = H5Dopen2(fid, name[which], H5P_DEFAULT);
restore_estack(es);
@@ -182,8 +169,8 @@ main(int argc, char **argv)
dbgf(2, ": couldn't read\n");
continue;
}
- nconverted = sscanf(content[which], "content %d seq %d %96s", &scanned_content.which,
- &scanned_content.seq, scanned_content.tail);
+ nconverted = HDsscanf(content[which], "content %d seq %d %96s", &scanned_content.which,
+ &scanned_content.seq, scanned_content.tail);
if (nconverted != 3) {
dbgf(2, ": couldn't scan\n");
continue;
@@ -194,10 +181,10 @@ main(int argc, char **argv)
}
if (caught_out_of_bounds)
- fprintf(stderr, "caught out of bounds\n");
+ HDfprintf(stderr, "caught out of bounds\n");
if (read_null)
- fprintf(stderr, "read NULL\n");
+ HDfprintf(stderr, "read NULL\n");
if (H5Pclose(fapl) < 0)
errx(EXIT_FAILURE, "H5Pclose(fapl)");
diff --git a/test/vfd_swmr_vlstr_writer.c b/test/vfd_swmr_vlstr_writer.c
index 5da9c88..f0b1ea7 100644
--- a/test/vfd_swmr_vlstr_writer.c
+++ b/test/vfd_swmr_vlstr_writer.c
@@ -17,8 +17,6 @@
#include "H5Cpkg.h"
#include "H5Fpkg.h"
-// #include "H5Iprivate.h"
-#include "H5HGprivate.h"
#include "H5VLprivate.h"
#include "testhdf5.h"
@@ -108,25 +106,15 @@ print_cache_hits(H5C_t H5_ATTR_UNUSED *cache)
static void
usage(const char *progname)
{
- fprintf(stderr, "usage: %s [-W] [-V]\n", progname);
- fprintf(stderr, "\n -W: do not wait for SIGINT or SIGUSR1\n");
- fprintf(stderr, "\n -S: do not use VFD SWMR\n");
- fprintf(stderr, " -f: use fixed-length string\n");
- fprintf(stderr, " (default: variable-length string)\n");
- fprintf(stderr, " -n: number of test steps to perform\n");
- fprintf(stderr, " -q: be quiet: few/no progress messages\n");
- fprintf(stderr, " -t (oob|null): select out-of-bounds or NULL test\n");
- exit(EXIT_FAILURE);
-}
-
-bool
-H5HG_trap(const char *reason)
-{
- if (strcmp(reason, "out of bounds") == 0) {
- caught_out_of_bounds = true;
- return false;
- }
- return true;
+ HDfprintf(stderr, "usage: %s [-W] [-V]\n", progname);
+ HDfprintf(stderr, "\n -W: do not wait for SIGINT or SIGUSR1\n");
+ HDfprintf(stderr, "\n -S: do not use VFD SWMR\n");
+ HDfprintf(stderr, " -f: use fixed-length string\n");
+ HDfprintf(stderr, " (default: variable-length string)\n");
+ HDfprintf(stderr, " -n: number of test steps to perform\n");
+ HDfprintf(stderr, " -q: be quiet: few/no progress messages\n");
+ HDfprintf(stderr, " -t (oob|null): select out-of-bounds or NULL test\n");
+ HDexit(EXIT_FAILURE);
}
int
@@ -150,7 +138,7 @@ main(int argc, char **argv)
testsel_t sel = TEST_NONE;
H5F_vfd_swmr_config_t config;
- assert(H5T_C_S1 != badhid);
+ HDassert(H5T_C_S1 != badhid);
while ((ch = getopt(argc, argv, "SWfn:qt:")) != -1) {
switch (ch) {
@@ -165,7 +153,7 @@ main(int argc, char **argv)
break;
case 'n':
errno = 0;
- tmp = strtoul(optarg, &end, 0);
+ tmp = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0')
errx(EXIT_FAILURE, "couldn't parse `-n` argument `%s`", optarg);
else if (errno != 0)
@@ -178,9 +166,9 @@ main(int argc, char **argv)
verbosity = 1;
break;
case 't':
- if (strcmp(optarg, "oob") == 0)
+ if (HDstrcmp(optarg, "oob") == 0)
sel = TEST_OOB;
- else if (strcmp(optarg, "null") == 0)
+ else if (HDstrcmp(optarg, "null") == 0)
sel = TEST_NULL;
else
usage(argv[0]);
@@ -258,19 +246,20 @@ main(int argc, char **argv)
dbgf(2, "iteration %d which %d step %d seq %d\n", i, which, step, seq);
switch (step) {
case CREATE:
- (void)snprintf(name[which], sizeof(name[which]), "dset-%d", which);
- (void)snprintf(content[which], sizeof(content[which]), "content %d seq %d short", which, seq);
+ (void)HDsnprintf(name[which], sizeof(name[which]), "dset-%d", which);
+ (void)HDsnprintf(content[which], sizeof(content[which]), "content %d seq %d short", which,
+ seq);
dset[which] = create_vl_dset(fid, type, space, name[which]);
write_vl_dset(dset[which], type, space, content[which]);
break;
case LENGTHEN:
- (void)snprintf(content[which], sizeof(content[which]),
- "content %d seq %d long long long long long long long long", which, seq);
+ (void)HDsnprintf(content[which], sizeof(content[which]),
+ "content %d seq %d long long long long long long long long", which, seq);
write_vl_dset(dset[which], type, space, content[which]);
break;
case SHORTEN:
- (void)snprintf(content[which], sizeof(content[which]),
- "content %d seq %d medium medium medium", which, seq);
+ (void)HDsnprintf(content[which], sizeof(content[which]),
+ "content %d seq %d medium medium medium", which, seq);
write_vl_dset(dset[which], type, space, content[which]);
break;
case DELETE:
@@ -284,7 +273,7 @@ main(int argc, char **argv)
errx(EXIT_FAILURE, "%s: unknown step %d", __func__, step);
}
if (caught_out_of_bounds) {
- fprintf(stderr, "caught out of bounds\n");
+ HDfprintf(stderr, "caught out of bounds\n");
break;
}
nanosleep(&delay, NULL);
diff --git a/test/vfd_swmr_writer.c b/test/vfd_swmr_writer.c
index 4ebf092..0036bfc 100644
--- a/test/vfd_swmr_writer.c
+++ b/test/vfd_swmr_writer.c
@@ -187,7 +187,7 @@ add_records(hid_t fid, hbool_t verbose, FILE *verbose_file, unsigned long nrecor
hid_t file_sid; /* Dataset's space ID */
/* Get a random dataset, according to the symbol distribution */
- symbol = choose_dataset(NULL, NULL);
+ symbol = choose_dataset(NULL, NULL, verbose);
/* Set the record's ID (equal to its position) */
record.rec_id = symbol->nrecords;
@@ -254,20 +254,20 @@ add_records(hid_t fid, hbool_t verbose, FILE *verbose_file, unsigned long nrecor
static void
usage(void)
{
- printf("\n");
- printf("Usage error!\n");
- printf("\n");
- printf("Usage: vfd_swmr_writer [-q] [-o] [-f <# of records to write between flushing\n");
- printf(" file contents>] [-r <random seed>] <# of records>\n");
- printf("\n");
- printf("<# of records to write between flushing file contents> should be 0\n");
- printf("(for no flushing) or between 1 and (<# of records> - 1).\n");
- printf("\n");
- printf("<# of records> must be specified.\n");
- printf("\n");
- printf("Defaults to verbose (no '-q' given), latest format when opening file (no '-o' given),\n");
- printf("flushing every 10000 records ('-f 10000'), and will generate a random seed (no -r given).\n");
- printf("\n");
+ HDprintf("\n");
+ HDprintf("Usage error!\n");
+ HDprintf("\n");
+ HDprintf("Usage: vfd_swmr_writer [-q] [-o] [-f <# of records to write between flushing\n");
+ HDprintf(" file contents>] [-r <random seed>] <# of records>\n");
+ HDprintf("\n");
+ HDprintf("<# of records to write between flushing file contents> should be 0\n");
+ HDprintf("(for no flushing) or between 1 and (<# of records> - 1).\n");
+ HDprintf("\n");
+ HDprintf("<# of records> must be specified.\n");
+ HDprintf("\n");
+ HDprintf("Defaults to verbose (no '-q' given), latest format when opening file (no '-o' given),\n");
+ HDprintf("flushing every 10000 records ('-f 10000'), and will generate a random seed (no -r given).\n");
+ HDprintf("\n");
HDexit(1);
}
diff --git a/test/vfd_swmr_zoo_writer.c b/test/vfd_swmr_zoo_writer.c
index 0cdb669..1cfaec5 100644
--- a/test/vfd_swmr_zoo_writer.c
+++ b/test/vfd_swmr_zoo_writer.c
@@ -10,8 +10,6 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-#include <err.h>
-
#define H5C_FRIEND /* suppress error about including H5Cpkg */
#define H5F_FRIEND /* suppress error about including H5Fpkg */
@@ -81,18 +79,18 @@ zoo_create_hook(hid_t H5_ATTR_UNUSED fid)
static void
usage(const char *progname)
{
- fprintf(stderr, "usage: %s [-C] [-S] [-a] [-e] [-p] [-q] [-v]\n", progname);
- fprintf(stderr, "\n -C: skip compact dataset tests\n");
- fprintf(stderr, " -S: do not use VFD SWMR\n");
- fprintf(stderr, " -a: run all tests, including variable-length data\n");
- fprintf(stderr, " -e: print error stacks\n");
- fprintf(stderr, " -l tick_num: expected maximal number of ticks from \n");
- fprintf(stderr,
- " the writer's finishing zoo creation or deletion to the reader's finishing validation\n");
- fprintf(stderr, " -N: do not use named pipes\n");
- fprintf(stderr, " -q: be quiet: few/no progress messages\n");
- fprintf(stderr, " -v: be verbose: most progress messages\n");
- exit(EXIT_FAILURE);
+ HDfprintf(stderr, "usage: %s [-C] [-S] [-a] [-e] [-p] [-q] [-v]\n", progname);
+ HDfprintf(stderr, "\n -C: skip compact dataset tests\n");
+ HDfprintf(stderr, " -S: do not use VFD SWMR\n");
+ HDfprintf(stderr, " -a: run all tests, including variable-length data\n");
+ HDfprintf(stderr, " -e: print error stacks\n");
+ HDfprintf(stderr, " -l tick_num: expected maximal number of ticks from \n");
+ HDfprintf(stderr,
+ " the writer's finishing zoo creation or deletion to the reader's finishing validation\n");
+ HDfprintf(stderr, " -N: do not use named pipes\n");
+ HDfprintf(stderr, " -q: be quiet: few/no progress messages\n");
+ HDfprintf(stderr, " -v: be verbose: most progress messages\n");
+ HDexit(EXIT_FAILURE);
}
/* Private function to help parsing command-line options */
@@ -124,15 +122,15 @@ parse_command_line_options(int argc, char **argv)
tmpl = HDstrtoul(optarg, &end, 0);
if (end == optarg || *end != '\0') {
- printf("couldn't parse `-l` argument `%s`", optarg);
+ HDprintf("couldn't parse `-l` argument `%s`", optarg);
goto error;
}
else if (errno != 0) {
- printf("couldn't parse `-l` argument `%s`", optarg);
+ HDprintf("couldn't parse `-l` argument `%s`", optarg);
goto error;
}
else if (tmpl > UINT_MAX) {
- printf("`-l` argument `%lu` too large", tmpl);
+ HDprintf("`-l` argument `%lu` too large", tmpl);
goto error;
}
@@ -167,7 +165,7 @@ parse_command_line_options(int argc, char **argv)
if (argc > 0) {
H5_FAILED();
AT();
- printf("unexpected command-line arguments");
+ HDprintf("unexpected command-line arguments");
goto error;
}
@@ -187,14 +185,14 @@ create_open_named_pipes(void)
if (HDmkfifo(fifo_writer_to_reader, 0600) < 0) {
H5_FAILED();
AT();
- printf("HDmkfifo failed");
+ HDprintf("HDmkfifo failed");
goto error;
}
if (HDmkfifo(fifo_reader_to_writer, 0600) < 0) {
H5_FAILED();
AT();
- printf("HDmkfifo failed");
+ HDprintf("HDmkfifo failed");
goto error;
}
}
@@ -203,14 +201,14 @@ create_open_named_pipes(void)
if ((fd_writer_to_reader = HDopen(fifo_writer_to_reader, O_RDWR)) < 0) {
H5_FAILED();
AT();
- printf("fifo_writer_to_reader open failed");
+ HDprintf("fifo_writer_to_reader open failed");
goto error;
}
if ((fd_reader_to_writer = HDopen(fifo_reader_to_writer, O_RDWR)) < 0) {
H5_FAILED();
AT();
- printf("fifo_reader_to_writer open failed");
+ HDprintf("fifo_reader_to_writer open failed");
goto error;
}
@@ -233,7 +231,7 @@ notify_and_wait_for_reader(hid_t fid, int verify)
if (HDclock_gettime(CLOCK_MONOTONIC, &last) < 0) {
H5_FAILED();
AT();
- printf("HDclock_gettime failed");
+ HDprintf("HDclock_gettime failed");
goto error;
}
@@ -241,7 +239,7 @@ notify_and_wait_for_reader(hid_t fid, int verify)
if (HDwrite(fd_writer_to_reader, &last, sizeof(last)) < 0) {
H5_FAILED();
AT();
- printf("HDwrite failed");
+ HDprintf("HDwrite failed");
goto error;
}
@@ -261,14 +259,14 @@ notify_and_wait_for_reader(hid_t fid, int verify)
if (HDread(fd_reader_to_writer, &notify, sizeof(int)) < 0) {
H5_FAILED();
AT();
- printf("HDread failed");
+ HDprintf("HDread failed");
goto error;
}
if (notify != verify) {
H5_FAILED();
AT();
- printf("expected %d but read %d", verify, notify);
+ HDprintf("expected %d but read %d", verify, notify);
goto error;
}
@@ -288,7 +286,7 @@ notify_reader(void)
if (HDclock_gettime(CLOCK_MONOTONIC, &last) < 0) {
H5_FAILED();
AT();
- printf("HDclock_gettime failed");
+ HDprintf("HDclock_gettime failed");
goto error;
}
@@ -296,7 +294,7 @@ notify_reader(void)
if (HDwrite(fd_writer_to_reader, &last, sizeof(last)) < 0) {
H5_FAILED();
AT();
- printf("HDwrite failed");
+ HDprintf("HDwrite failed");
goto error;
}
@@ -315,14 +313,14 @@ reader_verify(int verify)
if (HDread(fd_writer_to_reader, &notify, sizeof(int)) < 0) {
H5_FAILED();
AT();
- printf("HDread failed");
+ HDprintf("HDread failed");
goto error;
}
if (notify != verify) {
H5_FAILED();
AT();
- printf("expected %d but read %d", verify, notify);
+ HDprintf("expected %d but read %d", verify, notify);
goto error;
}
@@ -345,7 +343,7 @@ reader_check_time_and_notify_writer(int notify)
if (HDread(fd_writer_to_reader, &last, sizeof(last)) < 0) {
H5_FAILED();
AT();
- printf("HDread failed");
+ HDprintf("HDread failed");
goto error;
}
@@ -354,14 +352,14 @@ reader_check_time_and_notify_writer(int notify)
* the validation of zoo creation */
if (below_speed_limit(&last, &ival)) {
AT();
- warnx("validate_zoo took too long to finish");
+ HDfprintf(stderr, "validate_zoo took too long to finish");
}
/* Notify the writer that zoo validation is finished */
if (HDwrite(fd_reader_to_writer, &notify, sizeof(int)) < 0) {
H5_FAILED();
AT();
- printf("HDwrite failed");
+ HDprintf("HDwrite failed");
goto error;
}
@@ -383,13 +381,13 @@ reader_check_time_after_verify_deletion(void)
if (HDread(fd_writer_to_reader, &last, sizeof(last)) < 0) {
H5_FAILED();
AT();
- printf("HDread failed");
+ HDprintf("HDread failed");
goto error;
}
if (below_speed_limit(&last, &ival)) {
AT();
- warnx("validate_deleted_zoo took too long to finish");
+ HDfprintf(stderr, "validate_deleted_zoo took too long to finish");
}
return 0;
@@ -406,14 +404,14 @@ close_named_pipes(void)
if (HDclose(fd_writer_to_reader) < 0) {
H5_FAILED();
AT();
- printf("HDclose failed\n");
+ HDprintf("HDclose failed\n");
goto error;
}
if (HDclose(fd_reader_to_writer) < 0) {
H5_FAILED();
AT();
- printf("HDclose failed\n");
+ HDprintf("HDclose failed\n");
goto error;
}
@@ -422,14 +420,14 @@ close_named_pipes(void)
if (HDremove(fifo_writer_to_reader) != 0) {
H5_FAILED();
AT();
- printf("HDremove failed\n");
+ HDprintf("HDremove failed\n");
goto error;
}
if (HDremove(fifo_reader_to_writer) != 0) {
H5_FAILED();
AT();
- printf("HDremove failed\n");
+ HDprintf("HDremove failed\n");
goto error;
}
}
@@ -456,20 +454,20 @@ main(int argc, char **argv)
if (H5_basename(argv[0], &progname) < 0) {
H5_FAILED();
AT();
- printf("H5_basename failed\n");
+ HDprintf("H5_basename failed\n");
goto error;
}
personality = HDstrstr(progname, "vfd_swmr_zoo_");
- if (personality != NULL && strcmp(personality, "vfd_swmr_zoo_writer") == 0)
+ if (personality != NULL && HDstrcmp(personality, "vfd_swmr_zoo_writer") == 0)
writer = true;
- else if (personality != NULL && strcmp(personality, "vfd_swmr_zoo_reader") == 0)
+ else if (personality != NULL && HDstrcmp(personality, "vfd_swmr_zoo_reader") == 0)
writer = false;
else {
H5_FAILED();
AT();
- printf("unknown personality, expected vfd_swmr_zoo_{reader,writer}");
+ HDprintf("unknown personality, expected vfd_swmr_zoo_{reader,writer}");
goto error;
}
@@ -483,35 +481,35 @@ main(int argc, char **argv)
if ((fapl = vfd_swmr_create_fapl(true, use_vfd_swmr, true, &vfd_swmr_config)) < 0) {
H5_FAILED();
AT();
- printf("vfd_swmr_create_fapl");
+ HDprintf("vfd_swmr_create_fapl");
goto error;
}
if (use_vfd_swmr && H5Pget_vfd_swmr_config(fapl, &swmr_config) < 0) {
H5_FAILED();
AT();
- printf("H5Pget_vfd_swmr_config failed");
+ HDprintf("H5Pget_vfd_swmr_config failed");
goto error;
}
if (H5Pset_libver_bounds(fapl, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST) < 0) {
H5_FAILED();
AT();
- printf("H5Pset_libver_bounds failed");
+ HDprintf("H5Pset_libver_bounds failed");
goto error;
}
if ((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0) {
H5_FAILED();
AT();
- printf("H5Pcreate failed");
+ HDprintf("H5Pcreate failed");
goto error;
}
if (H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, false, 1) < 0) {
H5_FAILED();
AT();
- printf("H5Pset_file_space_strategy failed");
+ HDprintf("H5Pset_file_space_strategy failed");
goto error;
}
@@ -523,14 +521,14 @@ main(int argc, char **argv)
if (fid < 0) {
H5_FAILED();
AT();
- printf(writer ? "H5Fcreate failed" : "H5Fopen failed");
+ HDprintf(writer ? "H5Fcreate failed" : "H5Fopen failed");
goto error;
}
if ((f = H5VL_object_verify(fid, H5I_FILE)) == NULL) {
H5_FAILED();
AT();
- printf("H5VL_object_verify failed");
+ HDprintf("H5VL_object_verify failed");
goto error;
}
@@ -541,7 +539,7 @@ main(int argc, char **argv)
if (use_named_pipe && create_open_named_pipes() < 0) {
H5_FAILED();
AT();
- printf("create_open_named_pipes failed");
+ HDprintf("create_open_named_pipes failed");
goto error;
}
@@ -556,7 +554,7 @@ main(int argc, char **argv)
if (use_named_pipe && HDwrite(fd_writer_to_reader, &notify, sizeof(int)) < 0) {
H5_FAILED();
AT();
- printf("HDwrite failed");
+ HDprintf("HDwrite failed");
goto error;
}
@@ -564,7 +562,7 @@ main(int argc, char **argv)
if (!create_zoo(fid, ".", &lastmsgtime, config)) {
H5_FAILED();
AT();
- printf("create_zoo failed");
+ HDprintf("create_zoo failed");
goto error;
}
@@ -574,7 +572,7 @@ main(int argc, char **argv)
if (use_named_pipe && notify_and_wait_for_reader(fid, verify) < 0) {
H5_FAILED();
AT();
- printf("notify_and_wait_for_reader failed");
+ HDprintf("notify_and_wait_for_reader failed");
goto error;
}
@@ -582,7 +580,7 @@ main(int argc, char **argv)
if (!delete_zoo(fid, ".", &lastmsgtime, config)) {
H5_FAILED();
AT();
- printf("delete_zoo failed");
+ HDprintf("delete_zoo failed");
goto error;
}
@@ -590,7 +588,7 @@ main(int argc, char **argv)
if (use_named_pipe && notify_reader() < 0) {
H5_FAILED();
AT();
- printf("notify_reader failed");
+ HDprintf("notify_reader failed");
goto error;
}
}
@@ -602,7 +600,7 @@ main(int argc, char **argv)
if (use_named_pipe && reader_verify(verify) < 0) {
H5_FAILED();
AT();
- printf("reader_verify failed");
+ HDprintf("reader_verify failed");
goto error;
}
@@ -618,7 +616,7 @@ main(int argc, char **argv)
if (use_named_pipe && reader_check_time_and_notify_writer(notify) < 0) {
H5_FAILED();
AT();
- printf("reader_check_time_and_notify_writer failed");
+ HDprintf("reader_check_time_and_notify_writer failed");
goto error;
}
@@ -633,7 +631,7 @@ main(int argc, char **argv)
if (use_named_pipe && reader_check_time_after_verify_deletion() < 0) {
H5_FAILED();
AT();
- printf("reader_check_time_and_notify_writer failed");
+ HDprintf("reader_check_time_and_notify_writer failed");
goto error;
}
}
@@ -642,21 +640,21 @@ main(int argc, char **argv)
if (H5Pclose(fapl) < 0) {
H5_FAILED();
AT();
- printf("H5Pclose failed");
+ HDprintf("H5Pclose failed");
goto error;
}
if (H5Pclose(fcpl) < 0) {
H5_FAILED();
AT();
- printf("H5Pclose failed");
+ HDprintf("H5Pclose failed");
goto error;
}
if (H5Fclose(fid) < 0) {
H5_FAILED();
AT();
- printf("H5Fclose failed");
+ HDprintf("H5Fclose failed");
goto error;
}
@@ -666,7 +664,7 @@ main(int argc, char **argv)
if (use_named_pipe && close_named_pipes() < 0) {
H5_FAILED();
AT();
- printf("close_named_pipes failed");
+ HDprintf("close_named_pipes failed");
goto error;
}