Skip to content

Commit

Permalink
Reworked cleaning up API test files (HDFGroup#4626)
Browse files Browse the repository at this point in the history
* Reworked cleaning up test files, only removing test files if present to account for skipped tests

* changed to using H5Fis_accessible

* update to full use of remove_test_file
  • Loading branch information
brtnfld authored Jul 5, 2024
1 parent 49feed3 commit 8d50786
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 21 deletions.
5 changes: 3 additions & 2 deletions test/API/H5_api_async_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -2674,10 +2674,11 @@ cleanup_files(void)
char file_name[64];
int i;

H5Fdelete(ASYNC_API_TEST_FILE, H5P_DEFAULT);
remove_test_file(NULL, ASYNC_API_TEST_FILE);

for (i = 0; i <= max_printf_file; i++) {
snprintf(file_name, sizeof(file_name), ASYNC_API_TEST_FILE_PRINTF, i);
H5Fdelete(file_name, H5P_DEFAULT);
remove_test_file(NULL, file_name);
} /* end for */
}

Expand Down
4 changes: 2 additions & 2 deletions test/API/H5_api_link_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -27270,8 +27270,8 @@ link_visit_0_links_cb(hid_t group_id, const char *name, const H5L_info2_t *info,
static void
cleanup_files(void)
{
H5Fdelete(EXTERNAL_LINK_TEST_FILE_NAME, H5P_DEFAULT);
H5Fdelete(EXTERNAL_LINK_INVALID_PARAMS_TEST_FILE_NAME, H5P_DEFAULT);
remove_test_file(test_path_prefix, EXTERNAL_LINK_TEST_FILE_NAME);
remove_test_file(test_path_prefix, EXTERNAL_LINK_INVALID_PARAMS_TEST_FILE_NAME);
}

int
Expand Down
25 changes: 13 additions & 12 deletions test/API/H5_api_object_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -4196,7 +4196,6 @@ test_object_copy_between_files(void)
hid_t attr_space_id = H5I_INVALID_HID;
hid_t space_id = H5I_INVALID_HID;
hid_t ocpypl_id = H5I_INVALID_HID;
char filename[H5_API_TEST_FILENAME_MAX_LENGTH];

TESTING_MULTIPART("object copying between files");

Expand Down Expand Up @@ -4750,10 +4749,6 @@ test_object_copy_between_files(void)
TEST_ERROR;
if (H5Fclose(file_id) < 0)
TEST_ERROR;
snprintf(filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
OBJECT_COPY_BETWEEN_FILES_TEST_FILE_NAME);
if (H5Fdelete(filename, H5P_DEFAULT) < 0)
TEST_ERROR;

PASSED();

Expand Down Expand Up @@ -5072,7 +5067,6 @@ test_object_visit(void)
hssize_t num_elems = 0;
size_t elem_size = 0;
char visit_filename[H5_API_TEST_FILENAME_MAX_LENGTH];
char filename[H5_API_TEST_FILENAME_MAX_LENGTH];

TESTING_MULTIPART("object visiting");

Expand Down Expand Up @@ -5714,12 +5708,6 @@ test_object_visit(void)
TEST_ERROR;
if (H5Fclose(file_id2) < 0)
TEST_ERROR;
snprintf(filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
OBJECT_VISIT_TEST_FILE_NAME);
if (H5Fdelete(filename, H5P_DEFAULT) < 0)
TEST_ERROR;
if (H5Fdelete(visit_filename, H5P_DEFAULT) < 0)
TEST_ERROR;

PASSED();

Expand Down Expand Up @@ -7375,6 +7363,16 @@ object_visit_noop_callback(hid_t o_id, const char *name, const H5O_info2_t *obje
return 0;
}

/*
* Cleanup temporary test files
*/
static void
cleanup_files(void)
{
remove_test_file(test_path_prefix, OBJECT_COPY_BETWEEN_FILES_TEST_FILE_NAME);
remove_test_file(test_path_prefix, OBJECT_VISIT_TEST_FILE_NAME);
}

int
H5_api_object_test(void)
{
Expand All @@ -7393,5 +7391,8 @@ H5_api_object_test(void)

printf("\n");

printf("Cleaning up testing files\n");
cleanup_files();

return nerrors;
}
9 changes: 8 additions & 1 deletion test/API/H5_api_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,14 @@ main(int argc, char **argv)
H5_api_test_run();

printf("Cleaning up testing files\n");
H5Fdelete(H5_api_test_filename, fapl_id);

H5E_BEGIN_TRY
{
if (H5Fis_accessible(H5_api_test_filename, H5P_DEFAULT) > 0) {
H5Fdelete(H5_api_test_filename, fapl_id);
}
}
H5E_END_TRY

if (n_tests_run_g > 0) {
printf("%zu/%zu (%.2f%%) API tests passed with VOL connector '%s'\n", n_tests_passed_g, n_tests_run_g,
Expand Down
14 changes: 10 additions & 4 deletions test/API/H5_api_test_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -788,11 +788,17 @@ remove_test_file(const char *prefix, const char *filename)
else
test_file = filename;

if (H5Fdelete(test_file, H5P_DEFAULT) < 0) {
printf(" couldn't remove file '%s'\n", test_file);
ret_value = FAIL;
goto done;
H5E_BEGIN_TRY
{
if (H5Fis_accessible(test_file, H5P_DEFAULT) > 0) {
if (H5Fdelete(test_file, H5P_DEFAULT) < 0) {
printf(" couldn't remove file '%s'\n", test_file);
ret_value = FAIL;
goto done;
}
}
}
H5E_END_TRY

done:
free(prefixed_filename);
Expand Down

0 comments on commit 8d50786

Please sign in to comment.