diff --git a/.gitlab-ci/bare-metal/poe-powered.sh b/.gitlab-ci/bare-metal/poe-powered.sh index 02cce07ae3f..eb9b435e1f3 100755 --- a/.gitlab-ci/bare-metal/poe-powered.sh +++ b/.gitlab-ci/bare-metal/poe-powered.sh @@ -199,6 +199,7 @@ while [ $((ATTEMPTS--)) -gt 0 ]; do --dev="$BM_SERIAL" \ --powerup="$BM_POWERUP" \ --powerdown="$BM_POWERDOWN" \ + --boot-timeout-seconds ${BOOT_PHASE_TIMEOUT_SECONDS:-300} \ --test-timeout-minutes ${TEST_PHASE_TIMEOUT_MINUTES:-20} ret=$? diff --git a/.gitlab-ci/bare-metal/poe_run.py b/.gitlab-ci/bare-metal/poe_run.py index 60a37f86652..58f3b75d79b 100755 --- a/.gitlab-ci/bare-metal/poe_run.py +++ b/.gitlab-ci/bare-metal/poe_run.py @@ -31,11 +31,12 @@ from custom_logger import CustomLogger from serial_buffer import SerialBuffer class PoERun: - def __init__(self, args, test_timeout, logger): + def __init__(self, args, boot_timeout, test_timeout, logger): self.powerup = args.powerup self.powerdown = args.powerdown self.ser = SerialBuffer( args.dev, "results/serial-output.txt", "") + self.boot_timeout = boot_timeout self.test_timeout = test_timeout self.logger = logger @@ -56,7 +57,7 @@ class PoERun: boot_detected = False 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): boot_detected = True break @@ -108,13 +109,15 @@ def main(): help='shell command for rebooting', required=True) parser.add_argument('--powerdown', type=str, 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( '--test-timeout-minutes', type=int, help='Test phase timeout (minutes)', required=True) args = parser.parse_args() logger = CustomLogger("job_detail.json") 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() poe.logged_system(args.powerdown)