summaryrefslogtreecommitdiffstats
path: root/test/btree2.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/btree2.c')
-rw-r--r--test/btree2.c46
1 files changed, 42 insertions, 4 deletions
diff --git a/test/btree2.c b/test/btree2.c
index 54a5da7..b9f28f9 100644
--- a/test/btree2.c
+++ b/test/btree2.c
@@ -2322,15 +2322,53 @@ test_remove_level1_noredistrib(hid_t fapl)
/* Make certain that the # of records is correct */
if(nrec != ((INSERT_SPLIT_ROOT_NREC*2)-1)) TEST_ERROR;
- /* Query the address of the root node in the B-tree */
- if (H5B2_get_root_addr(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &root_addr)<0) {
+ PASSED();
+
+ /* Attempt to remove a record from left leaf of a level-1 B-tree with noredistribution */
+ TESTING("B-tree remove: record from left leaf of level-1 B-tree");
+ record = 0;
+ if(H5B2_remove(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
H5_FAILED();
H5Eprint_stack(H5E_DEFAULT, stdout);
goto error;
} /* end if */
- /* Make certain that the root node has not been freed */
- if(!H5F_addr_defined(root_addr)) TEST_ERROR;
+ /* Make certain that the record value is correct */
+ if(record != 0) TEST_ERROR;
+
+ /* Query the number of records in the B-tree */
+ if (H5B2_get_nrec(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &nrec)<0) {
+ H5_FAILED();
+ H5Eprint_stack(H5E_DEFAULT, stdout);
+ goto error;
+ } /* end if */
+
+ /* Make certain that the # of records is correct */
+ if(nrec != ((INSERT_SPLIT_ROOT_NREC*2)-2)) TEST_ERROR;
+
+ PASSED();
+
+ /* Attempt to remove a record from middle leaf of a level-1 B-tree with noredistribution */
+ TESTING("B-tree remove: record from middle leaf of level-1 B-tree");
+ record = INSERT_SPLIT_ROOT_NREC;
+ if(H5B2_remove(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &record)<0) {
+ H5_FAILED();
+ H5Eprint_stack(H5E_DEFAULT, stdout);
+ goto error;
+ } /* end if */
+
+ /* Make certain that the record value is correct */
+ if(record != INSERT_SPLIT_ROOT_NREC) TEST_ERROR;
+
+ /* Query the number of records in the B-tree */
+ if (H5B2_get_nrec(f, H5P_DATASET_XFER_DEFAULT, H5B2_TEST, bt2_addr, &nrec)<0) {
+ H5_FAILED();
+ H5Eprint_stack(H5E_DEFAULT, stdout);
+ goto error;
+ } /* end if */
+
+ /* Make certain that the # of records is correct */
+ if(nrec != ((INSERT_SPLIT_ROOT_NREC*2)-3)) TEST_ERROR;
PASSED();