From 081be08d6c68594599e4abeefa6f7d96fb342709 Mon Sep 17 00:00:00 2001
From: Simon Rose <simon.rose@ess.eu>
Date: Tue, 22 Jun 2021 09:41:15 +0200
Subject: [PATCH] Some cleanup

---
 tests/test_build.py    |  3 +++
 tests/test_versions.py |  6 ++----
 tests/utils.py         | 17 ++++++++++++++++-
 3 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/tests/test_build.py b/tests/test_build.py
index 0ec304ba..35aa179a 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -79,5 +79,8 @@ def test_patch(wrapper):
 )
 def test_missing_file(wrapper):
     rc, _, errs = run_make(wrapper, "build")
+
+    # TODO: This should probably be a regex, since the quote marks seem to
+    #       depend on the make version.
     assert "No rule to make target `../nonexistent.dbd'" in errs.decode("utf-8")
     assert rc == 2
diff --git a/tests/test_versions.py b/tests/test_versions.py
index 19170948..20ba50ed 100644
--- a/tests/test_versions.py
+++ b/tests/test_versions.py
@@ -18,7 +18,7 @@ RE_MODULE_NOT_LOADED = f"Module {TEST_MODULE_NAME} (not available|version {{requ
     "requested, expected, installed",
     [
         # If nothing is installed, nothing should be loaded
-        ("test", "", []),
+        ("", "", []),
         # Test versions can be loaded
         ("test", "test", ["test", "0.0.1"]),
         # Numeric versions should be prioritized over test versions
@@ -42,14 +42,12 @@ RE_MODULE_NOT_LOADED = f"Module {TEST_MODULE_NAME} (not available|version {{requ
 )
 def test_version(wrapper, requested, expected, installed):
     for version in installed:
-        returncode, o, e = run_make(
+        returncode, _, _ = run_make(
             wrapper,
             "clean",
             "cellinstall",
             E3_MODULE_VERSION=version,
         )
-        print(o)
-        print(e)
         assert returncode == 0
 
     rc, o, e = run_ioc_get_output(requested, wrapper / "cellMods")
diff --git a/tests/utils.py b/tests/utils.py
index c7158999..a8323e6b 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -34,6 +34,9 @@ HEADERS += {headers}
 
 
 def set_env_vars(env: dict) -> dict:
+    """
+    Set a number of environment variables needed for require to build a module
+    """
     assert "EPICS_BASE" in env
     assert Path(env["EPICS_BASE"]).is_dir
     assert "E3_REQUIRE_VERSION" in env
@@ -46,16 +49,20 @@ def set_env_vars(env: dict) -> dict:
     REQUIRE_CONFIG = f"{E3_REQUIRE_LOCATION}/configure"
     env["REQUIRE_CONFIG"] = REQUIRE_CONFIG
 
-    # env["EPICS_MODULE_NAME"] = TEST_MODULE_NAME
     env["E3_MODULE_NAME"] = TEST_MODULE_NAME
     env["E3_MODULE_SRC_PATH"] = TEST_MODULE_NAME
     env["E3_MODULE_MAKEFILE"] = f"{TEST_MODULE_NAME}.Makefile"
+
+    # Add a default version
     env["E3_MODULE_VERSION"] = "0.0.0"
 
     return env
 
 
 def run_make(path, *args, **kwargs):
+    """
+    Attempt to run `make <args>` in the specified path with <kwargs> as environment variables
+    """
     test_env = set_env_vars(os.environ.copy())
     for kw in kwargs:
         test_env[kw] = kwargs[kw]
@@ -68,6 +75,9 @@ def run_make(path, *args, **kwargs):
 
 
 def run_ioc_get_output(version, cell_path):
+    """
+    Run an IOC and try to load the test module
+    """
     with IOC("-r", f"{TEST_MODULE_NAME},{version}", "-l", cell_path) as ioc:
         time.sleep(1)
     return ioc.proc.returncode, ioc.outs, ioc.errs
@@ -75,6 +85,11 @@ def run_ioc_get_output(version, cell_path):
 
 @pytest.fixture
 def wrapper(tmpdir, request):
+    """
+    Sets up a wrapper with the minimal necessary configuration in order to build a module
+
+    Note that a number of necessary variables are expected to be present in the environment
+    """
     wrapper_dir = Path(tmpdir / "wrapper")
     test_dir = wrapper_dir / TEST_MODULE_NAME
     test_dir.mkdir(parents=True)
-- 
GitLab