ci/poe-powered: allow setting a different boot timeout than 5 minutes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30409>
This commit is contained in:
Eric Engestrom
2024-07-29 12:46:43 +02:00
parent 771e07ad93
commit d76112bc48
2 changed files with 7 additions and 3 deletions

View File

@@ -199,6 +199,7 @@ while [ $((ATTEMPTS--)) -gt 0 ]; do
--dev="$BM_SERIAL" \ --dev="$BM_SERIAL" \
--powerup="$BM_POWERUP" \ --powerup="$BM_POWERUP" \
--powerdown="$BM_POWERDOWN" \ --powerdown="$BM_POWERDOWN" \
--boot-timeout-seconds ${BOOT_PHASE_TIMEOUT_SECONDS:-300} \
--test-timeout-minutes ${TEST_PHASE_TIMEOUT_MINUTES:-20} --test-timeout-minutes ${TEST_PHASE_TIMEOUT_MINUTES:-20}
ret=$? ret=$?

View File

@@ -31,11 +31,12 @@ from custom_logger import CustomLogger
from serial_buffer import SerialBuffer from serial_buffer import SerialBuffer
class PoERun: class PoERun:
def __init__(self, args, test_timeout, logger): def __init__(self, args, boot_timeout, test_timeout, logger):
self.powerup = args.powerup self.powerup = args.powerup
self.powerdown = args.powerdown self.powerdown = args.powerdown
self.ser = SerialBuffer( self.ser = SerialBuffer(
args.dev, "results/serial-output.txt", "") args.dev, "results/serial-output.txt", "")
self.boot_timeout = boot_timeout
self.test_timeout = test_timeout self.test_timeout = test_timeout
self.logger = logger self.logger = logger
@@ -56,7 +57,7 @@ class PoERun:
boot_detected = False boot_detected = False
self.logger.create_job_phase("boot") self.logger.create_job_phase("boot")
for line in self.ser.lines(timeout=5 * 60, phase="bootloader"): for line in self.ser.lines(timeout=self.boot_timeout, phase="bootloader"):
if re.search("Booting Linux", line): if re.search("Booting Linux", line):
boot_detected = True boot_detected = True
break break
@@ -108,13 +109,15 @@ def main():
help='shell command for rebooting', required=True) help='shell command for rebooting', required=True)
parser.add_argument('--powerdown', type=str, parser.add_argument('--powerdown', type=str,
help='shell command for powering off', required=True) help='shell command for powering off', required=True)
parser.add_argument(
'--boot-timeout-seconds', type=int, help='Boot phase timeout (seconds)', required=True)
parser.add_argument( parser.add_argument(
'--test-timeout-minutes', type=int, help='Test phase timeout (minutes)', required=True) '--test-timeout-minutes', type=int, help='Test phase timeout (minutes)', required=True)
args = parser.parse_args() args = parser.parse_args()
logger = CustomLogger("job_detail.json") logger = CustomLogger("job_detail.json")
logger.update_dut_time("start", None) logger.update_dut_time("start", None)
poe = PoERun(args, args.test_timeout_minutes * 60, logger) poe = PoERun(args, args.boot_timeout_seconds, args.test_timeout_minutes * 60, logger)
retval = poe.run() retval = poe.run()
poe.logged_system(args.powerdown) poe.logged_system(args.powerdown)