]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
orch/run: seek to EOF after each scan
authorVallari Agrawal <val.agl002@gmail.com>
Mon, 20 Jun 2022 09:23:15 +0000 (14:53 +0530)
committerVallari Agrawal <val.agl002@gmail.com>
Thu, 29 Sep 2022 16:30:30 +0000 (22:00 +0530)
Signed-off-by: Vallari Agrawal <val.agl002@gmail.com>
teuthology/orchestra/run.py

index 196c093afb588a9c6f3951f720814e760d0d9cf3..7b9c05ca23fae719b9d7bd0aefb775e1a291553d 100644 (file)
@@ -245,25 +245,31 @@ class ErrorScanner(object):
             return None, None
 
         ERROR_PATTERN = {
-            "nose": r"ERROR:\s",
+            "prev_error": r"UnitTestError",
+            "nose": r"ERROR: \s",
             "gtest":  r"\[\s\sFAILED\s\s\]",
         }
         error_test = None
         error_msg = None
 
+        log.debug("__flag__ pointer at: {}".format(ErrorScanner.__flag__))
         f = open(logfile, 'r')
-        f.seek(ErrorScanner.__flag__ + 1)
-        while f:
-            line = f.readline()
+        f.seek(ErrorScanner.__flag__)
+
+        for line in f:
             for test in self.test_names:
                 pattern = ERROR_PATTERN[test]
                 error = re.search(pattern, line)
                 if error:
-                    error_test = test
-                    error_msg = line[error.start():].strip()
-                    break
+                    is_old_error = re.search(ERROR_PATTERN['prev_error'], line)
+                    if not is_old_error:
+                        error_test = test
+                        error_msg = line[error.start():].strip()
+                        break
             if error_msg:
                 break
+
+        f.seek(0, 2) # seek to EOF
         ErrorScanner.__flag__ = f.tell()
         f.close()
         return error_test, error_msg