From a4f8cba7fbd215ecb7659f94ac08775519d83648 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas@kluyver.me.uk>
Date: Wed, 22 Nov 2023 08:33:55 +0000
Subject: [PATCH] Format test code

---
 .../test_pre_deployment.py                    | 89 +++++++++++--------
 1 file changed, 51 insertions(+), 38 deletions(-)

diff --git a/tests/test_reference_runs/test_pre_deployment.py b/tests/test_reference_runs/test_pre_deployment.py
index 30ec362b2..4df31e187 100644
--- a/tests/test_reference_runs/test_pre_deployment.py
+++ b/tests/test_reference_runs/test_pre_deployment.py
@@ -1,9 +1,7 @@
-import hashlib
 import io
 import logging
 import multiprocessing
 import pathlib
-import tempfile
 import time
 from contextlib import redirect_stdout
 from dataclasses import dataclass
@@ -46,19 +44,23 @@ class ComparisonResult:
         for ds in self.changed_dsets:
             print(f"  ~ CHANGED: {ds}")
 
+
 def gather_dsets(f: h5py.File):
     res = set()
+
     def visitor(name, obj):
         if isinstance(obj, h5py.Dataset):
             res.add(name)
+
     f.visititems(visitor)
     return res
 
+
 def validate_file(
     ref_folder: pathlib.PosixPath,
     out_folder: pathlib.PosixPath,
     exclude_dsets: set,
-    test_file: str
+    test_file: str,
 ) -> ComparisonResult:
     res = ComparisonResult(test_file, [], [], [])
     ref_file = ref_folder / test_file
@@ -77,7 +79,7 @@ def validate_file(
                 eq = np.array_equal(ref_arr, out_arr, equal_nan=True)
             else:
                 # Both single values
-                eq = (ref_arr == out_arr)
+                eq = ref_arr == out_arr
             if not eq:
                 changed.append(dsname)
 
@@ -85,9 +87,10 @@ def validate_file(
         test_file,
         new_dsets=sorted(out_dsets - ref_dsets),
         missing_dsets=sorted(ref_dsets - out_dsets),
-        changed_dsets=changed
+        changed_dsets=changed,
     )
 
+
 def parse_config(cmd: List[str], config: Dict[str, Any], out_folder: str) -> List[str]:
     """Convert a dictionary to a list of arguments.
 
@@ -177,11 +180,7 @@ def validate_hdf5_files(
     assert ok, "HDF5 files changed - see details above"
 
 
-
-def slurm_watcher(
-    test_key: str,
-    std_out: str
-):
+def slurm_watcher(test_key: str, std_out: str):
     """
     Watch for submitted slurm jobs and wait for them to finish.
     After they finish apply first test and check
@@ -208,19 +207,25 @@ def slurm_watcher(
         res = run(cmd, stdout=PIPE)
         states = res.stdout.decode().split("\n")[2:-1]
 
-        if not any(s.strip() in [
-            "COMPLETING",
-            "RUNNING",
-            "CONFIGURING",
-            "PENDING",
-        ] for s in states):
+        if not any(
+            s.strip()
+            in [
+                "COMPLETING",
+                "RUNNING",
+                "CONFIGURING",
+                "PENDING",
+            ]
+            for s in states
+        ):
             slurm_watcher = False
         else:
             time.sleep(2)
 
     # 1st check that all jobs were COMPLETED without errors.
     states = res.stdout.decode().split("\n")[2:-1]
-    assert all(s.strip() == "COMPLETED" for s in states), f"{test_key} failure, calibration jobs were not completed. {jobids}: {states}"  # noqa
+    assert all(
+        s.strip() == "COMPLETED" for s in states
+    ), f"{test_key} failure, calibration jobs were not completed. {jobids}: {states}"  # noqa
     LOGGER.info(f"{test_key}'s jobs were COMPLETED")
 
 
@@ -230,11 +235,8 @@ def slurm_watcher(
     list(automated_test_config.items()),
     ids=list(automated_test_config.keys()),
 )
-def test_xfel_calibrate(
-    test_key: str, val_dict: dict,
-    release_test_config: Tuple[bool, bool, bool, bool]
-):
-    """ Test xfel calibrate detectors and calibrations written
+def test_xfel_calibrate(test_key: str, val_dict: dict, release_test_config: Tuple):
+    """Test xfel calibrate detectors and calibrations written
     in the given callab_test YAML file.
     Args:
         test_key : Key for the xfel-calibrate test.
@@ -244,9 +246,14 @@ def test_xfel_calibrate(
     """
 
     (
-        detectors, calibration, picked_test,
-        skip_numerical_validation, only_validate,
-        use_slurm, reference_dir_base, out_dir_base,
+        detectors,
+        calibration,
+        picked_test,
+        skip_numerical_validation,
+        only_validate,
+        use_slurm,
+        reference_dir_base,
+        out_dir_base,
     ) = release_test_config
 
     cal_type = val_dict["cal_type"]
@@ -254,10 +261,9 @@ def test_xfel_calibrate(
 
     if not picked_test:
         # Skip non-selected detectors
-        if (
-            detectors != ["all"] and
-            det_type.lower() not in [d.lower() for d in detectors]
-        ):
+        if detectors != ["all"] and det_type.lower() not in [
+            d.lower() for d in detectors
+        ]:
             pytest.skip()
 
         # Skip non-selected calibration
@@ -271,14 +277,16 @@ def test_xfel_calibrate(
 
     cal_conf = val_dict["config"]
 
-    out_folder = pathlib.Path(cal_conf["out-folder"].format(
-        out_dir_base, cal_conf["karabo-id"], test_key))
-    reference_folder = pathlib.Path(val_dict["reference-folder"].format(
-        reference_dir_base, cal_conf["karabo-id"], test_key))
+    out_folder = pathlib.Path(
+        cal_conf["out-folder"].format(out_dir_base, cal_conf["karabo-id"], test_key)
+    )
+    reference_folder = pathlib.Path(
+        val_dict["reference-folder"].format(
+            reference_dir_base, cal_conf["karabo-id"], test_key
+        )
+    )
 
-    report_name = (
-        out_folder /
-        f"{test_key}_{datetime.now().strftime('%y%m%d_%H%M%S')}")
+    report_name = out_folder / f"{test_key}_{datetime.now().strftime('%y%m%d_%H%M%S')}"
 
     cal_conf["report-to"] = str(report_name)
 
@@ -290,13 +298,18 @@ def test_xfel_calibrate(
             out_folder,
             reference_folder,
             cal_type,
-            )
+        )
         return
 
     if not use_slurm:  # e.g. for Gitlab CI.
         cmd += ["--no-cluster-job"]
 
-    cmd += ["--slurm-name", test_key, "--cal-db-interface", "tcp://max-exfl-cal001:8015#8045"]
+    cmd += [
+        "--slurm-name",
+        test_key,
+        "--cal-db-interface",
+        "tcp://max-exfl-cal001:8015#8045",
+    ]
     f = io.StringIO()
     LOGGER.info(f"Submitting CL: {cmd}")
     with redirect_stdout(f):
-- 
GitLab