From 096b3aec27c07dd056ce9900597a63541591f832 Mon Sep 17 00:00:00 2001
From: lb584 <lb584@cam.ac.uk>
Date: Mon, 22 Jan 2024 16:08:18 +0000
Subject: [PATCH] fixing tests to work with new HTMLRunner

---
 tests/integration/full/full_test_advisory.py        |  3 ++-
 tests/integration/full/full_test_deposition.py      |  2 +-
 tests/integration/full/full_test_env_suit.py        |  4 ++--
 tests/integration/full/full_test_epi.py             |  7 ++++---
 tests/integration/full/full_test_survey.py          |  4 ++--
 tests/integration/partial/integration_test_utils.py | 11 ++++++++---
 6 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/tests/integration/full/full_test_advisory.py b/tests/integration/full/full_test_advisory.py
index 4e7e2e2..16c9335 100644
--- a/tests/integration/full/full_test_advisory.py
+++ b/tests/integration/full/full_test_advisory.py
@@ -22,7 +22,8 @@ class FullTestAdvisory(BaseAdvisoryTestSuite.AdvisoryTestSuite):
 
         self.set_expected_values()
 
-        if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH):
+        if IntegrationTestUtils.TEST_OUT_PATH is None \
+                or not os.listdir(IntegrationTestUtils.TEST_OUT_PATH):
         # if True:
             FullTestAdvisory.write_temp_run_config_files()
             FullTestAdvisory.run_dependent_pipelines()
diff --git a/tests/integration/full/full_test_deposition.py b/tests/integration/full/full_test_deposition.py
index c594f51..14d1d11 100644
--- a/tests/integration/full/full_test_deposition.py
+++ b/tests/integration/full/full_test_deposition.py
@@ -22,7 +22,7 @@ class FullTestDeposition(BaseDepoTestSuite.DepoTestSuite):
 
         path = IntegrationTestUtils.TEST_OUT_PATH
         if path is None \
-                or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH):
+                or not os.listdir(IntegrationTestUtils.TEST_OUT_PATH):
             FullTestDeposition.write_temp_run_config_file()
             FullTestDeposition.run_depo_pipeline()
         else:
diff --git a/tests/integration/full/full_test_env_suit.py b/tests/integration/full/full_test_env_suit.py
index d6a9f39..10323a8 100644
--- a/tests/integration/full/full_test_env_suit.py
+++ b/tests/integration/full/full_test_env_suit.py
@@ -19,8 +19,8 @@ class FullTestEnvSuit(BaseEnvSuitTestSuite.EnvSuitTestSuite):
 
         self.set_expected_values()
 
-        if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(
-                IntegrationTestUtils.TEST_OUT_PATH):
+        if IntegrationTestUtils.TEST_OUT_PATH is None \
+                or not os.listdir(IntegrationTestUtils.TEST_OUT_PATH):
             FullTestEnvSuit.write_temp_run_config_file()
             FullTestEnvSuit.run_env_pipeline()
         else:
diff --git a/tests/integration/full/full_test_epi.py b/tests/integration/full/full_test_epi.py
index 1c96b33..9389f26 100644
--- a/tests/integration/full/full_test_epi.py
+++ b/tests/integration/full/full_test_epi.py
@@ -20,10 +20,11 @@ class FullTestEpi(BaseEpiTestSuite.EpiTestSuite):
 
         self.set_expected_values()
 
-        # if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(IntegrationTestUtils.TEST_OUT_PATH):
-        if True:
+        if IntegrationTestUtils.TEST_OUT_PATH is None \
+                or not os.listdir(IntegrationTestUtils.TEST_OUT_PATH):
+        # if True:
             FullTestEpi.write_temp_run_config_files()
-            # FullTestEpi.run_dependent_pipelines()
+            FullTestEpi.run_dependent_pipelines()
             FullTestEpi.run_epi_pipeline()
         else:
             print(f"output in {IntegrationTestUtils.TEST_OUT_PATH} already written, skipping rerun")
diff --git a/tests/integration/full/full_test_survey.py b/tests/integration/full/full_test_survey.py
index f38bcd7..9a9f294 100644
--- a/tests/integration/full/full_test_survey.py
+++ b/tests/integration/full/full_test_survey.py
@@ -18,8 +18,8 @@ class FullTestSurvey(BaseSurveyTestSuite.SurveyTestSuite):
 
         self.set_expected_values()
 
-        if IntegrationTestUtils.TEST_OUT_PATH is None or not os.path.isdir(
-                IntegrationTestUtils.TEST_OUT_PATH):
+        if IntegrationTestUtils.TEST_OUT_PATH is None \
+                or not os.listdir(IntegrationTestUtils.TEST_OUT_PATH):
             FullTestSurvey.write_temp_run_config_file()
             FullTestSurvey.run_survey_pipeline()
         else:
diff --git a/tests/integration/partial/integration_test_utils.py b/tests/integration/partial/integration_test_utils.py
index 2d0a434..916d933 100644
--- a/tests/integration/partial/integration_test_utils.py
+++ b/tests/integration/partial/integration_test_utils.py
@@ -82,8 +82,8 @@ class IntegrationTestUtils:
         IntegrationTestUtils.DEFAULT_CONFIG_FILE_PATH = _config_file
 
         nowstring: str = IntegrationTestUtils.get_now_string()
-        # prefix: str = f"temp_{test_prefix}_" + nowstring
-        prefix: str = f"temp_{test_prefix}"
+        prefix: str = f"temp_{test_prefix}_" + nowstring
+        # prefix: str = f"temp_{test_prefix}"
         IntegrationTestUtils.TEST_OUT_PATH = _outdir + prefix + os.sep
         IntegrationTestUtils.EMAIL_CRED_PATH = _email_cred_path
 
@@ -101,7 +101,12 @@ class IntegrationTestUtils:
         if _test_report_dir is None:
             _test_report_dir = IntegrationTestUtils.TEST_JOB_DIR
 
-        runner = HTMLTestRunner(output = _test_report_dir)
+        """
+        the HTMLTestRunner will create the directory if it does not exist, we are putting the poutout into the 
+        TEST_OUT_PATH, which is the top-level test directory for this run, not the TEST_JOB_DIR, which is the dir
+        for the pipeline being tested
+        """
+        runner = HTMLTestRunner(output = IntegrationTestUtils.TEST_OUT_PATH)
         result: TestResult = runner.run(tests)
         return result.wasSuccessful()
 
-- 
GitLab