summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/hyperslab.c27
-rw-r--r--test/istore.c117
-rw-r--r--test/theap.c15
-rw-r--r--test/tohdr.c81
-rw-r--r--test/tstab.c52
5 files changed, 181 insertions, 111 deletions
diff --git a/test/hyperslab.c b/test/hyperslab.c
index b07a8fa..f985608 100644
--- a/test/hyperslab.c
+++ b/test/hyperslab.c
@@ -166,15 +166,16 @@ test_fill (size_t nx, size_t ny, size_t nz,
if (0==ny) {
ndims = 1;
ny = nz = 1;
- sprintf (dim, "%d", nx);
+ sprintf (dim, "%lu", (unsigned long)nx);
} else {
ndims = 2;
nz = 1;
- sprintf (dim, "%dx%d", nx, ny);
+ sprintf (dim, "%lux%lu", (unsigned long)nx, (unsigned long)ny);
}
} else {
ndims = 3;
- sprintf (dim, "%dx%dx%d", nx, ny, nz);
+ sprintf (dim, "%lux%lux%lu",
+ (unsigned long)nx, (unsigned long)ny, (unsigned long)nz);
}
sprintf (s, "Testing hyperslab fill %-11s variable hyperslab ", dim);
printf ("%-70s", s);
@@ -326,15 +327,16 @@ test_copy (int mode,
if (0==ny) {
ndims = 1;
ny = nz = 1;
- sprintf (dim, "%d", nx);
+ sprintf (dim, "%lu", (unsigned long)nx);
} else {
ndims = 2;
nz = 1;
- sprintf (dim, "%dx%d", nx, ny);
+ sprintf (dim, "%lux%lu", (unsigned long)nx, (unsigned long)ny);
}
} else {
ndims = 3;
- sprintf (dim, "%dx%dx%d", nx, ny, nz);
+ sprintf (dim, "%lux%lux%lu",
+ (unsigned long)nx, (unsigned long)ny, (unsigned long)nz);
}
switch (mode) {
@@ -760,7 +762,8 @@ test_transpose (size_t nx, size_t ny)
size_t size[2];
char s[256];
- sprintf (s, "Testing 2d transpose by stride %4dx%-4d", nx, ny);
+ sprintf (s, "Testing 2d transpose by stride %4lux%-lud",
+ (unsigned long)nx, (unsigned long)ny);
printf ("%-70s", s);
fflush (stdout);
@@ -867,8 +870,9 @@ test_sub_super (size_t nx, size_t ny)
int i, j;
char s[256];
- sprintf (s, "Testing image sampling %4dx%-4d to %4dx%-4d ",
- 2*nx, 2*ny, nx, ny);
+ sprintf (s, "Testing image sampling %4lux%-4lu to %4lux%-4lu ",
+ (unsigned long)(2*nx), (unsigned long)(2*ny),
+ (unsigned long)nx, (unsigned long)ny);
printf ("%-70s", s);
fflush (stdout);
@@ -914,8 +918,9 @@ test_sub_super (size_t nx, size_t ny)
* Test replicating pixels to produce an image twice as large in each
* dimension.
*/
- sprintf (s, "Testing image sampling %4dx%-4d to %4dx%-4d ",
- nx, ny, 2*nx, 2*ny);
+ sprintf (s, "Testing image sampling %4lux%-4lu to %4lux%-4lu ",
+ (unsigned long)nx, (unsigned long)ny,
+ (unsigned long)(2*nx), (unsigned long)(2*ny));
printf ("%-70s", s);
fflush (stdout);
diff --git a/test/istore.c b/test/istore.c
index c50ef3f..6487a30 100644
--- a/test/istore.c
+++ b/test/istore.c
@@ -14,14 +14,25 @@
#include <H5Oprivate.h>
#include <H5Vprivate.h>
-#define FILENAME "istore.h5"
+#if 0
+# define FILETYPE H5F_LOW_DFLT
+# define FILENAME "istore.h5"
+#elif 0
+# define FILETYPE H5F_LOW_FAM
+# define FILENAME "istore-%05d.h5"
+#else
+# define FILETYPE H5F_LOW_SPLIT
+# define FILENAME "istore-split"
+#endif
#define TEST_SMALL 0x0001
#define TEST_MEDIUM 0x0002
+#define TEST_LARGE 0x0004
#define AT() printf (" at %s:%d in %s()...\n", \
__FILE__, __LINE__, __FUNCTION__);
-
+
+size_t align_g[3] = {50, 50, 50};
/*-------------------------------------------------------------------------
@@ -99,9 +110,16 @@ new_object (H5F_t *f, const char *name, size_t ndims)
}
/* Add the indexed-storage message */
- for (i=0; i<ndims; i++) alignment[i] = 2;
+ for (i=0; i<ndims; i++) {
+ if (i<NELMTS (align_g)) {
+ alignment[i] = align_g[i];
+ } else {
+ alignment[i] = 2;
+ }
+ }
+
H5F_istore_new (f, &istore, ndims, alignment);
- if (H5O_modify (f, H5O_NO_ADDR, handle, H5O_ISTORE, H5O_NEW_MESG,
+ if (H5O_modify (f, NO_ADDR, handle, H5O_ISTORE, H5O_NEW_MESG,
&istore)<0) {
printf ("*FAILED*\n");
if (!isatty (1)) {
@@ -140,7 +158,6 @@ test_create (H5F_t *f, const char *prefix)
char name[256];
printf ("%-70s", "Testing istore create");
- fflush (stdout);
for (i=1; i<=H5O_ISTORE_NDIMS; i++) {
sprintf (name, "%s_%02d", prefix, i);
@@ -191,21 +208,21 @@ test_extend (H5F_t *f, const char *prefix,
if (!ny) {
ndims = 1;
ny = nz = 1;
- sprintf (dims, "%d", nx);
+ sprintf (dims, "%lu", (unsigned long)nx);
} else {
ndims = 2;
nz = 1;
- sprintf (dims, "%dx%d", nx, ny);
+ sprintf (dims, "%lux%lu", (unsigned long)nx, (unsigned long)ny);
}
} else {
ndims = 3;
- sprintf (dims, "%dx%dx%d", nx, ny, nz);
+ sprintf (dims, "%lux%lux%lu",
+ (unsigned long)nx, (unsigned long)ny, (unsigned long)nz);
}
sprintf (s, "Testing istore extend: %s", dims);
printf ("%-70s", s);
- fflush (stdout);
buf = H5MM_xmalloc (nx*ny*nz);
check = H5MM_xmalloc (nx*ny*nz);
whole = H5MM_xcalloc (nx*ny*nz, 1);
@@ -219,7 +236,7 @@ test_extend (H5F_t *f, const char *prefix,
}
goto error;
}
- if (NULL==H5O_read (f, H5O_NO_ADDR, handle, H5O_ISTORE, 0, &istore)) {
+ if (NULL==H5O_read (f, NO_ADDR, handle, H5O_ISTORE, 0, &istore)) {
puts ("*FAILED*");
if (!isatty (1)) {
AT ();
@@ -274,7 +291,6 @@ test_extend (H5F_t *f, const char *prefix,
printf ("), %d element%s", nelmts, 1==nelmts?"":"s");
if (0==nelmts) printf (" *SKIPPED*");
printf ("\n");
- fflush (stdout);
#endif
/* Fill the source array */
@@ -309,7 +325,7 @@ test_extend (H5F_t *f, const char *prefix,
printf (" Wrote:\n");
print_array (buf, size[0], size[1], size[2]);
printf (" Read:\n");
- print_array (buf, size[0], size[1], size[2]);
+ print_array (check, size[0], size[1], size[2]);
}
goto error;
}
@@ -395,7 +411,7 @@ test_sparse (H5F_t *f, const char *prefix, size_t nblocks,
{
intn ndims, ctr;
char dims[64], s[256], name[256];
- size_t offset[3], size[3];
+ size_t offset[3], size[3], total=0;
H5G_entry_t *handle = NULL;
H5O_istore_t istore;
uint8 *buf = NULL;
@@ -404,20 +420,20 @@ test_sparse (H5F_t *f, const char *prefix, size_t nblocks,
if (!ny) {
ndims = 1;
ny = nz = 1;
- sprintf (dims, "%d", nx);
+ sprintf (dims, "%lu", (unsigned long)nx);
} else {
ndims = 2;
nz = 1;
- sprintf (dims, "%dx%d", nx, ny);
+ sprintf (dims, "%lux%lu", (unsigned long)nx, (unsigned long)ny);
}
} else {
ndims = 3;
- sprintf (dims, "%dx%dx%d", nx, ny, nz);
+ sprintf (dims, "%lux%lux%lu",
+ (unsigned long)nx, (unsigned long)ny, (unsigned long)nz);
}
sprintf (s, "Testing istore sparse: %s", dims);
printf ("%-70s", s);
- fflush (stdout);
buf = H5MM_xmalloc (nx*ny*nz);
/* Build the new empty object */
@@ -429,7 +445,7 @@ test_sparse (H5F_t *f, const char *prefix, size_t nblocks,
}
goto error;
}
- if (NULL==H5O_read (f, H5O_NO_ADDR, handle, H5O_ISTORE, 0, &istore)) {
+ if (NULL==H5O_read (f, NO_ADDR, handle, H5O_ISTORE, 0, &istore)) {
puts ("*FAILED*");
if (!isatty (1)) {
AT ();
@@ -453,16 +469,20 @@ test_sparse (H5F_t *f, const char *prefix, size_t nblocks,
if (!isatty (1)) {
AT ();
printf (" Write failed: ctr=%d\n", ctr);
- printf (" offset=(%d", offset[0]);
- if (ndims>1) printf (",%d", offset[1]);
- if (ndims>2) printf (",%d", offset[2]);
- printf ("), size=(%d", size[0]);
- if (ndims>1) printf (",%d", size[1]);
- if (ndims>2) printf (",%d", size[2]);
+ printf (" offset=(%lu", (unsigned long)(offset[0]));
+ if (ndims>1) printf (",%lu", (unsigned long)(offset[1]));
+ if (ndims>2) printf (",%lu", (unsigned long)(offset[2]));
+ printf ("), size=(%lu", (unsigned long)(size[0]));
+ if (ndims>1) printf (",%lu", (unsigned long)(size[1]));
+ if (ndims>2) printf (",%lu", (unsigned long)(size[2]));
printf (")\n");
}
goto error;
}
+ total += nx*ny*nz;
+#if 0
+ printf ("ctr: ctr=%d, total=%lu\n", ctr, (unsigned long)total);
+#endif
/* We don't test reading yet.... */
}
@@ -502,6 +522,12 @@ main (int argc, char *argv[])
herr_t status;
int nerrors = 0;
uintn size_of_test;
+ uint8 offset_size;
+ H5G_entry_t *ent = NULL;
+ hid_t template_id;
+ file_create_temp_t *creation_template = NULL;
+
+ setbuf (stdout, NULL);
/* Parse arguments or assume `small' */
if (1==argc) {
@@ -513,6 +539,8 @@ main (int argc, char *argv[])
size_of_test |= TEST_SMALL;
} else if (!strcmp (argv[i], "medium")) {
size_of_test |= TEST_MEDIUM;
+ } else if (!strcmp (argv[i], "large")) {
+ size_of_test |= TEST_LARGE;
} else {
printf ("unrecognized argument: %s\n", argv[i]);
exit (1);
@@ -522,18 +550,47 @@ main (int argc, char *argv[])
printf ("Test sizes: ");
if (size_of_test & TEST_SMALL) printf (" SMALL");
if (size_of_test & TEST_MEDIUM) printf (" MEDIUM");
+ if (size_of_test & TEST_LARGE) printf (" LARGE");
printf ("\n");
-
+
+ /*
+ * Use larger file addresses...
+ */
+ offset_size = 8;
+ template_id = H5C_copy (H5C_get_default_atom (H5_TEMPLATE));
+ H5Csetparm (template_id, H5_OFFSET_SIZE, &offset_size);
+ creation_template = H5Aatom_object (template_id);
/* Create the test file */
- if (NULL==(f=H5F_open (H5F_LOW_DFLT, FILENAME,
+ if (NULL==(f=H5F_open (FILETYPE, FILENAME,
(H5F_ACC_CREAT|H5F_ACC_WRITE|H5F_ACC_TRUNC|
H5F_ACC_DEBUG),
- NULL))) {
+ creation_template))) {
printf ("Cannot create file %s; test aborted\n", FILENAME);
exit (1);
}
+#if 0
+ {
+ /*
+ * For testing file families, fool the library into thinking it already
+ * allocated a whole bunch of data.
+ */
+ haddr_t addr;
+ addr.offset = (uint64)1<<33; /*8GB*/
+ H5F_low_seteof (f->shared->lf, &addr);
+ }
+#endif
+
+ /*
+ * By creating a group we cause the library to emit it's debugging
+ * diagnostic messages before we begin testing...
+ */
+ ent = H5G_new (f, "flushing_diagnostics", 0);
+ H5G_close (f, ent);
+ ent = NULL;
+
+
/*
* Creation test: Creates empty objects with various raw data sizes
* and alignments.
@@ -557,7 +614,6 @@ main (int argc, char *argv[])
status = test_extend (f, "extend", 10, 400, 10);
nerrors += status<0 ? 1 : 0;
}
-
if (size_of_test & TEST_SMALL) {
status = test_sparse (f, "sparse", 100, 5, 0, 0);
nerrors += status<0 ? 1 : 0;
@@ -574,6 +630,11 @@ main (int argc, char *argv[])
status = test_sparse (f, "sparse", 2000, 4, 2, 3);
nerrors += status<0 ? 1 : 0;
}
+ if (size_of_test & TEST_LARGE) {
+ status = test_sparse (f, "sparse", 800, 50, 50, 50);
+ nerrors += status<0 ? 1 : 0;
+ }
+
/* Close the test file and exit */
H5F_close (f);
diff --git a/test/theap.c b/test/theap.c
index 1dc38e1..d46726f 100644
--- a/test/theap.c
+++ b/test/theap.c
@@ -45,10 +45,11 @@ test_heap (void)
int i, j;
hid_t fid;
H5F_t *f;
- off_t heap;
+ haddr_t heap_addr;
char buf[NOBJS+8];
const char *s;
- off_t obj[NOBJS];
+ size_t obj[NOBJS];
+ herr_t status;
MESSAGE (5, ("Testing Heaps\n"));
@@ -59,8 +60,8 @@ test_heap (void)
CHECK (f, NULL, "H5Aatom_object");
/* Create a new heap */
- heap = H5H_new (f, H5H_LOCAL, 0);
- CHECK_I (heap, "H5H_new");
+ status = H5H_new (f, H5H_LOCAL, 0, &heap_addr/*out*/);
+ CHECK_I (status, "H5H_new");
/* Add stuff to the heap */
for (i=0; i<NOBJS; i++) {
@@ -68,8 +69,8 @@ test_heap (void)
for (j=4; j<i; j++) buf[j] = '0' + j%10;
if (j>4) buf[j] = '\0';
- obj[i] = H5H_insert (f, heap, strlen(buf)+1, buf);
- CHECK_I (heap, "H5H_insert");
+ obj[i] = H5H_insert (f, &heap_addr, strlen(buf)+1, buf);
+ CHECK_I (obj[i], "H5H_insert");
}
/* Flush the cache and invalidate everything */
@@ -77,7 +78,7 @@ test_heap (void)
/* Read the objects back out */
for (i=0; i<NOBJS; i++) {
- s = H5H_peek (f, heap, obj[i]);
+ s = H5H_peek (f, &heap_addr, obj[i]);
MESSAGE (8, ("object is `%s'\n", s));
}
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 */
diff --git a/test/tstab.c b/test/tstab.c
index 9bac3b7..e2384f8 100644
--- a/test/tstab.c
+++ b/test/tstab.c
@@ -56,6 +56,7 @@ test_1 (void)
herr_t status;
H5O_name_t name_mesg;
void *status_ptr;
+ hbool_t b;
MESSAGE (2, ("........non-directory files\n"));
@@ -82,20 +83,18 @@ test_1 (void)
/*
* Test 1B: Attempt to read the root object using the name `/'.
*/
- HDmemset (&dir_ent, 0, sizeof(H5G_entry_t));
- HDmemset (&ent1, 0, sizeof(H5G_entry_t));
+ memset (&dir_ent, 0xff, sizeof(H5G_entry_t));
+ memset (&ent1, 0xff, sizeof(H5G_entry_t));
status = H5G_find (f, "/", &dir_ent, &ent1);
CHECK_I (status, "H5G_find");
- VERIFY (dir_ent.header, 0, "H5G_find");
- VERIFY (ent1.header, obj1->header, "H5G_find");
- /* is it really the root symbol? */
- VERIFY (dir_ent.header, 0, "H5G_insert");
- VERIFY (obj1->header, f->shared->root_sym->header, "H5G_insert");
+ /* Is it really the root object? */
+ b = H5F_addr_defined (&(dir_ent.header));
+ VERIFY (b, FALSE, "H5G_create");
+ b = H5F_addr_eq (&(ent1.header), &(obj1->header));
+ VERIFY (b, TRUE, "H5G_create");
-
-
/*
* Test 1C: Add a second object to the file to see if the first object
* gets moved into the new root directory along with the second object.
@@ -106,10 +105,13 @@ test_1 (void)
CHECK_PTR (obj2, "H5G_new");
/* try to read the first object */
- HDmemset (&ent1, 0, sizeof(H5G_entry_t));
+ HDmemset (&ent1, 0xff, sizeof(H5G_entry_t));
status = H5G_find (f, "/Root Object", NULL, &ent1);
CHECK_I (status, "H5G_find");
- VERIFY (ent1.header, obj1->header, "H5G_find");
+ b = H5F_addr_defined (&(ent1.header));
+ VERIFY (b, TRUE, "H5G_create");
+ b = H5F_addr_eq (&(ent1.header), &(obj1->header));
+ VERIFY (b, TRUE, "H5G_create");
/* close the objects */
H5G_close (f, obj1);
@@ -120,7 +122,7 @@ test_1 (void)
/* close the file */
H5Fclose (fid);
-
+
/*
* Test 1D: Create an empty file and add a non-directory object
@@ -136,7 +138,7 @@ test_1 (void)
/* create the object */
obj1 = H5G_create (f, "/foo", 0);
- CHECK_PTR (obj1, "H5G_new");
+ CHECK_PTR (obj1, "H5G_create");
/* does it have the correct name message? */
status_ptr = H5O_read (f, NO_ADDR, obj1, H5O_NAME, 0, &name_mesg);
@@ -153,25 +155,20 @@ test_1 (void)
HDmemset (&ent1, 0, sizeof(H5G_entry_t));
status = H5G_find (f, "/", &dir_ent, &ent1);
CHECK_I (status, "H5G_find");
- VERIFY (dir_ent.header, 0, "H5G_find");
- VERIFY (ent1.header, obj1->header, "H5G_find");
-
- /* is it really the root symbol? */
- VERIFY (dir_ent.header, 0, "H5G_insert");
- VERIFY (obj1->header, f->shared->root_sym->header, "H5G_insert");
+ b = H5F_addr_defined (&(dir_ent.header));
+ VERIFY (b, FALSE, "H5G_create");
+ b = H5F_addr_eq (&(ent1.header), &(obj1->header));
+ VERIFY (b, TRUE, "H5G_create");
/* now as `/foo' */
HDmemset (&dir_ent, 0, sizeof(H5G_entry_t));
HDmemset (&ent1, 0, sizeof(H5G_entry_t));
status = H5G_find (f, "/foo", &dir_ent, &ent1);
CHECK_I (status, "H5G_find");
- VERIFY (dir_ent.header, 0, "H5G_find");
- VERIFY (ent1.header, obj1->header, "H5G_find");
-
- /* is it really the root symbol? */
- VERIFY (dir_ent.header, 0, "H5G_insert");
- VERIFY (obj1->header, f->shared->root_sym->header, "H5G_insert");
-
+ b = H5F_addr_defined (&(dir_ent.header));
+ VERIFY (b, FALSE, "H5G_create");
+ b = H5F_addr_eq (&(ent1.header), &(obj1->header));
+ VERIFY (b, TRUE, "H5G_find");
/*
@@ -187,7 +184,8 @@ test_1 (void)
HDmemset (&ent1, 0, sizeof(H5G_entry_t));
status = H5G_find (f, "/foo", NULL, &ent1);
CHECK_I (status, "H5G_find");
- VERIFY (ent1.header, obj1->header, "H5G_find");
+ b = H5F_addr_eq (&(ent1.header), &(obj1->header));
+ VERIFY (b, TRUE, "H5G_find");
/* the first object should not have a name message */
status_ptr = H5O_read (f, NO_ADDR, obj1, H5O_NAME, 0, &name_mesg);