ci/bare-metal: Use re.search() instead re.match() for our line matching.

match() looks for the start of the line to match our regex, while search
just looks for the regex anywhere in the line.  I messed this up when
converting our greps in shell to python, which was part of breaking the
POWER_GOOD flake detection.  Most of our matches worked, but let's
consistently use this one so we don't mess this up in the future.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6529>
This commit is contained in:
Eric Anholt 2020-08-31 13:38:15 -07:00
parent 93c8777ace
commit b7787ce18d
1 changed files with 5 additions and 5 deletions

View File

@ -48,31 +48,31 @@ class CrosServoRun:
# Emit a ^N character to request network boot, because we don't have a
# direct-to-netboot firmware on cheza.
for line in self.cpu_ser.lines():
if re.match("load_archive: loading locale_en.bin", line):
if re.search("load_archive: loading locale_en.bin", line):
self.cpu_write("\016")
break
tftp_failures = 0
for line in self.cpu_ser.lines():
if re.match("---. end Kernel panic", line):
if re.search("---. end Kernel panic", line):
return 1
# The Cheza boards have issues with failing to bring up power to
# the system sometimes, possibly dependent on ambient temperature
# in the farm.
if re.match("POWER_GOOD not seen in time", line):
if re.search("POWER_GOOD not seen in time", line):
return 2
# The Cheza firmware seems to occasionally get stuck looping in
# this error state during TFTP booting, possibly based on amount of
# network traffic around it, but it'll usually recover after a
# reboot.
if re.match("R8152: Bulk read error 0xffffffbf", line):
if re.search("R8152: Bulk read error 0xffffffbf", line):
tftp_failures += 1
if tftp_failures >= 100:
return 2
result = re.match("bare-metal result: (\S*)", line)
result = re.search("bare-metal result: (\S*)", line)
if result:
if result.group(1) == "pass":
return 0