From 1a4e315a5dac7b85f4862118fa770f80fe369739 Mon Sep 17 00:00:00 2001
From: Dana Robinson <derobins@hdfgroup.org>
Date: Mon, 8 Feb 2016 20:38:44 -0500
Subject: [svn-r29069] test/gheap cleanup prior to stack size fixes.

Tested on: Linux VM (minor changes)
---
 test/gheap.c | 591 ++++++++++++++++++++++++++++-------------------------------
 1 file changed, 285 insertions(+), 306 deletions(-)

diff --git a/test/gheap.c b/test/gheap.c
index fa73dcb..c8b27fb 100644
--- a/test/gheap.c
+++ b/test/gheap.c
@@ -55,90 +55,91 @@ const char *FILENAME[] = {
     NULL
 };
 
+/* Number of heap objects in tests */
+#define N_GHEAP_OBJS    1024
+
+/* Size of heap object buffers */
+#define OBJ_BUF_SIZE    N_GHEAP_OBJS
+
+/* Size of filename */
+#define FILENAME_SIZE   1024
+
 
 /*-------------------------------------------------------------------------
- * Function:	test_1
+ * Function:    test_monotonic_increasing
  *
- * Purpose:	Writes a sequence of objects to the global heap where each
- *		object is larger than the one before.
+ * Purpose:     Writes a sequence of objects to the global heap where each
+ *              object is larger than the one before.
  *
- * Return:	Success:	0
+ * Return:      Success:    0
+ *              Failure:    number of errors
  *
- *		Failure:	number of errors
- *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Tuesday, March 31, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-test_1 (hid_t fapl)
+test_monotonic_increasing(hid_t fapl)
 {
-    hid_t	file = -1;
-    H5F_t 	*f = NULL;
-    H5HG_t	obj[1024];
-    uint8_t	out[1024];
-    uint8_t	in[1024];
-    int		i;
-    size_t	size;
-    herr_t	status;
-    int		nerrors = 0;
-    char	filename[1024];
+    hid_t	fid = -1;               /* HDF5 file ID                     */
+    H5F_t 	*f = NULL;              /* file object pointer              */
+    H5HG_t	obj[N_GHEAP_OBJS];      /* global heap objects              */
+    uint8_t	in[OBJ_BUF_SIZE];       /* global heap data sent            */
+    uint8_t	out[OBJ_BUF_SIZE];      /* global heap data received        */
+    unsigned    i;                  /* iterator                         */
+    size_t	size;                   /* heap object size                 */
+    int		nerrors = 0;            /* # of errors encountered          */
+    char	filename[FILENAME_SIZE];    /* VFD-dependent filename       */
 
     TESTING("monotonically increasing lengths");
 
     /* Open a clean file */
-    h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
-    if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
-	goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
-	H5_FAILED();
-	puts("    Unable to create file");
-	goto error;
-    }
-
-    /*
-     * Write the objects, monotonically increasing in length.  Since this is
+    h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));
+    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
+        goto error;
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
+        H5_FAILED();
+        HDputs("    Unable to create file");
+        goto error;
+    } /* end if */
+
+    /* Write the objects, monotonically increasing in length.  Since this is
      * a clean file, the addresses allocated for the collections should also
      * be monotonically increasing.
      */
-    for(i = 0; i < 1024; i++) {
-	size = i + 1;
-	HDmemset(out, 'A' + i % 26, size);
-	H5Eclear2(H5E_DEFAULT);
-	status = H5HG_insert(f, H5AC_dxpl_id, size, out, obj + i);
-	if(status < 0) {
-	    H5_FAILED();
-	    puts("    Unable to insert object into global heap");
-	    nerrors++;
-	} else if(i && H5F_addr_gt(obj[i - 1].addr, obj[i].addr)) {
-	    H5_FAILED();
-	    puts("    Collection addresses are not monotonically increasing");
-	    nerrors++;
-	}
-    }
-
-    /*
-     * Now try to read each object back.
-     */
-    for(i = 0; i < 1024; i++) {
-	size = i + 1;
-	HDmemset(out, 'A' + i % 26, size);
-	H5Eclear2(H5E_DEFAULT);
-	if(NULL == H5HG_read(f, H5AC_dxpl_id, obj + i, in, NULL)) {
-	    H5_FAILED();
-	    puts("    Unable to read object");
-	    nerrors++;
-	} else if(HDmemcmp(in, out, size)) {
-	    H5_FAILED();
-	    puts("    Value read doesn't match value written");
-	    nerrors++;
-	}
-    }
-
-    if(H5Fclose(file) < 0) goto error;
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+        size = i + 1;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(H5HG_insert(f, H5AC_dxpl_id, size, out, obj + i) < 0) {
+            H5_FAILED();
+            HDputs("    Unable to insert object into global heap");
+	        nerrors++;
+        } else if(i && H5F_addr_gt(obj[i - 1].addr, obj[i].addr)) {
+            H5_FAILED();
+            HDputs("    Collection addresses are not monotonically increasing");
+            nerrors++;
+        } /* end if */
+    } /* end for */
+
+    /* Now try to read each object back. */
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+        size = i + 1;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(NULL == H5HG_read(f, H5AC_dxpl_id, obj + i, in, NULL)) {
+            H5_FAILED();
+            HDputs("    Unable to read object");
+            nerrors++;
+	    } else if(HDmemcmp(in, out, size)) {
+            H5_FAILED();
+            HDputs("    Value read doesn't match value written");
+            nerrors++;
+        } /* end if */
+    } /* end for */
+
+    if(H5Fclose(fid) < 0) goto error;
     if(nerrors) goto error;
 
     PASSED();
@@ -146,291 +147,270 @@ test_1 (hid_t fapl)
 
 error:
     H5E_BEGIN_TRY {
-	H5Fclose(file);
+        H5Fclose(fid);
     } H5E_END_TRY;
     return MAX(1, nerrors);
-}
+} /* end test_monotonic_increasing() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	test_2
- *
- * Purpose:	Writes a sequence of objects to the global heap where each
- *		object is smaller than the one before.
+ * Function:    test_monotonic_decreasing
  *
- * Return:	Success:	0
+ * Purpose:     Writes a sequence of objects to the global heap where each
+ *              object is smaller than the one before.
  *
- *		Failure:        number of errors
+ * Return:      Success:    0
+ *              Failure:    number of errors
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Tuesday, March 31, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-test_2 (hid_t fapl)
+test_monotonic_decreasing(hid_t fapl)
 {
-    hid_t	file = -1;
-    H5F_t 	*f = NULL;
-    H5HG_t	obj[1024];
-    uint8_t	out[1024];
-    uint8_t	in[1024];
-    int		i;
-    size_t	size;
-    int		nerrors = 0;
-    char	filename[1024];
+    hid_t	fid = -1;               /* HDF5 file ID                     */
+    H5F_t 	*f = NULL;              /* file object pointer              */
+    H5HG_t	obj[N_GHEAP_OBJS];      /* global heap objects              */
+    uint8_t	in[OBJ_BUF_SIZE];       /* global heap data sent            */
+    uint8_t	out[OBJ_BUF_SIZE];      /* global heap data received        */
+    unsigned    i;                  /* iterator                         */
+    size_t	size;                   /* heap object size                 */
+    int		nerrors = 0;            /* # of errors encountered          */
+    char	filename[FILENAME_SIZE];    /* VFD-dependent filename       */
 
     TESTING("monotonically decreasing lengths");
 
     /* Open a clean file */
-    h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
-    if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
-	goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
-	H5_FAILED();
-	puts("    Unable to create file");
-	goto error;
-    }
-
-    /*
-     * Write the objects, monotonically decreasing in length.
-     */
-    for (i=0; i<1024; i++) {
-	size = 1024-i;
-	memset (out, 'A'+i%26, size);
-	H5Eclear2(H5E_DEFAULT);
-	if (H5HG_insert (f, H5AC_dxpl_id, size, out, obj+i)<0) {
-	    H5_FAILED();
-	    puts("    Unable to insert object into global heap");
-	    nerrors++;
-	}
-    }
-
-    /*
-     * Now try to read each object back.
-     */
-    for (i=0; i<1024; i++) {
-	size = 1024-i;
-	memset (out, 'A'+i%26, size);
-	H5Eclear2(H5E_DEFAULT);
-	if (NULL==H5HG_read (f, H5AC_dxpl_id, obj+i, in, NULL)) {
-	    H5_FAILED();
-	    puts("    Unable to read object");
-	    nerrors++;
-	} else if (memcmp (in, out, size)) {
-	    H5_FAILED();
-	    puts("    Value read doesn't match value written");
-	    nerrors++;
-	}
-    }
-
-    if (H5Fclose(file)<0) goto error;
-    if (nerrors) goto error;
+    h5_fixname(FILENAME[1], fapl, filename, sizeof(filename));
+    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
+        goto error;
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
+        H5_FAILED();
+        HDputs("    Unable to create file");
+        goto error;
+    } /* end if */
+
+    /* Write the objects, monotonically decreasing in length. */
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+        size = 1024 - i;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(H5HG_insert(f, H5AC_dxpl_id, size, out, obj+i) < 0) {
+            H5_FAILED();
+            HDputs("    Unable to insert object into global heap");
+            nerrors++;
+        } /* end if */
+    } /* end for */
+
+    /* Now try to read each object back. */
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+        size = OBJ_BUF_SIZE - i;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(NULL == H5HG_read(f, H5AC_dxpl_id, obj+i, in, NULL)) {
+            H5_FAILED();
+            HDputs("    Unable to read object");
+            nerrors++;
+        } else if (HDmemcmp(in, out, size)) {
+            H5_FAILED();
+            HDputs("    Value read doesn't match value written");
+            nerrors++;
+        } /* end if */
+    } /* end for */
+
+    if(H5Fclose(fid) < 0) goto error;
+    if(nerrors) goto error;
     PASSED();
     return 0;
 
  error:
     H5E_BEGIN_TRY {
-	H5Fclose(file);
+        H5Fclose(fid);
     } H5E_END_TRY;
     return MAX(1, nerrors);
-}
+} /* end test_monotonic_decreasing() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	test_3
- *
- * Purpose:	Creates a few global heap objects and then removes them all.
- *		The collection should also be removed.
+ * Function:	test_complete_removal
  *
- * Return:	Success:	0
+ * Purpose:     Creates a few global heap objects and then removes them all.
+ *              The collection should also be removed.
  *
- *		Failure:	number of errors
+ * Return:      Success:    0
+ *              Failure:    number of errors
  *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Tuesday, March 31, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-test_3 (hid_t fapl)
+test_complete_removal(hid_t fapl)
 {
-    hid_t	file = -1;
-    H5F_t 	*f = NULL;
-    H5HG_t	obj[1024];
-    uint8_t	out[1024];
-    int		i;
-    size_t	size;
-    herr_t	status;
-    int		nerrors = 0;
-    char	filename[1024];
+    hid_t	fid = -1;               /* HDF5 file ID                     */
+    H5F_t 	*f = NULL;              /* file object pointer              */
+    H5HG_t	obj[N_GHEAP_OBJS];      /* global heap objects              */
+    uint8_t	out[OBJ_BUF_SIZE];      /* global heap data received        */
+    unsigned    i;                  /* iterator                         */
+    size_t	size;                   /* heap object size                 */
+    int		nerrors = 0;            /* # of errors encountered          */
+    char	filename[FILENAME_SIZE];    /* VFD-dependent filename       */
 
     TESTING("complete object removal");
 
     /* Open a clean file */
-    h5_fixname(FILENAME[2], fapl, filename, sizeof filename);
-    if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
-	goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
-	H5_FAILED();
-	puts("    Unable to create file");
-	goto error;
-    }
+    h5_fixname(FILENAME[2], fapl, filename, sizeof(filename));
+    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
+        goto error;
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
+        H5_FAILED();
+        HDputs("    Unable to create file");
+        goto error;
+    } /* end if */
 
     /* Create some stuff */
-    for (i=0; i<1024; i++) {
-	size = i%30+100;
-	memset (out, 'A'+i%26, size);
-	H5Eclear2(H5E_DEFAULT);
-	status = H5HG_insert (f, H5AC_dxpl_id, size, out, obj+i);
-	if (status<0) {
-	    H5_FAILED();
-	    puts("    Unable to insert object into global heap");
-	    nerrors++;
-	}
-    }
+    for(i=0; i < N_GHEAP_OBJS; i++) {
+        size = i % 30 + 100;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(H5HG_insert(f, H5AC_dxpl_id, size, out, obj+i) < 0) {
+            H5_FAILED();
+            HDputs("    Unable to insert object into global heap");
+            nerrors++;
+        } /* end if */
+    } /* end for */
 
     /* Remove everything */
-    for (i=0; i<1024; i++) {
-	status = H5HG_remove (f, H5AC_dxpl_id, obj+i);
-	if (status<0) {
-	    H5_FAILED();
-	    puts("    Unable to remove object");
-	    nerrors++;
-	}
-    }
-
-    if (H5Fclose(file)<0) goto error;
-    if (nerrors) goto error;
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+        if(H5HG_remove(f, H5AC_dxpl_id, obj+i) < 0) {
+            H5_FAILED();
+            HDputs("    Unable to remove object");
+            nerrors++;
+        } /* end if */
+    } /* end for */
+
+    if(H5Fclose(fid) < 0) goto error;
+    if(nerrors) goto error;
+
     PASSED();
     return 0;
 
  error:
     H5E_BEGIN_TRY {
-	H5Fclose(file);
+        H5Fclose(fid);
     } H5E_END_TRY;
     return MAX(1, nerrors);
-}
+} /* end test_complete_removal() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	test_4
+ * Function:    test_partial_removal
  *
- * Purpose:	Tests the H5HG_remove() feature by writing lots of objects
- *		and occassionally removing some.  When we're done they're all
- *		removed.
+ * Purpose:     Tests the H5HG_remove() feature by writing lots of objects
+ *              and occassionally removing some.  When we're done they're all
+ *              removed.
  *
- * Return:	Success:	0
+ * Return:      Success:    0
+ *              Failure:    number of errors
  *
- *		Failure:	number of errors
- *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Tuesday, March 31, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
-test_4 (hid_t fapl)
+test_partial_removal(hid_t fapl)
 {
-    hid_t	file = -1;
-    H5F_t 	*f = NULL;
-    H5HG_t	obj[1024];
-    uint8_t	out[1024];
-    int		i;
-    size_t	size;
-    herr_t	status;
-    int		nerrors = 0;
-    char	filename[1024];
+    hid_t	fid = -1;               /* HDF5 file ID                     */
+    H5F_t 	*f = NULL;              /* file object pointer              */
+    H5HG_t	obj[N_GHEAP_OBJS];      /* global heap objects              */
+    uint8_t	out[OBJ_BUF_SIZE];      /* global heap data received        */
+    unsigned    i;                  /* iterator                         */
+    size_t	size;                   /* heap object size                 */
+    int		nerrors = 0;            /* # of errors encountered          */
+    char	filename[FILENAME_SIZE];    /* VFD-dependent filename       */
 
     TESTING("partial object removal");
 
     /* Open a clean file */
-    h5_fixname(FILENAME[3], fapl, filename, sizeof filename);
-    if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
-	goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
-	H5_FAILED();
-	puts("    Unable to create file");
-	goto error;
-    }
-
-    for (i=0; i<1024; i++) {
-	/* Insert */
-	size = i%30+100;
-	memset (out, 'A'+i%26, size);
-	H5Eclear2(H5E_DEFAULT);
-	status = H5HG_insert (f, H5AC_dxpl_id, size, out, obj+i);
-	if (status<0) {
-	    H5_FAILED();
-	    puts("    Unable to insert object into global heap");
-	    nerrors++;
-	}
-
-	/*
-	 * Remove every third one beginning with the second, but after the
-	 * next one has already been inserted.  That is, insert A, B, C;
-	 * remove B, insert D, E, F; remove E; etc.
-	 */
-	if (1==i%3) {
-	    H5Eclear2(H5E_DEFAULT);
-	    status = H5HG_remove (f, H5AC_dxpl_id, obj+i-1);
-	    if (status<0) {
-		H5_FAILED();
-		puts("    Unable to remove object");
-		nerrors++;
-	    }
-	    memset (obj+i-1, 0, sizeof *obj);
-	}
-    }
-
-    if (H5Fclose(file)<0) goto error;
-    if (nerrors) goto error;
+    h5_fixname(FILENAME[3], fapl, filename, sizeof(filename));
+    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
+        goto error;
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
+        H5_FAILED();
+        HDputs("    Unable to create file");
+        goto error;
+    } /* end if */
+
+    for(i = 0; i < N_GHEAP_OBJS; i++) {
+
+        /* Insert */
+        size = i % 30 + 100;
+        HDmemset(out, 'A' + (int)i % 26, size);
+        H5Eclear2(H5E_DEFAULT);
+        if(H5HG_insert(f, H5AC_dxpl_id, size, out, obj+i) < 0) {
+            H5_FAILED();
+            HDputs("    Unable to insert object into global heap");
+            nerrors++;
+        } /* end if */
+
+        /* Remove every third one beginning with the second, but after the
+         * next one has already been inserted.  That is, insert A, B, C;
+         * remove B, insert D, E, F; remove E; etc.
+         */
+        if(1 == i % 3) {
+            H5Eclear2(H5E_DEFAULT);
+            if(H5HG_remove(f, H5AC_dxpl_id, obj+i-1) < 0) {
+                H5_FAILED();
+                HDputs("    Unable to remove object");
+                nerrors++;
+            } /* end if */
+            HDmemset(obj+i-1, 0, sizeof(*obj));
+        } /* end if */
+    } /* end for */
+
+    if(H5Fclose(fid) < 0) goto error;
+    if(nerrors) goto error;
+
     PASSED();
     return 0;
 
  error:
     H5E_BEGIN_TRY {
-	H5Fclose(file);
+        H5Fclose(fid);
     } H5E_END_TRY;
     return MAX(1, nerrors);
-}
+} /* end test_partial_removal() */
 
 
 /*-------------------------------------------------------------------------
- * Function:	test_ooo_indices
+ * Function:    test_ooo_indices
  *
- * Purpose:	Tests that indices can be stored out of order.  This can
+ * Purpose:     Tests that indices can be stored out of order.  This can
  *              happen when the indices "wrap around" due to many
  *              insertions and deletions (for example, from rewriting a
  *              VL dataset).
  *
- * Return:	Success:	0
+ * Return:      Success:    0
+ *              Failure:    number of errors
  *
- *		Failure:	number of errors
- *
- * Programmer:	Neil Fortner
+ * Programmer:  Neil Fortner
  *              Monday, October 26, 2009
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 static int
 test_ooo_indices(hid_t fapl)
 {
-    hid_t	file = -1;
-    H5F_t 	*f = NULL;
-    unsigned	i, j;
-    H5HG_t	*obj = NULL;
-    herr_t	status;
-    int		nerrors=0;
-    char	filename[1024];
+    hid_t	fid = -1;               /* HDF5 file ID                     */
+    H5F_t 	*f = NULL;              /* file object pointer              */
+    H5HG_t	*obj = NULL;            /* global heap objects              */
+    unsigned i, j;                  /* iterators                        */
+    int		nerrors = 0;            /* # of errors encountered          */
+    char	filename[FILENAME_SIZE];    /* VFD-dependent filename       */
 
     TESTING("out of order indices");
 
@@ -438,25 +418,27 @@ test_ooo_indices(hid_t fapl)
         goto error;
 
     /* Open a clean file */
-    h5_fixname(FILENAME[4], fapl, filename, sizeof filename);
-    if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
+    h5_fixname(FILENAME[4], fapl, filename, sizeof(filename));
+    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
         goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
         H5_FAILED();
-        puts("    Unable to create file");
+        HDputs("    Unable to create file");
         goto error;
     } /* end if */
 
     /* Alternately insert 1000 entries and remove the previous group of 1000
-     * entries, until the indices wrap around */
-    for(i=0; i<66; i++) {
+     * entries, until the indices wrap around.
+     */
+    for(i = 0; i < 66; i++) {
+
         /* Insert 1000 entries.  The index into the obj array will alternate up
          * and down by 1000 so the previous set of insertions is preserved and
-         * can be deleted. */
-        for(j=1000*((~i&1)); j<1000*((~i&1)+1); j++) {
+         * can be deleted.
+         */
+        for(j = 1000 * ((~i & 1)); j < 1000 * ((~i & 1) + 1); j++) {
             H5Eclear2(H5E_DEFAULT);
-            status = H5HG_insert(f, H5AC_dxpl_id, sizeof(j), &j, &obj[j]);
-            if (status<0)
+            if(H5HG_insert(f, H5AC_dxpl_id, sizeof(j), &j, &obj[j]) < 0)
                 GHEAP_REPEATED_ERR("    Unable to insert object into global heap")
 
             /* Check that the index is as expected */
@@ -465,11 +447,10 @@ test_ooo_indices(hid_t fapl)
         } /* end for */
 
         /* Remove the previous 1000 entries */
-        if(i>0)
-            for(j=1000*(i&1); j<1000*((i&1)+1); j++) {
+        if(i > 0)
+            for(j = 1000 * (i & 1); j < 1000 * ((i & 1) + 1); j++) {
                 H5Eclear2(H5E_DEFAULT);
-                status = H5HG_remove(f, H5AC_dxpl_id, &obj[j]);
-                if (status<0)
+                if(H5HG_remove(f, H5AC_dxpl_id, &obj[j]) < 0)
                     GHEAP_REPEATED_ERR("    Unable to remove object from global heap");
             } /* end for */
     } /* end for */
@@ -479,36 +460,37 @@ test_ooo_indices(hid_t fapl)
     HDassert(obj[535].idx == 1);
 
     /* Reopen the file */
-    if (H5Fclose(file)<0) goto error;
-    if((file = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
+    if(H5Fclose(fid) < 0) goto error;
+    if((fid = H5Fopen(filename, H5F_ACC_RDWR, fapl)) < 0)
         goto error;
-    if(NULL == (f = (H5F_t *)H5I_object(file))) {
+    if(NULL == (f = (H5F_t *)H5I_object(fid))) {
         H5_FAILED();
-        puts("    Unable to open file");
+        HDputs("    Unable to open file");
         goto error;
     } /* end if */
 
     /* Read the objects to make sure the heap is still readable */
-    for(i=0; i<1000; i++) {
+    for(i = 0; i < 1000; i++) {
         if(NULL == H5HG_read(f, H5AC_dxpl_id, &obj[i], &j, NULL))
             goto error;
         if(i != j) {
             H5_FAILED();
-            puts("    Incorrect read value");
+            HDputs("    Incorrect read value");
             goto error;
         } /* end if */
     } /* end for */
 
-    if (H5Fclose(file)<0) goto error;
-    if (nerrors) goto error;
+    if(H5Fclose(fid) < 0) goto error;
+    if(nerrors) goto error;
+
     HDfree(obj);
     obj = NULL;
     PASSED();
     return 0;
 
- error:
+error:
     H5E_BEGIN_TRY {
-	H5Fclose(file);
+        H5Fclose(fid);
     } H5E_END_TRY;
     if(obj)
         HDfree(obj);
@@ -517,46 +499,43 @@ test_ooo_indices(hid_t fapl)
 
 
 /*-------------------------------------------------------------------------
- * Function:	main
+ * Function:    main
  *
- * Purpose:	Tests global heap.
+ * Purpose:     Tests global heap
  *
- * Return:	Success:	zero
+ * Return:      EXIT_SUCCESS/EXIT_FAILURE
  *
- *		Failure:	non-zero
- *
- * Programmer:	Robb Matzke
+ * Programmer:  Robb Matzke
  *              Tuesday, March 31, 1998
  *
- * Modifications:
- *
  *-------------------------------------------------------------------------
  */
 int
-main (void)
+main(void)
 {
-    int		nerrors=0;
-    hid_t	fapl;
+    int		nerrors = 0;        /* # of errors                          */
+    hid_t	fapl = -1;          /* VFD-dependent fapl ID                */
 
     h5_reset();
     fapl = h5_fileaccess();
 
-    nerrors += test_1(fapl);
-    nerrors += test_2(fapl);
-    nerrors += test_3(fapl);
-    nerrors += test_4(fapl);
+    nerrors += test_monotonic_increasing(fapl);
+    nerrors += test_monotonic_decreasing(fapl);
+    nerrors += test_complete_removal(fapl);
+    nerrors += test_partial_removal(fapl);
     nerrors += test_ooo_indices(fapl);
 
     /* Verify symbol table messages are cached */
     nerrors += (h5_verify_cached_stabs(FILENAME, fapl) < 0 ? 1 : 0);
 
-    if (nerrors) goto error;
+    if(nerrors) goto error;
 
-    puts("All global heap tests passed.");
+    HDputs("All global heap tests passed.");
     h5_cleanup(FILENAME, fapl);
-    return 0;
+    return EXIT_SUCCESS;
+
+error:
+    HDputs("*** TESTS FAILED ***");
+    return EXIT_FAILURE;
+} /* end main() */
 
- error:
-    puts("*** TESTS FAILED ***");
-    return 1;
-}
-- 
cgit v0.12