summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/.distdep96
-rw-r--r--test/dtypes.c443
-rw-r--r--test/flush1.c2
-rw-r--r--test/flush2.c9
4 files changed, 500 insertions, 50 deletions
diff --git a/test/.distdep b/test/.distdep
index 59fb5c4..47dc29d 100644
--- a/test/.distdep
+++ b/test/.distdep
@@ -1038,3 +1038,99 @@ fillval.lo: \
../src/H5Fprivate.h \
../src/H5Rprivate.h \
../src/H5Tprivate.h
+dtypes.lo: \
+ dtypes.c \
+ h5test.h \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5api_adpt.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Apublic.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5HGpublic.h \
+ ../src/H5HLpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Zpublic.h \
+ ../src/H5Rpublic.h \
+ ../src/H5RApublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h \
+ ../src/H5private.h \
+ ../src/H5Tpkg.h \
+ ../src/H5HGprivate.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Rprivate.h \
+ ../src/H5Tprivate.h
+flush1.lo: \
+ flush1.c \
+ h5test.h \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5api_adpt.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Apublic.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5HGpublic.h \
+ ../src/H5HLpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Zpublic.h \
+ ../src/H5Rpublic.h \
+ ../src/H5RApublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h \
+ ../src/H5private.h \
+ ../src/H5Tpkg.h \
+ ../src/H5HGprivate.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Rprivate.h \
+ ../src/H5Tprivate.h
+flush2.lo: \
+ flush2.c \
+ h5test.h \
+ ../src/hdf5.h \
+ ../src/H5public.h \
+ ../src/H5config.h \
+ ../src/H5api_adpt.h \
+ ../src/H5Ipublic.h \
+ ../src/H5Apublic.h \
+ ../src/H5ACpublic.h \
+ ../src/H5Bpublic.h \
+ ../src/H5Dpublic.h \
+ ../src/H5Epublic.h \
+ ../src/H5Fpublic.h \
+ ../src/H5Gpublic.h \
+ ../src/H5HGpublic.h \
+ ../src/H5HLpublic.h \
+ ../src/H5MFpublic.h \
+ ../src/H5MMpublic.h \
+ ../src/H5Opublic.h \
+ ../src/H5Ppublic.h \
+ ../src/H5Zpublic.h \
+ ../src/H5Rpublic.h \
+ ../src/H5RApublic.h \
+ ../src/H5Spublic.h \
+ ../src/H5Tpublic.h \
+ ../src/H5private.h \
+ ../src/H5Tpkg.h \
+ ../src/H5HGprivate.h \
+ ../src/H5Fprivate.h \
+ ../src/H5Rprivate.h \
+ ../src/H5Tprivate.h
diff --git a/test/dtypes.c b/test/dtypes.c
index 484ca24..5325260 100644
--- a/test/dtypes.c
+++ b/test/dtypes.c
@@ -285,7 +285,7 @@ reset_hdf5(void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Tuesday, December 9, 1997
@@ -294,7 +294,7 @@ reset_hdf5(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_classes(void)
{
H5T_class_t tcls;
@@ -317,7 +317,7 @@ test_classes(void)
return 0;
error:
- return -1;
+ return 1;
}
@@ -328,7 +328,7 @@ test_classes(void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Tuesday, December 9, 1997
@@ -337,7 +337,7 @@ test_classes(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_copy(void)
{
hid_t a_copy;
@@ -362,18 +362,18 @@ test_copy(void)
return 0;
error:
- return -1;
+ return 1;
}
/*-------------------------------------------------------------------------
- * Function: test_compound
+ * Function: test_compound_1
*
* Purpose: Tests various things about compound data types.
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Wednesday, January 7, 1998
@@ -382,8 +382,8 @@ test_copy(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
-test_compound(void)
+static int
+test_compound_1(void)
{
complex_t tmp;
hid_t complex_id;
@@ -404,18 +404,361 @@ test_compound(void)
return 0;
error:
- return -1;
+ return 1;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: test_compound_2
+ *
+ * Purpose: Tests a compound type conversion where the source and
+ * destination are the same except for the order of the
+ * elements.
+ *
+ * Return: Success: 0
+ *
+ * Failure: number of errors
+ *
+ * Programmer: Robb Matzke
+ * Thursday, June 17, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+test_compound_2(void)
+{
+ struct st {
+ int a, b, c[4], d, e;
+ } *s_ptr;
+ struct dt {
+ int e, d, c[4], b, a;
+ } *d_ptr;
+
+ const int nelmts = 200000;
+ const size_t four = 4;
+ unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+ hid_t st=-1, dt=-1;
+ int i;
+
+ TESTING("compound element reordering");
+
+ /* Sizes should be the same, but be careful just in case */
+ buf = malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = malloc(nelmts * sizeof(struct dt));
+ orig = malloc(nelmts * sizeof(struct st));
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ s_ptr->a = i*8+0;
+ s_ptr->b = i*8+1;
+ s_ptr->c[0] = i*8+2;
+ s_ptr->c[1] = i*8+3;
+ s_ptr->c[2] = i*8+4;
+ s_ptr->c[3] = i*8+5;
+ s_ptr->d = i*8+6;
+ s_ptr->e = i*8+7;
+ }
+ memcpy(buf, orig, nelmts*sizeof(struct st));
+
+ /* Build hdf5 datatypes */
+ if ((st=H5Tcreate(H5T_COMPOUND, sizeof(struct st)))<0 ||
+ H5Tinsert(st, "a", HOFFSET(struct st, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "b", HOFFSET(struct st, b), H5T_NATIVE_INT)<0 ||
+ H5Tinsert_array(st, "c", HOFFSET(struct st, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "d", HOFFSET(struct st, d), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "e", HOFFSET(struct st, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ if ((dt=H5Tcreate(H5T_COMPOUND, sizeof(struct dt)))<0 ||
+ H5Tinsert(dt, "a", HOFFSET(struct dt, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "b", HOFFSET(struct dt, b), H5T_NATIVE_INT)<0 ||
+ H5Tinsert_array(dt, "c", HOFFSET(struct dt, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "d", HOFFSET(struct dt, d), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "e", HOFFSET(struct dt, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ /* Perform the conversion */
+ if (H5Tconvert(st, dt, nelmts, buf, bkg)<0) goto error;
+
+ /* Compare results */
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ d_ptr = ((struct dt*)buf) + i;
+ if (s_ptr->a != d_ptr->a ||
+ s_ptr->b != d_ptr->b ||
+ s_ptr->c[0] != d_ptr->c[0] ||
+ s_ptr->c[1] != d_ptr->c[1] ||
+ s_ptr->c[2] != d_ptr->c[2] ||
+ s_ptr->c[3] != d_ptr->c[3] ||
+ s_ptr->d != d_ptr->d ||
+ s_ptr->e != d_ptr->e) {
+ FAILED();
+ printf(" i=%d\n", i);
+ printf(" src={a=%d, b=%d, c=[%d,%d,%d,%d], d=%d, e=%d\n",
+ s_ptr->a, s_ptr->b, s_ptr->c[0], s_ptr->c[1], s_ptr->c[2],
+ s_ptr->c[3], s_ptr->d, s_ptr->e);
+ printf(" dst={a=%d, b=%d, c=[%d,%d,%d,%d], d=%d, e=%d\n",
+ d_ptr->a, d_ptr->b, d_ptr->c[0], d_ptr->c[1], d_ptr->c[2],
+ d_ptr->c[3], d_ptr->d, d_ptr->e);
+ goto error;
+ }
+ }
+
+ /* Release resources */
+ free(buf);
+ free(bkg);
+ free(orig);
+ if (H5Tclose(st)<0 || H5Tclose(dt)<0) goto error;
+
+ PASSED();
+ reset_hdf5();
+ return 0;
+
+ error:
+ return 1;
}
/*-------------------------------------------------------------------------
+ * Function: test_compound_3
+ *
+ * Purpose: Tests compound conversions where the source and destination
+ * are the same except the destination is missing a couple
+ * members which appear in the source.
+ *
+ * Return: Success: 0
+ *
+ * Failure: number of errors
+ *
+ * Programmer: Robb Matzke
+ * Thursday, June 17, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+test_compound_3(void)
+{
+ struct st {
+ int a, b, c[4], d, e;
+ } *s_ptr;
+ struct dt {
+ int a, c[4], e;
+ } *d_ptr;
+
+ const int nelmts = 200000;
+ const size_t four = 4;
+ unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+ hid_t st=-1, dt=-1;
+ int i;
+
+ TESTING("compound subset conversions");
+
+ /* Initialize */
+ buf = malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = malloc(nelmts * sizeof(struct dt));
+ orig = malloc(nelmts * sizeof(struct st));
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ s_ptr->a = i*8+0;
+ s_ptr->b = i*8+1;
+ s_ptr->c[0] = i*8+2;
+ s_ptr->c[1] = i*8+3;
+ s_ptr->c[2] = i*8+4;
+ s_ptr->c[3] = i*8+5;
+ s_ptr->d = i*8+6;
+ s_ptr->e = i*8+7;
+ }
+ memcpy(buf, orig, nelmts*sizeof(struct st));
+
+ /* Build hdf5 datatypes */
+ if ((st=H5Tcreate(H5T_COMPOUND, sizeof(struct st)))<0 ||
+ H5Tinsert(st, "a", HOFFSET(struct st, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "b", HOFFSET(struct st, b), H5T_NATIVE_INT)<0 ||
+ H5Tinsert_array(st, "c", HOFFSET(struct st, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "d", HOFFSET(struct st, d), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "e", HOFFSET(struct st, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ if ((dt=H5Tcreate(H5T_COMPOUND, sizeof(struct dt)))<0 ||
+ H5Tinsert(dt, "a", HOFFSET(struct dt, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert_array(dt, "c", HOFFSET(struct dt, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "e", HOFFSET(struct dt, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ /* Perform the conversion */
+ if (H5Tconvert(st, dt, nelmts, buf, bkg)<0) goto error;
+
+ /* Compare results */
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ d_ptr = ((struct dt*)buf) + i;
+ if (s_ptr->a != d_ptr->a ||
+ s_ptr->c[0] != d_ptr->c[0] ||
+ s_ptr->c[1] != d_ptr->c[1] ||
+ s_ptr->c[2] != d_ptr->c[2] ||
+ s_ptr->c[3] != d_ptr->c[3] ||
+ s_ptr->e != d_ptr->e) {
+ FAILED();
+ printf(" i=%d\n", i);
+ printf(" src={a=%d, b=%d, c=[%d,%d,%d,%d], d=%d, e=%d\n",
+ s_ptr->a, s_ptr->b, s_ptr->c[0], s_ptr->c[1], s_ptr->c[2],
+ s_ptr->c[3], s_ptr->d, s_ptr->e);
+ printf(" dst={a=%d, c=[%d,%d,%d,%d], e=%d\n",
+ d_ptr->a, d_ptr->c[0], d_ptr->c[1], d_ptr->c[2],
+ d_ptr->c[3], d_ptr->e);
+ goto error;
+ }
+ }
+
+ /* Release resources */
+ free(buf);
+ free(bkg);
+ free(orig);
+ if (H5Tclose(st)<0 || H5Tclose(dt)<0) goto error;
+
+ PASSED();
+ reset_hdf5();
+ return 0;
+
+ error:
+ return 1;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: test_compound_4
+ *
+ * Purpose: Tests compound conversions when the destination has the same
+ * fields as the source but one or more of the fields are
+ * smaller.
+ *
+ * Return: Success: 0
+ *
+ * Failure: number of errors
+ *
+ * Programmer: Robb Matzke
+ * Thursday, June 17, 1999
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+static int
+test_compound_4(void)
+{
+
+ struct st {
+ int a, b, c[4], d, e;
+ } *s_ptr;
+ struct dt {
+ short b;
+ int a, c[4];
+ short d;
+ int e;
+ } *d_ptr;
+
+ const int nelmts = 200000;
+ const size_t four = 4;
+ unsigned char *buf=NULL, *orig=NULL, *bkg=NULL;
+ hid_t st=-1, dt=-1;
+ int i;
+
+ TESTING("compound element shrinking & reordering");
+
+ /* Sizes should be the same, but be careful just in case */
+ buf = malloc(nelmts * MAX(sizeof(struct st), sizeof(struct dt)));
+ bkg = malloc(nelmts * sizeof(struct dt));
+ orig = malloc(nelmts * sizeof(struct st));
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ s_ptr->a = i*8+0;
+ s_ptr->b = (i*8+1) & 0x7fff;
+ s_ptr->c[0] = i*8+2;
+ s_ptr->c[1] = i*8+3;
+ s_ptr->c[2] = i*8+4;
+ s_ptr->c[3] = i*8+5;
+ s_ptr->d = (i*8+6) & 0x7fff;
+ s_ptr->e = i*8+7;
+ }
+ memcpy(buf, orig, nelmts*sizeof(struct st));
+
+ /* Build hdf5 datatypes */
+ if ((st=H5Tcreate(H5T_COMPOUND, sizeof(struct st)))<0 ||
+ H5Tinsert(st, "a", HOFFSET(struct st, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "b", HOFFSET(struct st, b), H5T_NATIVE_INT)<0 ||
+ H5Tinsert_array(st, "c", HOFFSET(struct st, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "d", HOFFSET(struct st, d), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(st, "e", HOFFSET(struct st, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ if ((dt=H5Tcreate(H5T_COMPOUND, sizeof(struct dt)))<0 ||
+ H5Tinsert(dt, "a", HOFFSET(struct dt, a), H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "b", HOFFSET(struct dt, b), H5T_NATIVE_SHORT)<0 ||
+ H5Tinsert_array(dt, "c", HOFFSET(struct dt, c), 1, &four, NULL,
+ H5T_NATIVE_INT)<0 ||
+ H5Tinsert(dt, "d", HOFFSET(struct dt, d), H5T_NATIVE_SHORT)<0 ||
+ H5Tinsert(dt, "e", HOFFSET(struct dt, e), H5T_NATIVE_INT)<0)
+ goto error;
+
+ /* Perform the conversion */
+ if (H5Tconvert(st, dt, nelmts, buf, bkg)<0) goto error;
+
+ /* Compare results */
+ for (i=0; i<nelmts; i++) {
+ s_ptr = ((struct st*)orig) + i;
+ d_ptr = ((struct dt*)buf) + i;
+ if (s_ptr->a != d_ptr->a ||
+ s_ptr->b != d_ptr->b ||
+ s_ptr->c[0] != d_ptr->c[0] ||
+ s_ptr->c[1] != d_ptr->c[1] ||
+ s_ptr->c[2] != d_ptr->c[2] ||
+ s_ptr->c[3] != d_ptr->c[3] ||
+ s_ptr->d != d_ptr->d ||
+ s_ptr->e != d_ptr->e) {
+ FAILED();
+ printf(" i=%d\n", i);
+ printf(" src={a=%d, b=%d, c=[%d,%d,%d,%d], d=%d, e=%d\n",
+ s_ptr->a, s_ptr->b, s_ptr->c[0], s_ptr->c[1], s_ptr->c[2],
+ s_ptr->c[3], s_ptr->d, s_ptr->e);
+ printf(" dst={a=%d, b=%d, c=[%d,%d,%d,%d], d=%d, e=%d\n",
+ d_ptr->a, d_ptr->b, d_ptr->c[0], d_ptr->c[1], d_ptr->c[2],
+ d_ptr->c[3], d_ptr->d, d_ptr->e);
+ goto error;
+ }
+ }
+
+ /* Release resources */
+ free(buf);
+ free(bkg);
+ free(orig);
+ if (H5Tclose(st)<0 || H5Tclose(dt)<0) goto error;
+
+ PASSED();
+ reset_hdf5();
+ return 0;
+
+ error:
+ return 1;
+}
+
+
+
+/*-------------------------------------------------------------------------
* Function: test_transient
*
* Purpose: Tests transient data types.
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Thursday, June 4, 1998
@@ -424,7 +767,7 @@ test_compound(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_transient (hid_t fapl)
{
static hsize_t ds_size[2] = {10, 20};
@@ -530,7 +873,7 @@ test_transient (hid_t fapl)
H5Dclose (dset);
H5Fclose (file);
} H5E_END_TRY;
- return -1;
+ return 1;
}
@@ -541,7 +884,7 @@ test_transient (hid_t fapl)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Monday, June 1, 1998
@@ -550,7 +893,7 @@ test_transient (hid_t fapl)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_named (hid_t fapl)
{
hid_t file=-1, type=-1, space=-1, dset=-1, t2=-1, attr1=-1;
@@ -715,7 +1058,7 @@ test_named (hid_t fapl)
H5Dclose (dset);
H5Fclose (file);
} H5E_END_TRY;
- return -1;
+ return 1;
}
@@ -754,7 +1097,7 @@ mkstr(size_t len, H5T_str_t strpad)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Monday, August 10, 1998
@@ -763,7 +1106,7 @@ mkstr(size_t len, H5T_str_t strpad)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_conv_str_1(void)
{
char *buf=NULL;
@@ -993,7 +1336,7 @@ test_conv_str_1(void)
error:
reset_hdf5();
- return -1;
+ return 1;
}
@@ -1004,7 +1347,7 @@ test_conv_str_1(void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Monday, August 10, 1998
@@ -1013,14 +1356,14 @@ test_conv_str_1(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_conv_str_2(void)
{
char *buf=NULL, s[80];
hid_t c_type, f_type;
const size_t nelmts = 200000, ntests=NTESTS;
size_t i, j, nchars;
- herr_t ret_value = -1;
+ int ret_value = 1;
/*
* Initialize types and buffer.
@@ -1066,7 +1409,7 @@ test_conv_str_2(void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Tuesday, January 5, 1999
@@ -1075,14 +1418,14 @@ test_conv_str_2(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_conv_enum_1(void)
{
const int nelmts=200000, ntests=NTESTS;
int i, val, *buf=NULL;
hid_t t1, t2;
char s[80];
- herr_t ret_value=FAIL;
+ int ret_value = 1;
/* Build the data types */
t1 = H5Tcreate(H5T_ENUM, sizeof(int));
@@ -1142,7 +1485,7 @@ test_conv_enum_1(void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Thursday, May 20, 1999
@@ -1219,7 +1562,7 @@ test_conv_bitfield(void)
H5Tclose(st);
H5Tclose(dt);
reset_hdf5();
- return -1;
+ return 1;
}
@@ -1241,7 +1584,8 @@ test_conv_bitfield(void)
*/
static herr_t
convert_opaque(hid_t UNUSED st, hid_t UNUSED dt, H5T_cdata_t *cdata,
- size_t UNUSED nelmts, void UNUSED *_buf, void UNUSED *bkg)
+ size_t UNUSED nelmts, size_t UNUSED stride, void UNUSED *_buf,
+ void UNUSED *bkg)
{
if (H5T_CONV_CONV==cdata->command) num_opaque_conversions_g++;
return 0;
@@ -1255,7 +1599,7 @@ convert_opaque(hid_t UNUSED st, hid_t UNUSED dt, H5T_cdata_t *cdata,
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Thursday, May 20, 1999
@@ -1312,7 +1656,7 @@ test_opaque(void)
if (st>0) H5Tclose(st);
if (dt>0) H5Tclose(dt);
FAILED();
- return -1;
+ return 1;
}
@@ -1321,9 +1665,9 @@ test_opaque(void)
*
* Purpose: Test atomic number conversions.
*
- * Return: Success:
+ * Return: Success: 0
*
- * Failure:
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Wednesday, June 10, 1998
@@ -1332,7 +1676,7 @@ test_opaque(void)
*
*-------------------------------------------------------------------------
*/
-static herr_t
+static int
test_conv_int (void)
{
unsigned char byte[4];
@@ -1431,7 +1775,7 @@ test_conv_int (void)
error:
reset_hdf5();
- return -1;
+ return 1;
}
@@ -1449,7 +1793,7 @@ test_conv_int (void)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Monday, November 16, 1998
@@ -2581,7 +2925,7 @@ my_isnan(flt_t type, void *val)
*
* Return: Success: 0
*
- * Failure: -1
+ * Failure: number of errors
*
* Programmer: Robb Matzke
* Tuesday, June 23, 1998
@@ -3188,20 +3532,23 @@ main(void)
}
/* Do the tests */
- nerrors += test_classes()<0 ? 1 : 0;
- nerrors += test_copy()<0 ? 1 : 0;
- nerrors += test_compound()<0 ? 1 : 0;
- nerrors += test_transient (fapl)<0 ? 1 : 0;
- nerrors += test_named (fapl)<0 ? 1 : 0;
+ nerrors += test_classes();
+ nerrors += test_copy();
+ nerrors += test_compound_1();
+ nerrors += test_transient (fapl);
+ nerrors += test_named (fapl);
h5_cleanup (fapl); /*must happen before first reset*/
reset_hdf5();
- nerrors += test_conv_str_1()<0 ? 1 : 0;
- nerrors += test_conv_str_2()<0 ? 1 : 0;
- nerrors += test_conv_int ()<0 ? 1 : 0;
- nerrors += test_conv_enum_1()<0 ? 1 : 0;
- nerrors += test_conv_bitfield()<0 ? 1 : 0;
- nerrors += test_opaque()<0 ? 1 : 0;
+ nerrors += test_conv_str_1();
+ nerrors += test_conv_str_2();
+ nerrors += test_compound_2();
+ nerrors += test_compound_3();
+ nerrors += test_compound_4();
+ nerrors += test_conv_int ();
+ nerrors += test_conv_enum_1();
+ nerrors += test_conv_bitfield();
+ nerrors += test_opaque();
/* Does floating point overflow generate a SIGFPE? */
generates_sigfpe();
diff --git a/test/flush1.c b/test/flush1.c
index 7ffcec3..9382b63 100644
--- a/test/flush1.c
+++ b/test/flush1.c
@@ -69,7 +69,7 @@ main(void)
* 1998-11-06 ptl
*/
for (j=0; j<ds_size[1]; j++) {
- the_data[i][j] = (double)(hssize_t)i/((hssize_t)(j+1));
+ the_data[i][j] = (double)(hssize_t)i/(hssize_t)(j+1);
}
}
if (H5Dwrite(dset, H5T_NATIVE_DOUBLE, space, space, H5P_DEFAULT,
diff --git a/test/flush2.c b/test/flush2.c
index 582a729..3430163 100644
--- a/test/flush2.c
+++ b/test/flush2.c
@@ -68,7 +68,14 @@ main(void)
* 1998-11-06 ptl
*/
error = fabs(the_data[i][j]-(double)(hssize_t)i/((hssize_t)j+1));
- assert(error<0.0001);
+ if (error>0.0001) {
+ FAILED();
+ printf(" dset[%lu][%lu] = %g\n",
+ (unsigned long)i, (unsigned long)j, the_data[i][j]);
+ printf(" should be %g\n",
+ (double)(hssize_t)i/(hssize_t)(j+1));
+ goto error;
+ }
}
}