summaryrefslogtreecommitdiffstats
path: root/test/gheap.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/gheap.c')
-rw-r--r--test/gheap.c48
1 files changed, 16 insertions, 32 deletions
diff --git a/test/gheap.c b/test/gheap.c
index 716c34a..bf0f18a 100644
--- a/test/gheap.c
+++ b/test/gheap.c
@@ -87,7 +87,6 @@ test_1 (hid_t fapl)
herr_t status;
int nerrors = 0;
char filename[1024];
-hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
TESTING("monotonically increasing lengths");
@@ -99,8 +98,6 @@ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
goto error;
-if(H5CX_push() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = TRUE;
if(NULL == (f = (H5F_t *)H5I_object(file))) {
H5_FAILED();
puts(" Unable to create file");
@@ -151,8 +148,6 @@ api_ctx_pushed = TRUE;
obj = NULL;
if(H5Fclose(file) < 0) goto error;
-if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = FALSE;
if(nerrors) goto error;
PASSED();
@@ -161,7 +156,6 @@ api_ctx_pushed = FALSE;
error:
H5E_BEGIN_TRY {
H5Fclose(file);
-if(api_ctx_pushed) H5CX_pop();
} H5E_END_TRY;
if(obj)
HDfree(obj);
@@ -198,7 +192,6 @@ test_2 (hid_t fapl)
size_t size;
int nerrors = 0;
char filename[1024];
-hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
TESTING("monotonically decreasing lengths");
@@ -210,8 +203,6 @@ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_fixname(FILENAME[1], fapl, filename, sizeof filename);
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
goto error;
-if(H5CX_push() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = TRUE;
if(NULL == (f = (H5F_t *)H5I_object(file))) {
H5_FAILED();
puts(" Unable to create file");
@@ -255,8 +246,6 @@ api_ctx_pushed = TRUE;
obj = NULL;
if (H5Fclose(file)<0) goto error;
-if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = FALSE;
if (nerrors) goto error;
PASSED();
@@ -265,7 +254,6 @@ api_ctx_pushed = FALSE;
error:
H5E_BEGIN_TRY {
H5Fclose(file);
-if(api_ctx_pushed) H5CX_pop();
} H5E_END_TRY;
if(obj)
HDfree(obj);
@@ -302,7 +290,6 @@ test_3 (hid_t fapl)
herr_t status;
int nerrors = 0;
char filename[1024];
-hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
TESTING("complete object removal");
@@ -314,8 +301,6 @@ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_fixname(FILENAME[2], fapl, filename, sizeof filename);
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
goto error;
-if(H5CX_push() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = TRUE;
if(NULL == (f = (H5F_t *)H5I_object(file))) {
H5_FAILED();
puts(" Unable to create file");
@@ -350,8 +335,6 @@ api_ctx_pushed = TRUE;
obj = NULL;
if (H5Fclose(file)<0) goto error;
-if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = FALSE;
if (nerrors) goto error;
PASSED();
@@ -360,7 +343,6 @@ api_ctx_pushed = FALSE;
error:
H5E_BEGIN_TRY {
H5Fclose(file);
-if(api_ctx_pushed) H5CX_pop();
} H5E_END_TRY;
if(obj)
HDfree(obj);
@@ -398,7 +380,6 @@ test_4 (hid_t fapl)
herr_t status;
int nerrors = 0;
char filename[1024];
-hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
TESTING("partial object removal");
@@ -410,8 +391,6 @@ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_fixname(FILENAME[3], fapl, filename, sizeof filename);
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
goto error;
-if(H5CX_push() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = TRUE;
if(NULL == (f = (H5F_t *)H5I_object(file))) {
H5_FAILED();
puts(" Unable to create file");
@@ -452,8 +431,6 @@ api_ctx_pushed = TRUE;
obj = NULL;
if (H5Fclose(file)<0) goto error;
-if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = FALSE;
if (nerrors) goto error;
PASSED();
@@ -462,7 +439,6 @@ api_ctx_pushed = FALSE;
error:
H5E_BEGIN_TRY {
H5Fclose(file);
-if(api_ctx_pushed) H5CX_pop();
} H5E_END_TRY;
if(obj)
HDfree(obj);
@@ -499,7 +475,6 @@ test_ooo_indices(hid_t fapl)
herr_t status;
int nerrors=0;
char filename[1024];
-hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
TESTING("out of order indices");
@@ -510,8 +485,6 @@ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_fixname(FILENAME[4], fapl, filename, sizeof filename);
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
goto error;
-if(H5CX_push() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = TRUE;
if(NULL == (f = (H5F_t *)H5I_object(file))) {
H5_FAILED();
puts(" Unable to create file");
@@ -571,8 +544,6 @@ api_ctx_pushed = TRUE;
} /* end for */
if (H5Fclose(file)<0) goto error;
-if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
-api_ctx_pushed = FALSE;
if (nerrors) goto error;
HDfree(obj);
@@ -584,7 +555,6 @@ api_ctx_pushed = FALSE;
error:
H5E_BEGIN_TRY {
H5Fclose(file);
-if(api_ctx_pushed) H5CX_pop();
} H5E_END_TRY;
if(obj)
HDfree(obj);
@@ -613,10 +583,15 @@ main (void)
{
int nerrors=0;
hid_t fapl;
+ hbool_t api_ctx_pushed = FALSE; /* Whether API context pushed */
h5_reset();
fapl = h5_fileaccess();
+ /* Push API context */
+ if(H5CX_push() < 0) FAIL_STACK_ERROR
+ api_ctx_pushed = TRUE;
+
nerrors += test_1(fapl);
nerrors += test_2(fapl);
nerrors += test_3(fapl);
@@ -626,13 +601,22 @@ main (void)
/* 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.");
+
+ /* Pop API context */
+ if(api_ctx_pushed && H5CX_pop() < 0) FAIL_STACK_ERROR
+ api_ctx_pushed = FALSE;
+
h5_cleanup(FILENAME, fapl);
return 0;
error:
puts("*** TESTS FAILED ***");
+
+ if(api_ctx_pushed) H5CX_pop();
+
return 1;
}
+