Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reworked cleaning up API test files #4626

Merged
merged 3 commits into from
Jul 5, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
30 changes: 20 additions & 10 deletions test/API/H5_api_object_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -4750,10 +4750,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 @@ -5714,12 +5710,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 +7365,23 @@ 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)
{
char filename[H5_API_TEST_FILENAME_MAX_LENGTH];

snprintf(filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
OBJECT_COPY_BETWEEN_FILES_TEST_FILE_NAME);
remove_test_file(NULL, filename);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could also just pass test_path_prefix to remove_test_file here to be even simpler.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated


snprintf(filename, H5_API_TEST_FILENAME_MAX_LENGTH, "%s%s", test_path_prefix,
OBJECT_VISIT_TEST_FILE_NAME);
remove_test_file(NULL, filename);
}

int
H5_api_object_test(void)
{
Expand All @@ -7393,5 +7400,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
Loading