diff --git a/system/lib.py b/system/lib.py index d33e98e8..54a525f4 100644 --- a/system/lib.py +++ b/system/lib.py @@ -296,15 +296,12 @@ class BaseTest(object): if is_aptly_command: # remove the last two rows as go tests always print PASS/FAIL and coverage in those # two lines. This would otherwise fail the tests as they would not match gold - matches = re.findall(r"((.|\n)*)EXIT: (\d)\n.*\ncoverage: .*", raw_output.decode("utf-8")) - if not matches: + match = re.search(r"EXIT: (\d)\n.*\ncoverage: .*", raw_output.decode("utf-8")) + if match is None: raise Exception("no matches found in output '%s'" % raw_output.decode("utf-8")) - output, _, returncode = matches[0] - - output = output.encode() - returncodes.append(int(returncode)) - + output = match.string[:match.start()].encode() + returncodes.append(int(match.group(1))) else: output = raw_output