Bad status on rally_sanity
[functest.git] / ci / tier_handler.py
index 03db4a9..27b9cbc 100644 (file)
@@ -29,6 +29,7 @@ def split_text(text, max_len):
 
 
 class Tier:
+
     def __init__(self, name, order, ci_loop, description=""):
         self.tests_array = []
         self.name = name
@@ -102,23 +103,37 @@ class Tier:
 
 
 class TestCase:
-    def __init__(self, name, dependency, description=""):
+
+    def __init__(self, name, dependency, criteria, blocking, description=""):
         self.name = name
         self.dependency = dependency
         self.description = description
+        self.criteria = criteria
+        self.blocking = blocking
 
     def is_compatible(self, ci_installer, ci_scenario):
         try:
-            return not (re.search(self.dependency.get_installer(),
-                                  ci_installer) is None or
-                        re.search(self.dependency.get_scenario(),
-                                  ci_scenario) is None)
+            if ci_installer is not None:
+                if re.search(self.dependency.get_installer(),
+                             ci_installer) is None:
+                    return False
+            if ci_scenario is not None:
+                if re.search(self.dependency.get_scenario(),
+                             ci_scenario) is None:
+                    return False
+            return not (ci_scenario is None and ci_installer is None)
         except TypeError:
             return False
 
     def get_name(self):
         return self.name
 
+    def get_criteria(self):
+        return self.criteria
+
+    def get_blocking(self):
+        return self.blocking
+
     def __str__(self):
         lines = split_text(self.description, LINE_LENGTH - 6)
 
@@ -129,6 +144,8 @@ class TestCase:
         out += ("| Description:".ljust(LINE_LENGTH - 1) + "|\n")
         for line in lines:
             out += ("|    " + line.ljust(LINE_LENGTH - 7) + " |\n")
+        out += ("| Criteria:  " +
+                self.criteria.ljust(LINE_LENGTH - 14) + "|\n")
         out += ("| Dependencies:".ljust(LINE_LENGTH - 1) + "|\n")
         installer = self.dependency.get_installer()
         scenario = self.dependency.get_scenario()
@@ -140,6 +157,7 @@ class TestCase:
 
 
 class Dependency:
+
     def __init__(self, installer, scenario):
         self.installer = installer
         self.scenario = scenario