Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 28-declutter-the-top-level-log-file
  • 44-use-spack-scope-site-in-all-of-our-commands
  • 46-migrate-the-installer-to-python
  • 46-migrate-the-installer-to-python-2
  • add-build-ci
  • add-deply-instructions
  • assert-mpsd-release-in-allowed-releases
  • complete-tests-for-run
  • fix-install-argument-error
  • fix-plog-printing-twice
  • main
  • remove-mpsd-os-calls
  • use-mpsd-software-instance
13 results

Target

Select target project
  • hmenke/mpsd-software-manager
  • mpsd-cs/mpsd-software-manager
2 results
Select Git revision
  • 28-declutter-the-top-level-log-file
  • 44-use-spack-scope-site-in-all-of-our-commands
  • 46-migrate-the-installer-to-python
  • 46-migrate-the-installer-to-python-2
  • add-build-ci
  • add-deply-instructions
  • assert-mpsd-release-in-allowed-releases
  • complete-tests-for-run
  • fix-install-argument-error
  • fix-plog-printing-twice
  • main
  • remove-mpsd-os-calls
  • use-mpsd-software-instance
13 results
Show changes
Commits on Source (4)
...@@ -91,7 +91,7 @@ def read_metadata_from_logfile(logfile: Union[str, Path]) -> dict: ...@@ -91,7 +91,7 @@ def read_metadata_from_logfile(logfile: Union[str, Path]) -> dict:
} }
def set_up_logging(loglevel="warning", filename="gol.log"): def set_up_logging(loglevel="warning", filename=None):
"""Set up logging. """Set up logging.
This function sets up the logging configuration for the script. This function sets up the logging configuration for the script.
......
"""Tests for mpsd-software-environment.py.""" """Tests for mpsd-software-environment.py."""
import importlib import importlib
import logging
import os import os
import shutil import shutil
import subprocess import subprocess
from pathlib import Path from pathlib import Path
import logging
import pytest import pytest
mod = importlib.import_module("mpsd-software-environment") mod = importlib.import_module("mpsd-software-environment")
# set loglevel to debug - useful for understanding problems. # set loglevel to debug - useful for understanding problems.
# (if the tests pass, pytest doesn't show any output) # (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", filename="tests.log")
# logging.debug(f"We have set up logging from {__file__}") logging.debug(f"We have set up logging from {__file__}")
def create_mock_git_repository(target_directory, create_directory=True): def create_mock_git_repository(target_directory, create_directory=True):
...@@ -317,18 +318,41 @@ def test_install_environment_zlib(): ...@@ -317,18 +318,41 @@ def test_install_environment_zlib():
def test_metadata_logging(tmp_path): def test_metadata_logging(tmp_path):
"""Test that metadata is logged and read correctly.""" """Test that metadata is logged and read correctly."""
# Test that the metadata is logged correctly # Test that the metadata is logged correctly
mod.set_up_logging(loglevel="debug", filename=tmp_path / "test-metadata.log") filename = tmp_path / "test-metadata.log"
key = "important_key" print(f"Writing to {filename}")
value = "important_value" mod.set_up_logging(loglevel="debug", filename=filename)
mod.log_metadata(key, value)
open_tag = mod.config_vars["metadata_tag_open"] # our test data
close_tag = mod.config_vars["metadata_tag_close"] keys = ["important_key", "important_value2"]
expected_log = f"{open_tag}{key}:{value}{close_tag}" values = ["important_value", "important_value2"]
expected_log_entries = []
for key, value in zip(keys, values):
mod.log_metadata(key, value)
mod.log_metadata(key, value)
open_tag = mod.config_vars["metadata_tag_open"]
close_tag = mod.config_vars["metadata_tag_close"]
expected_log = f"{open_tag}{key}:{value}{close_tag}"
expected_log_entries.append(expected_log)
logging.info(f"Add some other info (after adding {key=})")
logging.debug("Add some other info")
logging.warning("Add some other info")
# Check that relevant lines show up in the log file somewhere
with open(tmp_path / "test-metadata.log", "r") as f: with open(tmp_path / "test-metadata.log", "r") as f:
assert expected_log in f.read() logfile_content = f.read()
# Test that the metadata is read correctly for expected_log in expected_log_entries:
assert expected_log in logfile_content
# Test that the metadata is read correctly using our parser
read_dict = mod.read_metadata_from_logfile(tmp_path / "test-metadata.log") read_dict = mod.read_metadata_from_logfile(tmp_path / "test-metadata.log")
assert read_dict[key] == value
# check all entries are in the file
for key, value in zip(keys, values):
read_dict[key] == value
# check no additional entries are there
assert len(read_dict) == len(keys)
def test_interface(tmp_path): def test_interface(tmp_path):
......