diff --git a/mpsd-software-environment.py b/mpsd-software-environment.py index 5ed317e73b5818f01f39b54eb405c3bee14e7d7f..10be2df4b08cdced54c016040df7b77385025388 100755 --- a/mpsd-software-environment.py +++ b/mpsd-software-environment.py @@ -153,8 +153,8 @@ def read_metadata_from_logfile(logfile: Union[str, Path]) -> dict: } -def get_installer_log_file(mpsd_release: str, cmd: str, script_dir: str) -> str: - """Get installer log file name.""" +def get_installer_log_file_path(mpsd_release: str, cmd: str, script_dir: str) -> str: + """Get installer log file path.""" # Get machine configs os.environ.get("MPSD_OS", "UNKNOWN_OS") mpsd_microarch = get_native_microarchitecture() @@ -175,7 +175,7 @@ def get_installer_log_file(mpsd_release: str, cmd: str, script_dir: str) -> str: return installer_log_file -def set_up_logging(loglevel="warning", filename=None): +def set_up_logging(loglevel="warning", file_path=None): """Set up logging. This function sets up the logging configuration for the script. @@ -190,7 +190,7 @@ def set_up_logging(loglevel="warning", filename=None): - warning (default): only print statements if something is unexpected - info (show more detailed progress) - debug (show very detailed output) - filename : str + file_path : str - filename to save logging messages into If loglevel is 'debug', save line numbers in log messages. @@ -280,8 +280,8 @@ def set_up_logging(loglevel="warning", filename=None): logger.handlers = [shell_handler] # if filename provided, write log messages to that file, too. - if filename: - file_handler = logging.FileHandler(filename) + if file_path: + file_handler = logging.FileHandler(file_path) # if we have a file, we write all information in there. # We could change the level, for example restrict to only DEBUG and above with # file_handler.setLevel(logging.DEBUG) @@ -305,9 +305,9 @@ def set_up_logging(loglevel="warning", filename=None): print_log.addHandler(ch) # if filename provided, write output of print_log to that file, too - if filename: + if file_path: # create, format and add file handler - fh = logging.FileHandler(filename) + fh = logging.FileHandler(file_path) fh.setFormatter(formatter) print_log.addHandler(fh) @@ -316,7 +316,7 @@ def set_up_logging(loglevel="warning", filename=None): # logging.debug( f"Logging has been setup, loglevel={loglevel.upper()} " - + f"{filename=} {rich_available=}" + + f"{file_path=} {rich_available=}" ) @@ -790,7 +790,7 @@ def install_environment( mpsd_release, mpsd_microarch, "install", toolchain=toolchain ) build_log_folder = release_base_dir / "logs" - build_log_file = build_log_folder / build_log_file_name + build_log_path = build_log_folder / build_log_file_name # if logs folder dosent exist, create it if not os.path.exists(build_log_folder): os.makedirs(build_log_folder) @@ -801,7 +801,7 @@ def install_environment( setup_log_cmd( mpsd_release, script_dir, - msg=f"installing {toolchain} and logging at {build_log_file}", + msg=f"installing {toolchain} and logging at {build_log_path}", ) setup_log_cmd( mpsd_release, @@ -813,7 +813,7 @@ def install_environment( ) run( f"bash {spack_setup_script} {' '.join(install_flags)} {toolchain} 2>&1 " - f"| tee -a {build_log_file} ", + f"| tee -a {build_log_path} ", shell=True, check=True, ) @@ -918,7 +918,8 @@ def main(): script_dir = Path(os.path.dirname(os.path.realpath(__file__))) set_up_logging( - args.loglevel, get_installer_log_file(args.release, args.action, script_dir) + args.loglevel, + get_installer_log_file_path(args.release, args.action, script_dir), ) # Check the command and run related function diff --git a/tests.py b/tests.py index 6a890d5c80002ee740357a5a69751f8a23eac624..01be0fd7124654763f17c7ebbd9cd6c3149283d2 100644 --- a/tests.py +++ b/tests.py @@ -14,7 +14,7 @@ mod = importlib.import_module("mpsd-software-environment") # set loglevel to debug - useful for understanding problems. # (if the tests pass, pytest doesn't show any output) -mod.set_up_logging(loglevel="debug", filename="tests.log") +mod.set_up_logging(loglevel="debug", file_path="tests.log") logging.debug(f"We have set up logging from {__file__}") @@ -273,7 +273,7 @@ def test_install_environment_zlib(): # install global_generic toolchain mod.set_up_logging( "WARNING", - mod.get_installer_log_file(mpsd_release_to_test, "install", script_dir), + mod.get_installer_log_file_path(mpsd_release_to_test, "install", script_dir), ) mod.install_environment( mpsd_release=mpsd_release_to_test, @@ -328,7 +328,7 @@ def test_install_environment_zlib(): importlib.reload(mod) mod.set_up_logging( "WARNING", - mod.get_installer_log_file(mpsd_release_to_test, "install", script_dir), + mod.get_installer_log_file_path(mpsd_release_to_test, "install", script_dir), ) mod.install_environment( mpsd_release=mpsd_release_to_test, @@ -349,7 +349,7 @@ def test_metadata_logging(tmp_path): # Test that the metadata is logged correctly filename = tmp_path / "test-metadata.log" print(f"Writing to {filename}") - mod.set_up_logging(loglevel="debug", filename=filename) + mod.set_up_logging(loglevel="debug", file_path=filename) # our test data keys = ["important_key", "important_key2"]