Reworked cleaning up API test files (#4626)

* 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
This commit is contained in:
Scot Breitenfeld 2024-07-05 14:38:26 -05:00 committed by GitHub
parent 49feed3c8a
commit 8d50786f7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 36 additions and 21 deletions

View File

@ -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 */
}

View File

@ -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

View File

@ -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");
@ -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();
@ -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");
@ -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();
@ -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)
{
@ -7393,5 +7391,8 @@ H5_api_object_test(void)
printf("\n");
printf("Cleaning up testing files\n");
cleanup_files();
return nerrors;
}

View File

@ -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,

View File

@ -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);