|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] CI: fix waiting for final test message
commit 1e12cbd6af2c92e61a1363ef208f71da1eae47ab
Author: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
AuthorDate: Fri Apr 11 22:32:14 2025 +0200
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Fri Apr 11 22:07:57 2025 +0100
CI: fix waiting for final test message
Expect normally discards initial part of its buffer after matching the
patter, before looking for the next one. If both PASSED and LOG_MSG
happen to be in the buffer at the same time, depending on their order,
only one will be matched and the waiting for the other will timeout.
Example expect -d output of this happening (parts eclipsed for brevity):
expect: does "\r\r\r\nWelcome to Alpine Linux
3.18\r\r\r\n...\r\r\r\r\n(domU) + echo 'pci test passed'\r\r\r\r\n(domU) pci
test passed\r\r\r\r..." (spawn_id exp4) match regular expression "pci test
passed"? Gate "pci test passed"? gate=yes re=yes
...
Gate keeper glob pattern for '\nWelcome to Alpine Linux' is '
Welcome to Alpine Linux'. Activating booster.
expect: does "'\r\r\r\r\n(domU) pci test passed\r\r\r\r\n(domU) [ ok
]\r\r\r\r\n(domU) [ ok ]\r\r\r\r\n(domU) \r\r\r\r\r\n(domU) domU Welcome to
Alpine Linux 3.18\r\r\r\r\n(domU) \rKernel 6.6.56 on an x86_64
(/dev/hvc0)\r\r\r\r\n(domU) \r\r\r\r\r\n" (spawn_id exp4) match regular
expression "\nWelcome to Alpine Linux"? Gate "\nWelcome to Alpine Linux"?
gate=no
Fix this by using -notransfer flag to keep matched part in the buffer.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxx>
---
automation/scripts/console.exp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/automation/scripts/console.exp b/automation/scripts/console.exp
index c27f893dfb..834a08db1b 100755
--- a/automation/scripts/console.exp
+++ b/automation/scripts/console.exp
@@ -48,11 +48,11 @@ if {[info exists env(BOOT_MSG)]} {
if {[info exists env(LOG_MSG)]} {
expect {
-re "$env(PASSED)" {
- expect -re "$env(LOG_MSG)"
+ expect -notransfer -re "$env(LOG_MSG)"
exit 0
}
-re "$env(LOG_MSG)" {
- expect -re "$env(PASSED)"
+ expect -notransfer -re "$env(PASSED)"
exit 0
}
}
--
generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |