[VVP] Allow AZ CDL params in nested templates
[vvp/validation-scripts.git] / ice_validator / tests / conftest.py
index 3ab1aba..b165e39 100644 (file)
@@ -209,7 +209,7 @@ class TestResult:
         """
         text = (
             "\n\n{}: \n{}".format(r_id, curr_reqs[r_id]["description"])
-            for r_id in self.requirement_ids
+            for r_id in self.requirement_ids if r_id in curr_reqs
         )
         return "".join(text)
 
@@ -714,6 +714,10 @@ def collect_errors(r_id, collection_failures, test_result):
     return [e for e in errors if e]
 
 
+def relative_paths(base_dir, paths):
+    return [os.path.relpath(p, base_dir) for p in paths]
+
+
 def generate_json(outpath, template_path, categories):
     """
     Creates a JSON summary of the entire test run.
@@ -721,7 +725,9 @@ def generate_json(outpath, template_path, categories):
     reqs = load_current_requirements()
     data = {
         "version": "dublin",
-        "template_directory": template_path,
+        "template_directory": os.path.splitdrive(template_path)[1].replace(
+            os.path.sep, "/"
+        ),
         "timestamp": make_iso_timestamp(),
         "checksum": hash_directory(template_path),
         "categories": categories,
@@ -745,7 +751,7 @@ def generate_json(outpath, template_path, categories):
     for result in ALL_RESULTS:
         results.append(
             {
-                "files": result.files,
+                "files": relative_paths(template_path, result.files),
                 "test_module": result.test_module,
                 "test_case": result.test_case,
                 "result": result.outcome,
@@ -1027,7 +1033,7 @@ def load_current_requirements():
 
 def select_heat_requirements(reqs):
     """Filters dict requirements to only those requirements pertaining to Heat"""
-    return {k: v for k, v in reqs.items() if "Heat" in v["docname"]}
+    return {k: v for k, v in reqs.items() if "heat" in v["docname"].lower()}
 
 
 def build_rst_json(reqs):