From: Michal Koutný Date: Mon, 21 Jun 2021 15:18:54 +0000 (+0200) Subject: ci: Detect shell prompt with higher specificity X-Git-Tag: v250-rc1~880^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e5e6043937055acd7040e8e7011c22e2164adc7;p=thirdparty%2Fsystemd.git ci: Detect shell prompt with higher specificity The current pattern '#' triggers on the openSUSE kernel version that is printed early during boot when no actual prompt is ready > [ 0.000000] Linux version 5.12.10-1-default (geeko@buildhost) (gcc (SUSE Linux) 11.1.1 20210510 [revision 23855a176609fe8dda6abaf2b21846b4517966eb], GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.36.1.20210326-4) #1 SMP Fri Jun 11 05:05:06 UTC 2021 (b92eaf7) Instead wait for pattern that: a) should have fewer false positives, b) still be with working on distro shells: openSUSE (red color) ^[[1m^[[31mimage:~ #^[[m^O arch [root@image ~]# debian root@image:~# ubuntu root@image:~# fedora [root@image ~]# --- diff --git a/.github/workflows/test_mkosi_boot.py b/.github/workflows/test_mkosi_boot.py index 3418fd3a513..3ea769a69f1 100755 --- a/.github/workflows/test_mkosi_boot.py +++ b/.github/workflows/test_mkosi_boot.py @@ -2,13 +2,15 @@ # SPDX-License-Identifier: LGPL-2.1-or-later import pexpect +import re import sys def run() -> None: p = pexpect.spawnu(" ".join(sys.argv[1:]), logfile=sys.stdout, timeout=300) - p.expect("#") + # distro-independent root prompt + p.expect(re.compile("~[^#]{0,3}#")) p.sendline("systemctl poweroff") p.expect(pexpect.EOF)