tests: Fix detection of empty 'hout' responses in passt{,_in_ns} tests

The dhcp/passt and dhcp/passt_in_ns tests at least, and maybe others
use 'hout' commands that need to be able to detect empty output.
However, we don't set PS1, which means the screen-scraping logic which
detects this may not be reliable.  In addition, if the host is using a
recent bash, it will have bracketed paste mode enabled which will also
add escape codes which will mess up the empty output detection.

Set the prompt and disable bracketed paste mode from the passt and
passt_in_ns setups to avoid these problems.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
David Gibson 2022-07-15 15:21:31 +10:00 committed by Stefano Brivio
parent 181efaa3fa
commit 70fcba542e

View file

@ -57,6 +57,13 @@ setup_passt() {
" -device virtio-net-pci,netdev=hostnet0,x-txburst=16384" \
" -netdev socket,fd=5,id=hostnet0"
pane_status GUEST
# Set things up to reduce problems parsing host command output
pane_run HOST "PS1='$ '"
pane_wait HOST
# Non-bash shells will fail this, but also don't need it, so ignore errors
pane_run HOST "bind 'set enable-bracketed-paste off'"
pane_wait HOST
}
# setup_pasta() - Create a network and user namespace, connect pasta to it
@ -168,6 +175,13 @@ setup_passt_in_ns() {
" -device virtio-net-pci,netdev=hostnet0,x-txburst=524288" \
" -netdev socket,fd=5,id=hostnet0"
pane_status GUEST
# Set things up to reduce problems parsing host command output
pane_run HOST "PS1='$ '"
pane_wait HOST
# Non-bash shells will fail this, but also don't need it, so ignore errors
pane_run HOST "bind 'set enable-bracketed-paste off'"
pane_wait HOST
}
# setup_two_guests() - Set up two namespace, run qemu and passt in both of them