diff options
Diffstat (limited to 'test/tohdr.c')
-rw-r--r-- | test/tohdr.c | 81 |
1 files changed, 43 insertions, 38 deletions
diff --git a/test/tohdr.c b/test/tohdr.c index c8da399..2ea0896 100644 --- a/test/tohdr.c +++ b/test/tohdr.c @@ -49,7 +49,7 @@ test_ohdr (void) { hid_t fid; H5F_t *f; - haddr_t oh; + haddr_t oh_addr; H5O_stab_t stab, ro; herr_t status; void *ptr; @@ -66,84 +66,89 @@ test_ohdr (void) /* the new object header */ MESSAGE (8, ("Creating new object header...\n")); - oh = H5O_new (f, 1, 64); + status = H5O_new (f, 1, 64, &oh_addr/*out*/); + CHECK_I (status, "H5O_new"); /* * Test creation of a new message. */ MESSAGE (8, ("Creating new message...\n")); - stab.btree_addr = 11111111; - stab.heap_addr = 22222222; - status = H5O_modify (f, oh, NULL, H5O_STAB, H5O_NEW_MESG, &stab); + stab.btree_addr.offset = 11111111; + stab.heap_addr.offset = 22222222; + status = H5O_modify (f, &oh_addr, NULL, H5O_STAB, H5O_NEW_MESG, &stab); VERIFY (status, 0, "H5O_modify"); H5AC_flush (f, NULL, 0, TRUE); - ptr = H5O_read (f, oh, NULL, H5O_STAB, 0, &ro); + ptr = H5O_read (f, &oh_addr, NULL, H5O_STAB, 0, &ro); CHECK_PTR (ptr, "H5O_read"); VERIFY (ptr, &ro, "H5O_read"); - VERIFY (ro.btree_addr, stab.btree_addr, "H5O_read"); - VERIFY (ro.heap_addr, stab.heap_addr, "H5O_read"); + VERIFY (ro.btree_addr.offset, stab.btree_addr.offset, "H5O_read"); + VERIFY (ro.heap_addr.offset, stab.heap_addr.offset, "H5O_read"); /* * Test modification of an existing message. */ MESSAGE (8, ("Modifying message...\n")); - stab.btree_addr = 33333333; - stab.heap_addr = 44444444; - status = H5O_modify (f, oh, NULL, H5O_STAB, 0, &stab); + stab.btree_addr.offset = 33333333; + stab.heap_addr.offset = 44444444; + status = H5O_modify (f, &oh_addr, NULL, H5O_STAB, 0, &stab); VERIFY (status, 0, "H5O_modify"); H5AC_flush (f, NULL, 0, TRUE); - ptr = H5O_read (f, oh, NULL, H5O_STAB, 0, &ro); + ptr = H5O_read (f, &oh_addr, NULL, H5O_STAB, 0, &ro); CHECK_PTR (ptr, "H5O_read"); VERIFY (ptr, &ro, "H5O_read"); - VERIFY (ro.btree_addr, stab.btree_addr, "H5O_read"); - VERIFY (ro.heap_addr, stab.heap_addr, "H5O_read"); + VERIFY (ro.btree_addr.offset, stab.btree_addr.offset, "H5O_read"); + VERIFY (ro.heap_addr.offset, stab.heap_addr.offset, "H5O_read"); /* * Test creation of a second message of the same type with a symbol * table. */ MESSAGE (8, ("Creating a duplicate message...\n")); - ent.header = 0; + ent.header.offset = 0; ent.type = H5G_NOTHING_CACHED; ent.dirty = FALSE; - stab.btree_addr = 55555555; - stab.heap_addr = 66666666; - status = H5O_modify (f, oh, &ent, H5O_STAB, H5O_NEW_MESG, &stab); + stab.btree_addr.offset = 55555555; + stab.heap_addr.offset = 66666666; + status = H5O_modify (f, &oh_addr, &ent, H5O_STAB, H5O_NEW_MESG, &stab); VERIFY (status, 1, "H5O_modify"); VERIFY (ent.dirty, TRUE, "H5O_modify"); VERIFY (ent.type, H5G_CACHED_STAB, "H5O_modify"); - VERIFY (ent.cache.stab.heap_addr, stab.heap_addr, "H5O_modify"); - VERIFY (ent.cache.stab.btree_addr, stab.btree_addr, "H5O_modify"); + VERIFY (ent.cache.stab.heap_addr.offset, stab.heap_addr.offset, + "H5O_modify"); + VERIFY (ent.cache.stab.btree_addr.offset, stab.btree_addr.offset, + "H5O_modify"); H5AC_flush (f, NULL, 0, TRUE); - ptr = H5O_read (f, oh, NULL, H5O_STAB, 1, &ro); + ptr = H5O_read (f, &oh_addr, NULL, H5O_STAB, 1, &ro); CHECK_PTR (ptr, "H5O_read"); VERIFY (ptr, &ro, "H5O_read"); - VERIFY (ro.btree_addr, stab.btree_addr, "H5O_read"); - VERIFY (ro.heap_addr, stab.heap_addr, "H5O_read"); + VERIFY (ro.btree_addr.offset, stab.btree_addr.offset, "H5O_read"); + VERIFY (ro.heap_addr.offset, stab.heap_addr.offset, "H5O_read"); /* * Test modification of the second message with a symbol table. */ MESSAGE (8, ("Modifying the duplicate message...\n")); ent.dirty = FALSE; - stab.btree_addr = 77777777; - stab.heap_addr = 88888888; - status = H5O_modify (f, oh, &ent, H5O_STAB, 1, &stab); + stab.btree_addr.offset = 77777777; + stab.heap_addr.offset = 88888888; + status = H5O_modify (f, &oh_addr, &ent, H5O_STAB, 1, &stab); VERIFY (status, 1, "H5O_modify"); VERIFY (ent.dirty, TRUE, "H5O_modify"); VERIFY (ent.type, H5G_CACHED_STAB, "H5O_modify"); - VERIFY (ent.cache.stab.heap_addr, stab.heap_addr, "H5O_modify"); - VERIFY (ent.cache.stab.btree_addr, stab.btree_addr, "H5O_modify"); + VERIFY (ent.cache.stab.heap_addr.offset, stab.heap_addr.offset, + "H5O_modify"); + VERIFY (ent.cache.stab.btree_addr.offset, stab.btree_addr.offset, + "H5O_modify"); H5AC_flush (f, NULL, 0, TRUE); - ptr = H5O_read (f, oh, NULL, H5O_STAB, 1, &ro); + ptr = H5O_read (f, &oh_addr, NULL, H5O_STAB, 1, &ro); CHECK_PTR (ptr, "H5O_read"); VERIFY (ptr, &ro, "H5O_read"); - VERIFY (ro.btree_addr, stab.btree_addr, "H5O_read"); - VERIFY (ro.heap_addr, stab.heap_addr, "H5O_read"); + VERIFY (ro.btree_addr.offset, stab.btree_addr.offset, "H5O_read"); + VERIFY (ro.heap_addr.offset, stab.heap_addr.offset, "H5O_read"); /* * Test creation of a bunch of messages one after another to see @@ -151,9 +156,9 @@ test_ohdr (void) */ MESSAGE (8, ("Overflowing header in core...\n")); for (i=0; i<40; i++) { - stab.btree_addr = (i+1)*1000 + 1; - stab.heap_addr = (i+1)*1000 + 2; - status = H5O_modify (f, oh, NULL, H5O_STAB, H5O_NEW_MESG, &stab); + stab.btree_addr.offset = (i+1)*1000 + 1; + stab.heap_addr.offset = (i+1)*1000 + 2; + status = H5O_modify (f, &oh_addr, NULL, H5O_STAB, H5O_NEW_MESG, &stab); VERIFY (status, 2+i, "H5O_modify"); } H5AC_flush (f, NULL, 0, TRUE); @@ -164,9 +169,9 @@ test_ohdr (void) */ MESSAGE (8, ("Overflowing header on disk...\n")); for (i=0; i<10; i++) { - stab.btree_addr = (i+1)*1000 + 10; - stab.heap_addr = (i+1)*1000 + 20; - status = H5O_modify (f, oh, NULL, H5O_STAB, H5O_NEW_MESG, &stab); + stab.btree_addr.offset = (i+1)*1000 + 10; + stab.heap_addr.offset = (i+1)*1000 + 20; + status = H5O_modify (f, &oh_addr, NULL, H5O_STAB, H5O_NEW_MESG, &stab); VERIFY (status, 42+i, "H5O_modify"); H5AC_flush (f, NULL, 0, TRUE); } @@ -174,7 +179,7 @@ test_ohdr (void) /* * Delete all symbol table messages. */ - status = H5O_remove (f, oh, NULL, H5O_STAB, H5O_ALL); + status = H5O_remove (f, &oh_addr, NULL, H5O_STAB, H5O_ALL); CHECK_I (status, "H5O_remove"); /* close the file */ |