From 47e0856f6786c74e8bdae79e168599ff471b8d19 Mon Sep 17 00:00:00 2001 From: Kurt Biery Date: Wed, 20 May 2026 14:43:54 -0500 Subject: [PATCH] Modified the integtests to support user-requested deletion of HDF5 files at the end of each test. --- integtest/disabled_output_test.py | 8 ++++-- integtest/hdf5_compression_test.py | 35 ++--------------------- integtest/insufficient_disk_space_test.py | 29 ++----------------- integtest/large_trigger_record_test.py | 29 ++----------------- integtest/max_file_size_test.py | 35 ++--------------------- integtest/multiple_data_writers_test.py | 8 ++++-- integtest/offline_prod_run_test.py | 8 ++++-- integtest/trmonrequestor_test.py | 8 ++++-- 8 files changed, 36 insertions(+), 124 deletions(-) diff --git a/integtest/disabled_output_test.py b/integtest/disabled_output_test.py index aa35913..def5c4c 100644 --- a/integtest/disabled_output_test.py +++ b/integtest/disabled_output_test.py @@ -7,9 +7,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -171,7 +171,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=True) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=True) def test_log_files(run_dunerc): @@ -220,3 +220,7 @@ def test_data_files(run_dunerc): data_file, fragment_check_list[jdx] ) assert all_ok + + +def test_cleanup(run_dunerc): + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=False) diff --git a/integtest/hdf5_compression_test.py b/integtest/hdf5_compression_test.py index 02d3f13..034c20e 100644 --- a/integtest/hdf5_compression_test.py +++ b/integtest/hdf5_compression_test.py @@ -5,9 +5,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -241,7 +241,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -304,33 +304,4 @@ def test_tpstream_files(run_dunerc): def test_cleanup(run_dunerc): - pathlist_string = "" - filelist_string = "" - for data_file in run_dunerc.data_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - for data_file in run_dunerc.tpset_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - - if pathlist_string and filelist_string: - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("============================================") - print("Listing the hdf5 files before deleting them:") - print("============================================") - - os.system(f"df -h {pathlist_string}") - print("--------------------") - os.system(f"ls -alF {filelist_string}") - - for data_file in run_dunerc.data_files: - data_file.unlink() - for data_file in run_dunerc.tpset_files: - data_file.unlink() - - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("--------------------") - os.system(f"df -h {pathlist_string}") - print("============================================") + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=True) diff --git a/integtest/insufficient_disk_space_test.py b/integtest/insufficient_disk_space_test.py index c504e66..a02c01b 100644 --- a/integtest/insufficient_disk_space_test.py +++ b/integtest/insufficient_disk_space_test.py @@ -5,9 +5,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -154,7 +154,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -205,27 +205,4 @@ def test_data_files(run_dunerc): def test_cleanup(run_dunerc): - pathlist_string = "" - filelist_string = "" - for data_file in run_dunerc.data_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - - if pathlist_string and filelist_string: - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("============================================") - print("Listing the hdf5 files before deleting them:") - print("============================================") - - os.system(f"df -h {pathlist_string}") - print("--------------------") - os.system(f"ls -alF {filelist_string}") - - for data_file in run_dunerc.data_files: - data_file.unlink() - - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("--------------------") - os.system(f"df -h {pathlist_string}") - print("============================================") + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=True) diff --git a/integtest/large_trigger_record_test.py b/integtest/large_trigger_record_test.py index be3ff21..38d6ff8 100644 --- a/integtest/large_trigger_record_test.py +++ b/integtest/large_trigger_record_test.py @@ -12,9 +12,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -167,7 +167,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=True) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=True) def test_log_files(run_dunerc): @@ -222,27 +222,4 @@ def test_data_files(run_dunerc): def test_cleanup(run_dunerc): - pathlist_string = "" - filelist_string = "" - for data_file in run_dunerc.data_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - - if pathlist_string and filelist_string: - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("============================================") - print("Listing the hdf5 files before deleting them:") - print("============================================") - - os.system(f"df -h {pathlist_string}") - print("--------------------") - os.system(f"ls -alF {filelist_string}") - - for data_file in run_dunerc.data_files: - data_file.unlink() - - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("--------------------") - os.system(f"df -h {pathlist_string}") - print("============================================") + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=True) diff --git a/integtest/max_file_size_test.py b/integtest/max_file_size_test.py index 12a072b..ce01751 100644 --- a/integtest/max_file_size_test.py +++ b/integtest/max_file_size_test.py @@ -5,9 +5,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -210,7 +210,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -273,33 +273,4 @@ def test_tpstream_files(run_dunerc): def test_cleanup(run_dunerc): - pathlist_string = "" - filelist_string = "" - for data_file in run_dunerc.data_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - for data_file in run_dunerc.tpset_files: - filelist_string += " " + str(data_file) - if str(data_file.parent) not in pathlist_string: - pathlist_string += " " + str(data_file.parent) - - if pathlist_string and filelist_string: - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("============================================") - print("Listing the hdf5 files before deleting them:") - print("============================================") - - os.system(f"df -h {pathlist_string}") - print("--------------------") - os.system(f"ls -alF {filelist_string}") - - for data_file in run_dunerc.data_files: - data_file.unlink() - for data_file in run_dunerc.tpset_files: - data_file.unlink() - - if run_dunerc.verbosity_helper.compare_level(IntegtestVerbosityLevels.integtest_debug): - print("--------------------") - os.system(f"df -h {pathlist_string}") - print("============================================") + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=True) diff --git a/integtest/multiple_data_writers_test.py b/integtest/multiple_data_writers_test.py index 24ad902..01350f5 100644 --- a/integtest/multiple_data_writers_test.py +++ b/integtest/multiple_data_writers_test.py @@ -5,9 +5,9 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes import integrationtest.resource_validation as resource_validation +import integrationtest.utility_functions as utility_functions from integrationtest.get_pytest_tmpdir import get_pytest_tmpdir from integrationtest.verbosity_helper import IntegtestVerbosityLevels @@ -142,7 +142,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -180,3 +180,7 @@ def test_data_files(run_dunerc): data_file, fragment_check_list[jdx] ) assert all_ok, "\N{POLICE CARS REVOLVING LIGHT} One or more raw data file checks failed! \N{POLICE CARS REVOLVING LIGHT}" + + +def test_cleanup(run_dunerc): + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=False) diff --git a/integtest/offline_prod_run_test.py b/integtest/offline_prod_run_test.py index 51d3b95..0c331f8 100644 --- a/integtest/offline_prod_run_test.py +++ b/integtest/offline_prod_run_test.py @@ -5,8 +5,8 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes +import integrationtest.utility_functions as utility_functions from integrationtest.verbosity_helper import IntegtestVerbosityLevels import functools @@ -92,7 +92,7 @@ def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -127,3 +127,7 @@ def test_data_files(run_dunerc): data_file, fragment_check_list[jdx] ) assert all_ok + + +def test_cleanup(run_dunerc): + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=False) diff --git a/integtest/trmonrequestor_test.py b/integtest/trmonrequestor_test.py index 9550074..f7c268e 100755 --- a/integtest/trmonrequestor_test.py +++ b/integtest/trmonrequestor_test.py @@ -5,8 +5,8 @@ import integrationtest.data_file_checks as data_file_checks import integrationtest.log_file_checks as log_file_checks -import integrationtest.basic_checks as basic_checks import integrationtest.data_classes as data_classes +import integrationtest.utility_functions as utility_functions from integrationtest.verbosity_helper import IntegtestVerbosityLevels import functools @@ -105,7 +105,7 @@ def make_run_command_list(runnum): # The tests themselves def test_dunerc_success(run_dunerc, caplog): # checks for run control success, problems during pytest setup, etc. - basic_checks.basic_checks(run_dunerc, caplog, print_test_name=False) + utility_functions.basic_checks(run_dunerc, caplog, print_test_name=False) def test_log_files(run_dunerc): @@ -205,3 +205,7 @@ def test_data_files(run_dunerc): assert all_ok assert trmon_ok + + +def test_cleanup(run_dunerc): + utility_functions.remove_hdf5_files_if_requested(run_dunerc, this_test_requests_hdf5_file_removal=False)