summaryrefslogtreecommitdiffstats
path: root/test/ohdr_mindset.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/ohdr_mindset.c')
-rw-r--r--test/ohdr_mindset.c1410
1 files changed, 355 insertions, 1055 deletions
diff --git a/test/ohdr_mindset.c b/test/ohdr_mindset.c
index 7ec58e2..5d4b659 100644
--- a/test/ohdr_mindset.c
+++ b/test/ohdr_mindset.c
@@ -11,340 +11,6 @@
#define DEBUG_OH_SIZE 0 /* toggle some debug printing (0 off, 1 on)*/
-#ifndef JSMITH_TESTING
-
-/*****************************************************************************
- *
- * FILE-LOCAL TESTING MACROS
- *
- * Purpose:
- *
- * 1) Upon test failure, goto-jump to single-location teardown in test
- * function. E.g., `error:` (consistency with HDF corpus) or
- * `failed:` (reflects purpose).
- * >>> using "error", in part because `H5E_BEGIN_TRY` expects it.
- * 2) Increase clarity and reduce overhead found with `TEST_ERROR`.
- * e.g., "if(somefunction(arg, arg2) < 0) TEST_ERROR:"
- * requires reading of entire line to know whether this if/call is
- * part of the test setup, test operation, or a test unto itself.
- * 3) Provide testing macros with optional user-supplied failure message;
- * if not supplied (NULL), generate comparison output in the spirit of
- * test-driven development. E.g., "expected 5 but was -3"
- * User messages clarify test's purpose in code, encouraging description
- * without relying on comments.
- * 4) Configurable expected-actual order in generated comparison strings.
- * Some prefer `VERIFY(expected, actual)`, others
- * `VERIFY(actual, expected)`. Provide preprocessor ifdef switch
- * to satifsy both parties, assuming one paradigm per test file.
- * (One could #undef and redefine the flag through the file as desired,
- * but _why_.)
- *
- * Provided as courtesy, per consideration for inclusion in the library
- * proper.
- *
- * Macros:
- *
- * JSVERIFY_EXP_ACT - ifdef flag, configures comparison order
- * FAIL_IF() - check condition
- * FAIL_UNLESS() - check _not_ condition
- * JSVERIFY() - long-int equality check; prints reason/comparison
- * JSVERIFY_NOT() - long-int inequality check; prints
- * JSVERIFY_STR() - string equality check; prints
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *****************************************************************************/
-
-
-/*----------------------------------------------------------------------------
- *
- * ifdef flag: JSVERIFY_EXP_ACT
- *
- * JSVERIFY macros accept arguments as (EXPECTED, ACTUAL[, reason])
- * default, if this is undefined, is (ACTUAL, EXPECTED[, reason])
- *
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY_EXP_ACT 1L
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSFAILED_AT()
- *
- * Purpose:
- *
- * Preface a test failure by printing "*FAILED*" and location to stdout
- * Similar to `H5_FAILED(); AT();` from h5test.h
- *
- * *FAILED* at somefile.c:12 in function_name()...
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSFAILED_AT() { \
- HDprintf("*FAILED* at %s:%d in %s()...\n", __FILE__, __LINE__, FUNC); \
-}
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: FAIL_IF()
- *
- * Purpose:
- *
- * Make tests more accessible and less cluttered than
- * `if (thing == otherthing()) TEST_ERROR`
- * paradigm.
- *
- * The following lines are roughly equivalent:
- *
- * `if (myfunc() < 0) TEST_ERROR;` (as seen elsewhere in HDF tests)
- * `FAIL_IF(myfunc() < 0)`
- *
- * Prints a generic "FAILED AT" line to stdout and jumps to `error`,
- * similar to `TEST_ERROR` in h5test.h
- *
- * Programmer: Jacob Smith
- * 2017-10-23
- *
- *----------------------------------------------------------------------------
- */
-#define FAIL_IF(condition) \
-if (condition) { \
- JSFAILED_AT() \
- goto error; \
-}
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: FAIL_UNLESS()
- *
- * Purpose:
- *
- * TEST_ERROR wrapper to reduce cognitive overhead from "negative tests",
- * e.g., "a != b".
- *
- * Opposite of FAIL_IF; fails if the given condition is _not_ true.
- *
- * `FAIL_IF( 5 != my_op() )`
- * is equivalent to
- * `FAIL_UNLESS( 5 == my_op() )`
- * However, `JSVERIFY(5, my_op(), "bad return")` may be even clearer.
- * (see JSVERIFY)
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#if 0 /* UNUSED */
-#define FAIL_UNLESS(condition) \
-if (!(condition)) { \
- JSFAILED_AT() \
- goto error; \
-}
-#endif /* UNUSED */
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSERR_LONG()
- *
- * Purpose:
- *
- * Print an failure message for long-int arguments.
- * ERROR-AT printed first.
- * If `reason` is given, it is printed on own line and newlined after
- * else, prints "expected/actual" aligned on own lines.
- *
- * *FAILED* at myfile.c:488 in somefunc()...
- * forest must be made of trees.
- *
- * or
- *
- * *FAILED* at myfile.c:488 in somefunc()...
- * ! Expected 425
- * ! Actual 3
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSERR_LONG(expected, actual, reason) { \
- JSFAILED_AT() \
- if (reason!= NULL) { \
- HDprintf("%s\n", (reason)); \
- } else { \
- HDprintf(" ! Expected %ld\n ! Actual %ld\n", \
- (long)(expected), (long)(actual)); \
- } \
-}
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSERR_STR()
- *
- * Purpose:
- *
- * Print an failure message for string arguments.
- * ERROR-AT printed first.
- * If `reason` is given, it is printed on own line and newlined after
- * else, prints "expected/actual" aligned on own lines.
- *
- * *FAILED* at myfile.c:421 in myfunc()...
- * Blue and Red strings don't match!
- *
- * or
- *
- * *FAILED* at myfile.c:421 in myfunc()...
- * !!! Expected:
- * this is my expected
- * string
- * !!! Actual:
- * not what I expected at all
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSERR_STR(expected, actual, reason) { \
- JSFAILED_AT() \
- if ((reason) != NULL) { \
- HDprintf("%s\n", (reason)); \
- } else { \
- HDprintf("!!! Expected:\n%s\n!!!Actual:\n%s\n", \
- (expected), (actual)); \
- } \
-}
-
-#ifdef JSVERIFY_EXP_ACT
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSVERIFY()
- *
- * Purpose:
- *
- * Verify that two long integers are equal.
- * If unequal, print failure message
- * (with `reason`, if not NULL; expected/actual if NULL)
- * and jump to `error` at end of function
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY(expected, actual, reason) \
-if ((long)(actual) != (long)(expected)) { \
- JSERR_LONG((expected), (actual), (reason)) \
- goto error; \
-} /* JSVERIFY */
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSVERIFY_NOT()
- *
- * Purpose:
- *
- * Verify that two long integers are _not_ equal.
- * If equal, print failure message
- * (with `reason`, if not NULL; expected/actual if NULL)
- * and jump to `error` at end of function
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY_NOT(expected, actual, reason) \
-if ((long)(actual) == (long)(expected)) { \
- JSERR_LONG((expected), (actual), (reason)) \
- goto error; \
-} /* JSVERIFY_NOT */
-
-
-/*----------------------------------------------------------------------------
- *
- * Macro: JSVERIFY_STR()
- *
- * Purpose:
- *
- * Verify that two strings are equal.
- * If unequal, print failure message
- * (with `reason`, if not NULL; expected/actual if NULL)
- * and jump to `error` at end of function
- *
- * Programmer: Jacob Smith
- * 2017-10-24
- *
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY_STR(expected, actual, reason) \
-if (strcmp((actual), (expected)) != 0) { \
- JSERR_STR((expected), (actual), (reason)); \
- goto error; \
-} /* JSVERIFY_STR */
-
-#else /* JSVERIFY_EXP_ACT */
- /* Repeats macros above, but with actual/expected parameters reversed. */
-
-
-/*----------------------------------------------------------------------------
- * Macro: JSVERIFY()
- * See: JSVERIFY documentation above.
- * Programmer: Jacob Smith
- * 2017-10-14
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY(actual, expected, reason) \
-if ((long)(actual) != (long)(expected)) { \
- JSERR_LONG((expected), (actual), (reason)); \
- goto error; \
-} /* JSVERIFY */
-
-
-/*----------------------------------------------------------------------------
- * Macro: JSVERIFY_NOT()
- * See: JSVERIFY_NOT documentation above.
- * Programmer: Jacob Smith
- * 2017-10-14
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY_NOT(actual, expected, reason) \
-if ((long)(actual) == (long)(expected)) { \
- JSERR_LONG((expected), (actual), (reason)) \
- goto error; \
-} /* JSVERIFY_NOT */
-
-
-/*----------------------------------------------------------------------------
- * Macro: JSVERIFY_STR()
- * See: JSVERIFY_STR documentation above.
- * Programmer: Jacob Smith
- * 2017-10-14
- *----------------------------------------------------------------------------
- */
-#define JSVERIFY_STR(actual, expected, reason) \
-if (strcmp((actual), (expected)) != 0) { \
- JSERR_STR((expected), (actual), (reason)); \
- goto error; \
-} /* JSVERIFY_STR */
-
-#endif /* JSVERIFY_EXP_ACT */
-
-#endif /* JSMITH_TESTING */
-
/* basenames of test files created in this test suite */
#define OHMIN_FILENAME_A "ohdr_min_a"
#define OHMIN_FILENAME_B "ohdr_min_b"
@@ -354,51 +20,6 @@ if (strcmp((actual), (expected)) != 0) { \
#define LT 2
#define GT 3
-/* pseudo-enumeration of symbols to select H5*close() function in macro */
-#define CLOSE_ATTRIBUTE 1
-#define CLOSE_DATASET 2
-#define CLOSE_DATASPACE 3
-#define CLOSE_DATATYPE 4
-#define CLOSE_FILE 5
-#define CLOSE_PLIST 6
-
-
-/* ---------------------------------------------------------------------------
- * Macro: MUST_CLOSE(...)
- *
- * Trigger an error if calling close on the id fails (e.g., H5Fclose(fid).
- * Uses #defined values to indicate expected id kind (plist vs file, &c.).
- * Prints message on error.
- * Please use only at "top level" of test function (because JSVERIFY).
- * ---------------------------------------------------------------------------
- */
-#define MUST_CLOSE(id, kind) \
-{ switch (kind) { \
- case CLOSE_ATTRIBUTE : \
- JSVERIFY(SUCCEED, H5Aclose((id)), "closing attribute") \
- break; \
- case CLOSE_DATASET : \
- JSVERIFY(SUCCEED, H5Dclose((id)), "closing dataset") \
- break; \
- case CLOSE_DATASPACE : \
- JSVERIFY(SUCCEED, H5Sclose((id)), "closing dataspace") \
- break; \
- case CLOSE_DATATYPE : \
- JSVERIFY(SUCCEED, H5Tclose((id)), "closing datatype") \
- break; \
- case CLOSE_FILE : \
- JSVERIFY(SUCCEED, H5Fclose((id)), "closing file") \
- break; \
- case CLOSE_PLIST : \
- JSVERIFY(SUCCEED, H5Pclose((id)), "closing plist") \
- break; \
- default: \
- JSVERIFY(0, 1, "Unidentified MUST_CLOSE constant") \
- break; \
- } \
- (id) = -1; \
-}
-
/* ---------------------------------------------------------------------------
* Macro: PRINT_DSET_OH_COMPARISON(...)
@@ -407,66 +28,31 @@ if (strcmp((actual), (expected)) != 0) { \
* Please use only at "top level" of test function.
* ---------------------------------------------------------------------------
*/
-#define PRINT_DSET_OH_COMPARISON(did1, did2) \
-{ H5O_info_t info1; \
- H5O_info_t info2; \
- \
- FAIL_IF( SUCCEED != H5Oget_info2((did1), &info1, H5O_INFO_HDR) ) \
- FAIL_IF( SUCCEED != H5Oget_info2((did2), &info2, H5O_INFO_HDR) ) \
- \
- HDprintf("\n==HEADERS== UNMINIMIZED MINIMIZED\n"); \
- HDprintf(" version: %11u %9u\n", \
- info1.hdr.version, \
- info2.hdr.version); \
- HDprintf(" # messages: %11u %9u\n", \
- info1.hdr.nmesgs, \
- info2.hdr.nmesgs); \
- HDprintf(" meta: %11llu %9llu\n", \
- info1.hdr.space.meta, \
- info2.hdr.space.meta); \
- HDprintf(" free: %11llu %9llu\n", \
- info1.hdr.space.free, \
- info2.hdr.space.free); \
- HDprintf(" total: %11llu %9llu\n", \
- info1.hdr.space.total, \
- info2.hdr.space.total); \
+#define PRINT_DSET_OH_COMPARISON(did1, did2) \
+{ H5O_info_t info1; \
+ H5O_info_t info2; \
+ \
+ if(H5Oget_info2((did1), &info1, H5O_INFO_HDR) < 0) TEST_ERROR \
+ if(H5Oget_info2((did2), &info2, H5O_INFO_HDR) < 0) TEST_ERROR \
+ \
+ HDprintf("\n==HEADERS== UNMINIMIZED MINIMIZED\n"); \
+ HDprintf(" version: %11u %9u\n", \
+ info1.hdr.version, \
+ info2.hdr.version); \
+ HDprintf(" # messages: %11u %9u\n", \
+ info1.hdr.nmesgs, \
+ info2.hdr.nmesgs); \
+ HDprintf(" meta: %11llu %9llu\n", \
+ info1.hdr.space.meta, \
+ info2.hdr.space.meta); \
+ HDprintf(" free: %11llu %9llu\n", \
+ info1.hdr.space.free, \
+ info2.hdr.space.free); \
+ HDprintf(" total: %11llu %9llu\n", \
+ info1.hdr.space.total, \
+ info2.hdr.space.total); \
}
-
-/* ---------------------------------------------------------------------------
- * Macro: CREATE_FILE(...)
- *
- * Wrapper to create an hdf5 file, and report an error.
- * Call only at test function "top level", because of JSVERIFY.
- * ---------------------------------------------------------------------------
- */
-#define CREATE_FILE(name, id_out) \
-{ char errmsg[128] = ""; \
- snprintf(errmsg, 128, "unable to create file '%s'", (name)); \
- JSVERIFY( SUCCEED, _create_file((name), id_out), errmsg) \
-}
-
-
-/* ---------------------------------------------------------------------------
- * Macro: CREATE_DATASET(...)
- * + file id
- * + dataset name
- * + datatype id
- * + dataspace id
- * + dcpl id
- * + pointer to dataset id (store H5Dcreate result )
- *
- * Wrapper to create a dataset, and report an error.
- * Call only at test function "top level", because of JSVERIFY.
- * ---------------------------------------------------------------------------
- */
-#define CREATE_DATASET(Fid, name, Tid, Sid, dcpl, Did_out) \
-{ char errmsg[32] = ""; \
- snprintf(errmsg, 32, "unable to create dataset '%s'", (name)); \
- JSVERIFY( SUCCEED, \
- _make_dataset((Fid), (name), (Tid), (Sid), (dcpl), (Did_out)), \
- errmsg) \
-}
/*********************
* UTILITY FUNCTIONS *
@@ -474,70 +60,6 @@ if (strcmp((actual), (expected)) != 0) { \
/* ---------------------------------------------------------------------------
- * Function: _create_file()
- *
- * Purpose: Create a file with the name, and record its ID in out parameter.
- *
- * Return: 0 (success) or -1 (failure)
- *
- * ---------------------------------------------------------------------------
- */
-static herr_t
-_create_file( \
- const char *filename, \
- hid_t *fid)
-{
- hid_t id = -1;
- id = H5Fcreate(
- filename,
- H5F_ACC_TRUNC,
- H5P_DEFAULT,
- H5P_DEFAULT);
- if (id < 0)
- return FAIL;
- *fid = id;
-
- return SUCCEED;
-} /* _create_file */
-
-
-/* ---------------------------------------------------------------------------
- * Function: _make_dataset()
- *
- * Purpose: Create a dataset and record its ID in out parameter `dset_id`.
- *
- * Return: 0 (success) or -1 (failure)
- *
- * ---------------------------------------------------------------------------
- */
-static herr_t
-_make_dataset( \
- hid_t loc_id, \
- const char *name, \
- hid_t datatype_id, \
- hid_t dataspace_id, \
- hid_t dcpl_id, \
- hid_t *dset_id)
-{
- hid_t id = -1;
-
- id = H5Dcreate(
- loc_id,
- name,
- datatype_id,
- dataspace_id,
- H5P_DEFAULT, /* LCPL id */
- dcpl_id,
- H5P_DEFAULT); /* DAPL id */
- if (id < 0)
- return FAIL;
- *dset_id = id;
-
- return SUCCEED;
-} /* _make_dataset */
-
-
-/* ---------------------------------------------------------------------------
* Function: put_attribute()
*
* Purpose: Set an attribute with the given information.
@@ -546,28 +68,18 @@ _make_dataset( \
* created with the given information. Else, it will attempt to update the
* attribute with the new value.
*
+ * `dataspace_id` ignored if `attribute_id` >= 0
+ *
* Return: 0 (success) or -1 (failure)
*
* ---------------------------------------------------------------------------
*/
static herr_t
-put_attribute( \
- hid_t loc_id, \
- const char *attrname, \
- const void *attrvalue, \
- hid_t datatype_id, \
- hid_t dataspace_id, /* ignored if attribute_id >= 0 */ \
- hid_t *attribute_id)
+put_attribute(hid_t loc_id, const char *attrname, const void *attrvalue, hid_t datatype_id, hid_t dataspace_id, hid_t *attribute_id)
{
if ((*attribute_id) < 0) {
hid_t id = -1;
- id = H5Acreate(
- loc_id,
- attrname,
- datatype_id,
- dataspace_id,
- H5P_DEFAULT, /* acpl */
- H5P_DEFAULT); /* aapl */
+ id = H5Acreate(loc_id, attrname, datatype_id, dataspace_id, H5P_DEFAULT, H5P_DEFAULT);
if (id < 0)
return FAIL;
*attribute_id = id;
@@ -633,9 +145,7 @@ _oh_getsize(hid_t did, hsize_t *size_out)
* ---------------------------------------------------------------------------
*/
static int
-oh_compare( \
- hid_t did1, \
- hid_t did2)
+oh_compare(hid_t did1, hid_t did2)
{
hsize_t space1 = 0;
hsize_t space2 = 0;
@@ -688,6 +198,8 @@ test_attribute_addition(void)
hid_t attr_3_id = -1;
hid_t attr_3a_id = -1;
hid_t file_id = -1;
+ herr_t ret;
+ int count = 0;
TESTING("attribute additions to [un]minimized dataset")
@@ -695,56 +207,43 @@ test_attribute_addition(void)
* SETUP *
*********/
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_A,
- H5P_DEFAULT,
- filename,
- sizeof(filename)) )
+ if(h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename, sizeof(filename)) == NULL)
+ TEST_ERROR
dspace_id = H5Screate_simple(
1, /* rank */
array_10, /* current dimensions */
NULL); /* maximum dimensions */
- FAIL_IF( 0 > dspace_id )
+ if(dspace_id < 0) TEST_ERROR
dspace_scalar_id = H5Screate(H5S_SCALAR);
- FAIL_IF( 0 > dspace_scalar_id )
+ if(dspace_scalar_id < 0) TEST_ERROR
char_type_id = H5Tcopy(H5T_NATIVE_CHAR);
- FAIL_IF( 0 > char_type_id )
+ if(char_type_id < 0) TEST_ERROR
int_type_id = H5Tcopy(H5T_NATIVE_INT);
- FAIL_IF( 0 > int_type_id )
+ if(int_type_id < 0) TEST_ERROR
dcpl_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_id )
- JSVERIFY( SUCCEED, \
- H5Pset_dset_no_attrs_hint(dcpl_id, TRUE), \
- "can't set DCPL to minimize object header")
+ if(dcpl_id < 0) TEST_ERROR
+
+ ret = H5Pset_dset_no_attrs_hint(dcpl_id, TRUE);
+ if(ret < 0) TEST_ERROR
- CREATE_FILE(filename, &file_id)
+ file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ if(file_id < 0) TEST_ERROR
H5E_BEGIN_TRY {
- JSVERIFY( -1, \
- count_attributes(dset_id), \
- "shouldn't be able to count missing dataset")
+ count = count_attributes(dset_id);
} H5E_END_TRY;
+ if(count != -1) TEST_ERROR
- CREATE_DATASET( \
- file_id, /* shorthand for root group? */ \
- "dataset", \
- int_type_id, \
- dspace_id, \
- H5P_DEFAULT, /* default DCPL */ \
- &dset_id)
-
- CREATE_DATASET( \
- file_id, \
- "mindataset", \
- int_type_id, \
- dspace_id, \
- dcpl_id, \
- &mindset_id)
+ dset_id = H5Dcreate(file_id, "dataset", int_type_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if(dset_id < 0) TEST_ERROR
+
+ mindset_id = H5Dcreate(file_id, "mindataset", int_type_id, dspace_id, H5P_DEFAULT, dcpl_id, H5P_DEFAULT);
+ if(mindset_id < 0) TEST_ERROR
/********************
* TEST/DEMONSTRATE *
@@ -754,12 +253,10 @@ test_attribute_addition(void)
* no attributes added
*/
- JSVERIFY( 0, \
- count_attributes(dset_id), \
- NULL)
- JSVERIFY( 0, \
- count_attributes(mindset_id), \
- NULL)
+ count = count_attributes(dset_id);
+ if(count != 0) TEST_ERROR
+ count = count_attributes(mindset_id);
+ if(count != 0) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_id, mindset_id)
@@ -767,41 +264,24 @@ test_attribute_addition(void)
/* -----------------
* add one attribute
*/
+ ret = put_attribute(dset_id, "PURPOSE", "DEMO", char_type_id, dspace_id, &attr_1_id);
+ if(ret < 0) TEST_ERROR
+
+ ret = put_attribute(mindset_id, "PURPOSE", "DEMO", char_type_id, dspace_id, &attr_1a_id);
+ if(ret < 0) TEST_ERROR
- JSVERIFY( SUCCEED, \
- put_attribute( \
- dset_id, \
- "PURPOSE", \
- "DEMO", \
- char_type_id, \
- dspace_id, \
- &attr_1_id), \
- "unable to set attribute 'PURPOSE:DEMO'")
- JSVERIFY( SUCCEED, \
- put_attribute( \
- mindset_id, \
- "PURPOSE", \
- "DEMO", \
- char_type_id, \
- dspace_id, \
- &attr_1a_id), \
- "unable to set attribute 'PURPOSE:DEMO'")
-
- JSVERIFY( 1, \
- count_attributes(dset_id), \
- NULL)
- JSVERIFY( 1, \
- count_attributes(mindset_id), \
- NULL)
-
- JSVERIFY( SUCCEED,
- H5Aread(attr_1_id, char_type_id, buffer),
- "can't read attribute 'PURPOSE'")
- JSVERIFY_STR( "DEMO", buffer, NULL )
- JSVERIFY( SUCCEED,
- H5Aread(attr_1a_id, char_type_id, buffer),
- "can't read attribute 'PURPOSE'")
- JSVERIFY_STR( "DEMO", buffer, NULL )
+ count = count_attributes(dset_id);
+ if(count != 1) TEST_ERROR
+ count = count_attributes(mindset_id);
+ if(count != 1) TEST_ERROR
+
+ ret = H5Aread(attr_1_id, char_type_id, buffer);
+ if(ret < 0) TEST_ERROR
+ if(HDstrcmp("DEMO", buffer)) TEST_ERROR
+
+ ret = H5Aread(attr_1a_id, char_type_id, buffer);
+ if(ret < 0) TEST_ERROR
+ if(HDstrcmp("DEMO", buffer)) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_id, mindset_id)
@@ -810,40 +290,24 @@ test_attribute_addition(void)
* modify one attribute
*/
- JSVERIFY( SUCCEED, \
- put_attribute( \
- dset_id, \
- "PURPOSE", \
- "REWRITE", \
- char_type_id, \
- -1, \
- &attr_1_id), \
- "unable to rewrite attribute 'PURPOSE:REWRITE'")
- JSVERIFY( SUCCEED, \
- put_attribute( \
- mindset_id, \
- "PURPOSE", \
- "REWRITE", \
- char_type_id, \
- -1, \
- &attr_1a_id), \
- "unable to rewrite attribute 'PURPOSE:REWRITE'")
-
- JSVERIFY( 1, \
- count_attributes(dset_id), \
- NULL)
- JSVERIFY( 1, \
- count_attributes(mindset_id), \
- NULL)
-
- JSVERIFY( SUCCEED,
- H5Aread(attr_1_id, char_type_id, buffer),
- "can't read attribute 'PURPOSE'")
- JSVERIFY_STR( "REWRITE", buffer, NULL )
- JSVERIFY( SUCCEED,
- H5Aread(attr_1a_id, char_type_id, buffer),
- "can't read attribute 'PURPOSE'")
- JSVERIFY_STR( "REWRITE", buffer, NULL )
+ ret = put_attribute(dset_id, "PURPOSE", "REWRITE", char_type_id, -1, &attr_1_id);
+ if(ret < 0) TEST_ERROR
+
+ ret = put_attribute(mindset_id, "PURPOSE", "REWRITE", char_type_id, -1, &attr_1a_id);
+ if(ret < 0) TEST_ERROR
+
+ count = count_attributes(dset_id);
+ if(count != 1) TEST_ERROR
+ count = count_attributes(mindset_id);
+ if(count != 1) TEST_ERROR
+
+ ret = H5Aread(attr_1_id, char_type_id, buffer);
+ if(ret < 0) TEST_ERROR
+ if(HDstrcmp("REWRITE", buffer)) TEST_ERROR
+
+ ret = H5Aread(attr_1a_id, char_type_id, buffer);
+ if(ret < 0) TEST_ERROR
+ if(HDstrcmp("REWRITE", buffer)) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_id, mindset_id)
@@ -853,41 +317,25 @@ test_attribute_addition(void)
*/
a_out = 5;
- JSVERIFY( SUCCEED, \
- put_attribute( \
- dset_id, \
- "RANK", \
- &a_out, \
- int_type_id, \
- dspace_scalar_id, \
- &attr_2_id), \
- "unable to set attribute 'RANK:5'")
+ ret = put_attribute(dset_id, "RANK", &a_out, int_type_id, dspace_scalar_id, &attr_2_id);
+ if(ret < 0) TEST_ERROR
+
a_out = 3;
- JSVERIFY( SUCCEED, \
- put_attribute( \
- mindset_id, \
- "RANK", \
- &a_out, \
- int_type_id, \
- dspace_scalar_id, \
- &attr_2a_id), \
- "unable to set attribute (minimized) 'RANK:3'")
-
- JSVERIFY( 2, \
- count_attributes(dset_id), \
- NULL)
- JSVERIFY( 2, \
- count_attributes(mindset_id), \
- NULL)
-
- JSVERIFY( SUCCEED,
- H5Aread(attr_2_id, int_type_id, &a_out),
- "can't read attribute 'RANK'")
- JSVERIFY( 5, a_out, NULL )
- JSVERIFY( SUCCEED,
- H5Aread(attr_2a_id, int_type_id, &a_out),
- "can't read attribute (minimized) 'RANK'")
- JSVERIFY( 3, a_out, NULL )
+ ret = put_attribute(mindset_id, "RANK", &a_out, int_type_id, dspace_scalar_id, &attr_2a_id);
+ if(ret < 0) TEST_ERROR
+
+ count = count_attributes(dset_id);
+ if(count != 2) TEST_ERROR
+ count = count_attributes(mindset_id);
+ if(count != 2) TEST_ERROR
+
+ ret = H5Aread(attr_2_id, int_type_id, &a_out);
+ if(ret < 0) TEST_ERROR
+ if(a_out != 5) TEST_ERROR
+
+ ret = H5Aread(attr_2a_id, int_type_id, &a_out);
+ if(ret < 0) TEST_ERROR
+ if(a_out != 3) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_id, mindset_id)
@@ -897,41 +345,25 @@ test_attribute_addition(void)
*/
a_out = -86;
- JSVERIFY( SUCCEED, \
- put_attribute( \
- dset_id, \
- "FLAVOR", \
- &a_out, \
- int_type_id, \
- dspace_scalar_id, \
- &attr_3_id), \
- "unable to set attribute 'FLAVOR:-86'")
+ ret = put_attribute(dset_id, "FLAVOR", &a_out, int_type_id, dspace_scalar_id, &attr_3_id);
+ if(ret < 0) TEST_ERROR
+
a_out = 2185;
- JSVERIFY( SUCCEED, \
- put_attribute( \
- mindset_id, \
- "FLAVOR", \
- &a_out, \
- int_type_id, \
- dspace_scalar_id, \
- &attr_3a_id), \
- "unable to set attribute (minimized) 'FLAVOR:2185'")
-
- JSVERIFY( 3, \
- count_attributes(dset_id), \
- NULL)
- JSVERIFY( 3, \
- count_attributes(mindset_id), \
- NULL)
-
- JSVERIFY( SUCCEED,
- H5Aread(attr_3_id, int_type_id, &a_out),
- "can't read attribute 'RANK'")
- JSVERIFY( -86, a_out, NULL )
- JSVERIFY( SUCCEED,
- H5Aread(attr_3a_id, int_type_id, &a_out),
- "can't read attribute (minimized) 'RANK'")
- JSVERIFY( 2185, a_out, NULL )
+ ret = put_attribute(mindset_id, "FLAVOR", &a_out, int_type_id, dspace_scalar_id, &attr_3a_id);
+ if(ret < 0) TEST_ERROR
+
+ count = count_attributes(dset_id);
+ if(count != 3) TEST_ERROR
+ count = count_attributes(mindset_id);
+ if(count != 3) TEST_ERROR
+
+ ret = H5Aread(attr_3_id, int_type_id, &a_out);
+ if(ret < 0) TEST_ERROR
+ if(a_out != -86) TEST_ERROR
+
+ ret = H5Aread(attr_3a_id, int_type_id, &a_out);
+ if(ret < 0) TEST_ERROR
+ if(a_out != 2185) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_id, mindset_id)
@@ -940,19 +372,19 @@ test_attribute_addition(void)
* TEARDOWN *
************/
- MUST_CLOSE(int_type_id, CLOSE_DATATYPE)
- MUST_CLOSE(char_type_id, CLOSE_DATATYPE)
- MUST_CLOSE(dcpl_id, CLOSE_PLIST)
- MUST_CLOSE(dspace_id, CLOSE_DATASPACE)
- MUST_CLOSE(dset_id, CLOSE_DATASET)
- MUST_CLOSE(mindset_id, CLOSE_DATASET)
- MUST_CLOSE(attr_1_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(attr_1a_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(attr_2_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(attr_2a_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(attr_3_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(attr_3a_id, CLOSE_ATTRIBUTE)
- MUST_CLOSE(file_id, CLOSE_FILE)
+ if(H5Tclose(int_type_id) < 0) TEST_ERROR
+ if(H5Tclose(char_type_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_id) < 0) TEST_ERROR
+ if(H5Sclose(dspace_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_id) < 0) TEST_ERROR
+ if(H5Dclose(mindset_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_1_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_1a_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_2_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_2a_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_3_id) < 0) TEST_ERROR
+ if(H5Aclose(attr_3a_id) < 0) TEST_ERROR
+ if(H5Fclose(file_id) < 0) TEST_ERROR
PASSED()
return 0;
@@ -1012,114 +444,80 @@ test_size_comparisons(void)
char filename_a[512] = "";
char filename_b[512] = "";
+ herr_t ret;
+
TESTING("default size comparisons");
/*********
* SETUP *
*********/
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_A,
- H5P_DEFAULT,
- filename_a,
- sizeof(filename_a)) )
+ if(h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename_a, sizeof(filename_a)) == NULL)
+ TEST_ERROR
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_B,
- H5P_DEFAULT,
- filename_b,
- sizeof(filename_b)) )
+ if(h5_fixname(OHMIN_FILENAME_B, H5P_DEFAULT, filename_b, sizeof(filename_b)) == NULL)
+ TEST_ERROR
dcpl_minimize = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_minimize )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_minimize, TRUE),
- NULL )
+ if(dcpl_minimize < 0) TEST_ERROR
+
+ ret = H5Pset_dset_no_attrs_hint(dcpl_minimize, TRUE);
+ if(ret < 0) TEST_ERROR
dcpl_dontmin = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_dontmin )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_dontmin, FALSE),
- NULL )
+ if(dcpl_dontmin < 0) TEST_ERROR
- dspace_id = H5Screate_simple(
- 1, /* rank */
- array_10, /* current dimensions */
- NULL); /* maximum dimensions */
- FAIL_IF( 0 > dspace_id )
+ ret = H5Pset_dset_no_attrs_hint(dcpl_dontmin, FALSE);
+ if(ret < 0) TEST_ERROR
+
+ dspace_id = H5Screate_simple(1, array_10, NULL);
+ if(dspace_id < 0) TEST_ERROR
int_type_id = H5Tcopy(H5T_NATIVE_INT);
- FAIL_IF( 0 > int_type_id )
-
- CREATE_FILE(filename_a, &file_f_id)
-
- CREATE_DATASET( \
- file_f_id, \
- "default", \
- int_type_id, \
- dspace_id, \
- H5P_DEFAULT, \
- &dset_f_x_id)
-
- CREATE_DATASET( \
- file_f_id, \
- "dsetNOT", \
- int_type_id, \
- dspace_id, \
- dcpl_dontmin, \
- &dset_f_N_id)
-
- CREATE_DATASET( \
- file_f_id, \
- "dsetMIN", \
- int_type_id, \
- dspace_id, \
- dcpl_minimize, \
- &dset_f_Y_id)
-
- CREATE_FILE(filename_b, &file_F_id)
- FAIL_IF( 0 > H5Fset_dset_no_attrs_hint(file_F_id, TRUE) )
-
- CREATE_DATASET( \
- file_F_id, \
- "default", \
- int_type_id, \
- dspace_id, \
- H5P_DEFAULT, \
- &dset_F_x_id)
-
- CREATE_DATASET( \
- file_F_id, \
- "dsetNOT", \
- int_type_id, \
- dspace_id, \
- dcpl_dontmin, \
- &dset_F_N_id)
-
- CREATE_DATASET( \
- file_F_id, \
- "dsetMIN", \
- int_type_id, \
- dspace_id, \
- dcpl_minimize, \
- &dset_F_Y_id)
+ if(int_type_id < 0) TEST_ERROR
+
+ file_f_id = H5Fcreate(filename_a, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ if(file_f_id < 0) TEST_ERROR
+
+ dset_f_x_id = H5Dcreate(file_f_id, "default", int_type_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if(dset_f_x_id < 0) TEST_ERROR
+
+ dset_f_N_id = H5Dcreate(file_f_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
+ if(dset_f_N_id < 0) TEST_ERROR
+
+ dset_f_Y_id = H5Dcreate(file_f_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
+ if(dset_f_x_id < 0) TEST_ERROR
+
+ file_F_id = H5Fcreate(filename_b, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ if(file_F_id < 0) TEST_ERROR
+ ret = H5Fset_dset_no_attrs_hint(file_F_id, TRUE);
+ if(ret < 0) TEST_ERROR
+
+ dset_F_x_id = H5Dcreate(file_F_id, "default", int_type_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if(dset_F_x_id < 0) TEST_ERROR
+
+ dset_F_N_id = H5Dcreate(file_F_id, "dsetNOT", int_type_id, dspace_id, H5P_DEFAULT, dcpl_dontmin, H5P_DEFAULT);
+ if(dset_F_N_id < 0) TEST_ERROR
+
+ dset_F_Y_id = H5Dcreate(file_F_id, "dsetMIN", int_type_id, dspace_id, H5P_DEFAULT, dcpl_minimize, H5P_DEFAULT);
+ if(dset_F_Y_id < 0) TEST_ERROR
/*********
* TESTS *
*********/
- JSVERIFY( EQ, oh_compare(dset_f_x_id, dset_f_x_id), NULL ) /* identity */
+ if(oh_compare(dset_f_x_id, dset_f_x_id) != EQ) TEST_ERROR /* identity */
- JSVERIFY( EQ, oh_compare(dset_f_x_id, dset_f_N_id), NULL )
- JSVERIFY( GT, oh_compare(dset_f_x_id, dset_f_Y_id), NULL )
- JSVERIFY( GT, oh_compare(dset_f_N_id, dset_f_Y_id), NULL )
+ if(oh_compare(dset_f_x_id, dset_f_N_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_f_x_id, dset_f_Y_id) != GT) TEST_ERROR
+ if(oh_compare(dset_f_N_id, dset_f_Y_id) != GT) TEST_ERROR
- JSVERIFY( EQ, oh_compare(dset_F_x_id, dset_F_N_id), NULL )
- JSVERIFY( EQ, oh_compare(dset_F_x_id, dset_F_Y_id), NULL )
- JSVERIFY( EQ, oh_compare(dset_F_N_id, dset_F_Y_id), NULL )
+ if(oh_compare(dset_F_x_id, dset_F_N_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_F_x_id, dset_F_Y_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_F_N_id, dset_F_Y_id) != EQ) TEST_ERROR
- JSVERIFY( EQ, oh_compare(dset_F_x_id, dset_f_Y_id), NULL )
- JSVERIFY( LT, oh_compare(dset_F_x_id, dset_f_x_id), NULL )
+ if(oh_compare(dset_F_x_id, dset_f_Y_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_F_x_id, dset_f_x_id) != LT) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_f_x_id, dset_F_x_id)
@@ -1128,20 +526,20 @@ test_size_comparisons(void)
* TEARDOWN *
************/
- MUST_CLOSE(dspace_id, CLOSE_DATASPACE)
- MUST_CLOSE(int_type_id, CLOSE_DATATYPE)
- MUST_CLOSE(dcpl_minimize, CLOSE_PLIST)
- MUST_CLOSE(dcpl_dontmin, CLOSE_PLIST)
+ if(H5Sclose(dspace_id) < 0) TEST_ERROR
+ if(H5Tclose(int_type_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_minimize) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_dontmin) < 0) TEST_ERROR
- MUST_CLOSE(file_f_id, CLOSE_FILE)
- MUST_CLOSE(dset_f_x_id, CLOSE_DATASET)
- MUST_CLOSE(dset_f_N_id, CLOSE_DATASET)
- MUST_CLOSE(dset_f_Y_id, CLOSE_DATASET)
+ if(H5Fclose(file_f_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_f_x_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_f_N_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_f_Y_id) < 0) TEST_ERROR
- MUST_CLOSE(file_F_id, CLOSE_FILE)
- MUST_CLOSE(dset_F_x_id, CLOSE_DATASET)
- MUST_CLOSE(dset_F_N_id, CLOSE_DATASET)
- MUST_CLOSE(dset_F_Y_id, CLOSE_DATASET)
+ if(H5Fclose(file_F_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_F_x_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_F_N_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_F_Y_id) < 0) TEST_ERROR
PASSED()
return 0;
@@ -1189,6 +587,7 @@ test_minimized_with_filter(void)
hid_t dset_mx_id = -1;
hid_t dset_mZ_id = -1;
hid_t file_id = -1;
+ herr_t ret;
/* | default | minimize
* ----------+---------+---------
@@ -1203,98 +602,59 @@ test_minimized_with_filter(void)
* SETUP *
*********/
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_A,
- H5P_DEFAULT,
- filename,
- sizeof(filename)) )
+ if(h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename, sizeof(filename)) == NULL)
+ TEST_ERROR
dcpl_mx_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_mx_id )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_mx_id, TRUE),
- NULL )
+ if(dcpl_mx_id < 0) TEST_ERROR
+ ret = H5Pset_dset_no_attrs_hint(dcpl_mx_id, TRUE);
+ if(ret < 0) TEST_ERROR
dcpl_xZ_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_xZ_id )
- JSVERIFY( SUCCEED,
- H5Pset_chunk(dcpl_xZ_id, ndims, chunk_dim),
- "unable to chunk dataset")
- JSVERIFY( SUCCEED,
- H5Pset_filter(
- dcpl_xZ_id,
- H5Z_FILTER_DEFLATE,
- H5Z_FLAG_OPTIONAL,
- 0,
- filter_values),
- "unable to set compression")
+ if(dcpl_xZ_id < 0) TEST_ERROR
+ ret = H5Pset_chunk(dcpl_xZ_id, ndims, chunk_dim);
+ if(ret < 0) TEST_ERROR
+ ret = H5Pset_filter(dcpl_xZ_id, H5Z_FILTER_DEFLATE, H5Z_FLAG_OPTIONAL, 0, filter_values);
+ if(ret < 0) TEST_ERROR
dcpl_mZ_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_mZ_id )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_mZ_id, TRUE),
- "unable to minimize to-be-filtered dataset header")
- JSVERIFY( SUCCEED,
- H5Pset_chunk(dcpl_mZ_id, ndims, chunk_dim),
- "unable to chunk minimized dataset")
- JSVERIFY( SUCCEED,
- H5Pset_filter(
- dcpl_mZ_id,
- H5Z_FILTER_DEFLATE,
- H5Z_FLAG_OPTIONAL,
- 0,
- filter_values),
- "unable to set compression (minimized)")
+ if(dcpl_mZ_id < 0) TEST_ERROR
+ ret = H5Pset_dset_no_attrs_hint(dcpl_mZ_id, TRUE);
+ if(ret < 0) TEST_ERROR
+ ret = H5Pset_chunk(dcpl_mZ_id, ndims, chunk_dim);
+ if(ret < 0) TEST_ERROR
+ ret = H5Pset_filter( dcpl_mZ_id, H5Z_FILTER_DEFLATE, H5Z_FLAG_OPTIONAL, 0, filter_values);
+ if(ret < 0) TEST_ERROR
dspace_id = H5Screate_simple(1, extents, extents);
- FAIL_IF( 0 > dspace_id )
+ if(dspace_id < 0) TEST_ERROR
dtype_id = H5Tcopy(H5T_NATIVE_INT);
- FAIL_IF( 0 > dtype_id )
-
-
- CREATE_FILE(filename, &file_id)
-
- CREATE_DATASET( \
- file_id, \
- "xx", \
- dtype_id, \
- dspace_id, \
- H5P_DEFAULT, \
- &dset_xx_id)
-
- CREATE_DATASET( \
- file_id, \
- "Mx", \
- dtype_id, \
- dspace_id, \
- dcpl_mx_id, \
- &dset_mx_id)
-
- CREATE_DATASET( \
- file_id, \
- "xZ", \
- dtype_id, \
- dspace_id, \
- dcpl_xZ_id, \
- &dset_xZ_id)
-
- CREATE_DATASET( \
- file_id, \
- "MZ", \
- dtype_id, \
- dspace_id, \
- dcpl_mZ_id, \
- &dset_mZ_id)
+ if(dtype_id < 0) TEST_ERROR
+
+ file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+ if(file_id < 0) TEST_ERROR
+
+ dset_xx_id = H5Dcreate(file_id, "xx", dtype_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if(dset_xx_id < 0) TEST_ERROR
+
+ dset_mx_id = H5Dcreate(file_id, "Mx", dtype_id, dspace_id, H5P_DEFAULT, dcpl_mx_id, H5P_DEFAULT);
+ if(dset_mx_id < 0) TEST_ERROR
+
+ dset_xZ_id = H5Dcreate(file_id, "xZ", dtype_id, dspace_id, H5P_DEFAULT, dcpl_xZ_id, H5P_DEFAULT);
+ if(dset_xZ_id < 0) TEST_ERROR
+
+ dset_mZ_id = H5Dcreate(file_id, "MZ", dtype_id, dspace_id, H5P_DEFAULT, dcpl_mZ_id, H5P_DEFAULT);
+ if(dset_mZ_id < 0) TEST_ERROR
/*********
* TESTS *
*********/
- JSVERIFY( LT, oh_compare(dset_mx_id, dset_xx_id), NULL )
- JSVERIFY( LT, oh_compare(dset_mx_id, dset_xZ_id), NULL )
- JSVERIFY( GT, oh_compare(dset_mZ_id, dset_mx_id), NULL )
- JSVERIFY( LT, oh_compare(dset_mZ_id, dset_xZ_id), NULL )
+ if(oh_compare(dset_mx_id, dset_xx_id) != LT) TEST_ERROR
+ if(oh_compare(dset_mx_id, dset_xZ_id) != LT) TEST_ERROR
+ if(oh_compare(dset_mZ_id, dset_mx_id) != GT) TEST_ERROR
+ if(oh_compare(dset_mZ_id, dset_xZ_id) != LT) TEST_ERROR
if (DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_xZ_id, dset_mZ_id)
@@ -1303,16 +663,16 @@ test_minimized_with_filter(void)
* TEARDOWN *
************/
- MUST_CLOSE(dspace_id, CLOSE_DATASPACE)
- MUST_CLOSE(dtype_id, CLOSE_DATATYPE)
- MUST_CLOSE(dcpl_xZ_id, CLOSE_PLIST)
- MUST_CLOSE(dcpl_mx_id, CLOSE_PLIST)
- MUST_CLOSE(dcpl_mZ_id, CLOSE_PLIST)
- MUST_CLOSE(dset_xx_id, CLOSE_DATASET)
- MUST_CLOSE(dset_xZ_id, CLOSE_DATASET)
- MUST_CLOSE(dset_mx_id, CLOSE_DATASET)
- MUST_CLOSE(dset_mZ_id, CLOSE_DATASET)
- MUST_CLOSE(file_id, CLOSE_FILE)
+ if(H5Sclose(dspace_id) < 0) TEST_ERROR
+ if(H5Tclose(dtype_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_xZ_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_mx_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_mZ_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_xx_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_xZ_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_mx_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_mZ_id) < 0) TEST_ERROR
+ if(H5Fclose(file_id) < 0) TEST_ERROR
PASSED()
return 0;
@@ -1362,6 +722,7 @@ test_modification_times(void)
hid_t dset_mN_id = -1;
hid_t file_id = -1;
hid_t fapl_id = -1;
+ herr_t ret;
unsigned i = 0; /* for testcase loop */
unsigned n_cases = 2; /* must match `cases` array size below */
@@ -1376,47 +737,38 @@ test_modification_times(void)
* SETUP *
*********/
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_A,
- H5P_DEFAULT,
- filename,
- sizeof(filename)) )
+ if(h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename, sizeof(filename)) == NULL)
+ TEST_ERROR
dcpl_mx_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_mx_id )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_mx_id, TRUE),
- NULL )
+ if(dcpl_mx_id < 0) TEST_ERROR
+ ret = H5Pset_dset_no_attrs_hint(dcpl_mx_id, TRUE);
+ if(ret < 0) TEST_ERROR
dcpl_xT_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_xT_id )
- JSVERIFY( SUCCEED,
- H5Pset_obj_track_times(dcpl_xT_id, TRUE),
- "unable to set unminimized dcpl to track modtime" )
+ if(dcpl_xT_id < 0) TEST_ERROR
+ ret = H5Pset_obj_track_times(dcpl_xT_id, TRUE);
+ if(ret < 0) TEST_ERROR
dcpl_mT_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_mT_id )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_mT_id, TRUE),
- "unable to minimize to-be-filtered dataset header")
- JSVERIFY( SUCCEED,
- H5Pset_obj_track_times(dcpl_mT_id, TRUE),
- "unable to set minimized dcpl to track modtime" )
+ if(dcpl_mT_id < 0) TEST_ERROR
+ ret = H5Pset_dset_no_attrs_hint(dcpl_mT_id, TRUE);
+ if(ret < 0) TEST_ERROR
+ ret = H5Pset_obj_track_times(dcpl_mT_id, TRUE);
+ if(ret < 0) TEST_ERROR
dcpl_mN_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_mN_id )
- JSVERIFY( SUCCEED,
- H5Pset_dset_no_attrs_hint(dcpl_mN_id, TRUE),
- "unable to minimize to-be-filtered dataset header")
- JSVERIFY( SUCCEED,
- H5Pset_obj_track_times(dcpl_mN_id, FALSE),
- "unable to set minimized dcpl to NOT track modtime" )
+ if(dcpl_mN_id < 0) TEST_ERROR
+ ret = H5Pset_dset_no_attrs_hint(dcpl_mN_id, TRUE);
+ if(ret < 0) TEST_ERROR
+ ret = H5Pset_obj_track_times(dcpl_mN_id, FALSE);
+ if(ret < 0) TEST_ERROR
dspace_id = H5Screate_simple(1, extents, extents);
- FAIL_IF( 0 > dspace_id )
+ if(dspace_id < 0) TEST_ERROR
dtype_id = H5Tcopy(H5T_NATIVE_INT);
- FAIL_IF( 0 > dtype_id )
+ if(dtype_id < 0) TEST_ERROR
for (i = 0; i < n_cases; i++) {
@@ -1428,69 +780,36 @@ test_modification_times(void)
if (cases[i].oh_version > 1) {
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
- FAIL_IF( 0 > fapl_id);
- JSVERIFY( SUCCEED,
- H5Pset_libver_bounds(
- fapl_id,
- H5F_LIBVER_V18,
- H5F_LIBVER_V110),
- "unable to set file to use v2 object headers" )
+ if(fapl_id < 0) TEST_ERROR
+ ret = H5Pset_libver_bounds(fapl_id, H5F_LIBVER_V18, H5F_LIBVER_V110);
+ if(ret < 0) TEST_ERROR
}
- file_id = H5Fcreate(
- filename,
- H5F_ACC_TRUNC,
- H5P_DEFAULT,
- fapl_id);
- FAIL_IF( 0 > file_id )
-
- CREATE_DATASET( \
- file_id, \
- "xx", \
- dtype_id, \
- dspace_id, \
- H5P_DEFAULT, \
- &dset_xx_id)
-
- CREATE_DATASET( \
- file_id, \
- "mx", \
- dtype_id, \
- dspace_id, \
- dcpl_mx_id, \
- &dset_mx_id)
-
- CREATE_DATASET( \
- file_id, \
- "xT", \
- dtype_id, \
- dspace_id, \
- dcpl_xT_id, \
- &dset_xT_id)
-
- CREATE_DATASET( \
- file_id, \
- "mT", \
- dtype_id, \
- dspace_id, \
- dcpl_mT_id, \
- &dset_mT_id)
-
- CREATE_DATASET( \
- file_id, \
- "mN", \
- dtype_id, \
- dspace_id, \
- dcpl_mN_id, \
- &dset_mN_id)
+ file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
+ if(file_id < 0) TEST_ERROR
+
+ dset_xx_id = H5Dcreate( file_id, "xx", dtype_id, dspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if(dset_xx_id < 0) TEST_ERROR
+
+ dset_mx_id = H5Dcreate(file_id, "mx", dtype_id, dspace_id, H5P_DEFAULT, dcpl_mx_id, H5P_DEFAULT);
+ if(dset_mx_id < 0) TEST_ERROR
+
+ dset_xT_id = H5Dcreate(file_id, "xT", dtype_id, dspace_id, H5P_DEFAULT, dcpl_xT_id, H5P_DEFAULT);
+ if(dset_xT_id < 0) TEST_ERROR
+
+ dset_mT_id = H5Dcreate(file_id, "mT", dtype_id, dspace_id, H5P_DEFAULT, dcpl_mT_id, H5P_DEFAULT);
+ if(dset_mT_id < 0) TEST_ERROR
+
+ dset_mN_id = H5Dcreate(file_id, "mN", dtype_id, dspace_id, H5P_DEFAULT, dcpl_mN_id, H5P_DEFAULT);
+ if(dset_mN_id < 0) TEST_ERROR
/* ----- *
* TESTS *
* ----- */
/* sanity check */
- FAIL_IF( LT != oh_compare(dset_mx_id, dset_xx_id) )
- FAIL_IF( LT != oh_compare(dset_mx_id, dset_xT_id) )
+ if(oh_compare(dset_mx_id, dset_xx_id) != LT) TEST_ERROR
+ if(oh_compare(dset_mx_id, dset_xT_id) != LT) TEST_ERROR
if (DEBUG_OH_SIZE) {
PRINT_DSET_OH_COMPARISON(dset_xx_id, dset_mx_id)
@@ -1498,26 +817,25 @@ test_modification_times(void)
PRINT_DSET_OH_COMPARISON(dset_mT_id, dset_mN_id)
}
- JSVERIFY( EQ, oh_compare(dset_xx_id, dset_xT_id), NULL )
- JSVERIFY( EQ, oh_compare(dset_mx_id, dset_mT_id), NULL )
- JSVERIFY( LT, oh_compare(dset_mN_id, dset_mT_id), NULL )
+ if(oh_compare(dset_xx_id, dset_xT_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_mx_id, dset_mT_id) != EQ) TEST_ERROR
+ if(oh_compare(dset_mN_id, dset_mT_id) != LT) TEST_ERROR
- JSVERIFY( LT, oh_compare(dset_mT_id, dset_xT_id),
- "minimized should always be smaller than unminimized" )
+ if(oh_compare(dset_mT_id, dset_xT_id) != LT) TEST_ERROR
/* ----------------- *
* per-case teardown *
* ----------------- */
- MUST_CLOSE(dset_xx_id, CLOSE_DATASET)
- MUST_CLOSE(dset_xT_id, CLOSE_DATASET)
- MUST_CLOSE(dset_mx_id, CLOSE_DATASET)
- MUST_CLOSE(dset_mT_id, CLOSE_DATASET)
- MUST_CLOSE(dset_mN_id, CLOSE_DATASET)
- MUST_CLOSE(file_id, CLOSE_FILE)
+ if(H5Dclose(dset_xx_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_xT_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_mx_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_mT_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_mN_id) < 0) TEST_ERROR
+ if(H5Fclose(file_id) < 0) TEST_ERROR
- if (fapl_id != H5P_DEFAULT)
- MUST_CLOSE(fapl_id, CLOSE_PLIST)
+ if ((fapl_id != H5P_DEFAULT) && (H5Pclose(fapl_id) < 0))
+ TEST_ERROR
} /* for each version tested */
@@ -1525,12 +843,12 @@ test_modification_times(void)
* TEARDOWN *
************/
- MUST_CLOSE(dspace_id, CLOSE_DATASPACE)
- MUST_CLOSE(dtype_id, CLOSE_DATATYPE)
- MUST_CLOSE(dcpl_xT_id, CLOSE_PLIST)
- MUST_CLOSE(dcpl_mx_id, CLOSE_PLIST)
- MUST_CLOSE(dcpl_mT_id, CLOSE_PLIST)
- MUST_CLOSE(dcpl_mN_id, CLOSE_PLIST)
+ if(H5Sclose(dspace_id) < 0) TEST_ERROR
+ if(H5Tclose(dtype_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_xT_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_mx_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_mT_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_mN_id) < 0) TEST_ERROR
PASSED()
return 0;
@@ -1572,6 +890,7 @@ test_fillvalue_backwards_compatability(void)
hid_t fapl_id = -1;
hid_t dset_0_id = -1;
hid_t dset_1_id = -1;
+ herr_t ret;
/*********
* SETUP *
@@ -1579,96 +898,77 @@ test_fillvalue_backwards_compatability(void)
TESTING("with fill values and different libver support");
- FAIL_IF( NULL == h5_fixname(
- OHMIN_FILENAME_A,
- H5P_DEFAULT,
- filename,
- sizeof(filename)) )
+ if(h5_fixname(OHMIN_FILENAME_A, H5P_DEFAULT, filename, sizeof(filename)) == NULL)
+ TEST_ERROR
dspace_id = H5Screate_simple(1, extents, extents);
- FAIL_IF( 0 > dspace_id )
+ if(dspace_id < 0) TEST_ERROR
dtype_id = H5Tcopy(H5T_NATIVE_INT);
- FAIL_IF( 0 > dtype_id )
+ if(dtype_id < 0) TEST_ERROR
dcpl_id = H5Pcreate(H5P_DATASET_CREATE);
- FAIL_IF( 0 > dcpl_id )
- FAIL_IF( FAIL == H5Pset_dset_no_attrs_hint(dcpl_id, TRUE) )
- FAIL_IF( FAIL == H5Pset_fill_value(dcpl_id, dtype_id, fill) )
+ if(dcpl_id < 0) TEST_ERROR
+
+ ret = H5Pset_dset_no_attrs_hint(dcpl_id, TRUE);
+ if(ret == FAIL) TEST_ERROR;
+
+ ret = H5Pset_fill_value(dcpl_id, dtype_id, fill);
+ if(ret == FAIL) TEST_ERROR;
fapl_id = H5Pcreate(H5P_FILE_ACCESS);
- FAIL_IF( 0 > fapl_id )
- FAIL_IF( FAIL == H5Pset_libver_bounds(
- fapl_id,
- H5F_LIBVER_EARLIEST,
- H5F_LIBVER_LATEST) )
-
- file_id = H5Fcreate(
- filename,
- H5F_ACC_TRUNC,
- H5P_DEFAULT,
- fapl_id);
- FAIL_IF( 0 > file_id )
-
- CREATE_DATASET( \
- file_id, \
- "fullrange", \
- dtype_id, \
- dspace_id, \
- dcpl_id, \
- &dset_0_id)
+ if(fapl_id < 0) TEST_ERROR
+
+ ret = H5Pset_libver_bounds(fapl_id, H5F_LIBVER_EARLIEST, H5F_LIBVER_LATEST);
+ if(ret == FAIL) TEST_ERROR;
+
+ file_id = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_id);
+ if(file_id < 0) TEST_ERROR
+
+ dset_0_id = H5Dcreate(file_id, "fullrange", dtype_id, dspace_id, H5P_DEFAULT, dcpl_id, H5P_DEFAULT);
+ if(dset_0_id < 0) TEST_ERROR
/* Close file and re-open with different libver bounds.
* Dataset "fullrange" must also be closed for expected reopen behavior.
*/
- MUST_CLOSE(file_id, CLOSE_FILE)
- MUST_CLOSE(dset_0_id, CLOSE_DATASET)
-
- FAIL_IF( FAIL == H5Pset_libver_bounds(
- fapl_id,
- H5F_LIBVER_V18,
- H5F_LIBVER_LATEST) )
-
- file_id = H5Fopen(
- filename,
- H5F_ACC_RDWR,
- fapl_id);
- FAIL_IF( 0 > file_id )
-
- CREATE_DATASET( \
- file_id, \
- "upperrange", \
- dtype_id, \
- dspace_id, \
- dcpl_id, \
- &dset_1_id)
+ if(H5Fclose(file_id) < 0) TEST_ERROR;
+ if(H5Dclose(dset_0_id) < 0) TEST_ERROR
+
+ ret = H5Pset_libver_bounds(fapl_id, H5F_LIBVER_V18, H5F_LIBVER_LATEST);
+ if(ret == FAIL) TEST_ERROR;
+
+ file_id = H5Fopen(filename, H5F_ACC_RDWR, fapl_id);
+ if(file_id < 0) TEST_ERROR
+
+ dset_1_id = H5Dcreate(file_id, "upperrange", dtype_id, dspace_id, H5P_DEFAULT, dcpl_id, H5P_DEFAULT);
+ if(dset_1_id < 0) TEST_ERROR
/* re-open "fullrange" dataset
*/
dset_0_id = H5Dopen2(file_id, "fullrange", H5P_DEFAULT);
- FAIL_IF( 0 > dset_0_id)
+ if(dset_0_id < 0) TEST_ERROR
/*********
* TESTS *
*********/
- if (DEBUG_OH_SIZE)
+ if(DEBUG_OH_SIZE)
PRINT_DSET_OH_COMPARISON(dset_1_id, dset_0_id)
- JSVERIFY( LT, oh_compare(dset_1_id, dset_0_id),
- "dset not supporting pre-1.08 should be smaller?")
+ /* dset not supporting pre-1.08 should be smaller? */
+ if(oh_compare(dset_1_id, dset_0_id) != LT) TEST_ERROR
/************
* TEARDOWN *
************/
- MUST_CLOSE(dspace_id, CLOSE_DATASPACE)
- MUST_CLOSE(dtype_id, CLOSE_DATATYPE)
- MUST_CLOSE(dcpl_id, CLOSE_PLIST)
- MUST_CLOSE(fapl_id, CLOSE_PLIST)
- MUST_CLOSE(dset_0_id, CLOSE_DATASET)
- MUST_CLOSE(dset_1_id, CLOSE_DATASET)
- MUST_CLOSE(file_id, CLOSE_FILE)
+ if(H5Sclose(dspace_id) < 0) TEST_ERROR
+ if(H5Tclose(dtype_id) < 0) TEST_ERROR
+ if(H5Pclose(dcpl_id) < 0) TEST_ERROR
+ if(H5Pclose(fapl_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_0_id) < 0) TEST_ERROR
+ if(H5Dclose(dset_1_id) < 0) TEST_ERROR
+ if(H5Fclose(file_id) < 0) TEST_ERROR;
PASSED()
return 0;