test: Use new-style contexts for passt pane in the pasta and passt tests
Convert the pasta and passt tests to use new-style context execution for the things that run in the "passt" frame. Don't touch the passt_in_ns or two_guests tests yet, because they run passt inside a namespace which introduces some additional complications we have yet to handle. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
d9b9c252cd
commit
2f87265d8b
3 changed files with 12 additions and 19 deletions
|
@ -69,9 +69,7 @@ layout_pasta() {
|
|||
tmux select-pane -t ${PANE_INFO} -T "test log"
|
||||
|
||||
pane_watch_contexts ${PANE_HOST} host host
|
||||
|
||||
tmux pipe-pane -O -t ${PANE_PASST} "cat >> ${LOGDIR}/pane_passt.log"
|
||||
tmux select-pane -t ${PANE_PASST} -T "pasta"
|
||||
pane_watch_contexts ${PANE_PASST} pasta passt
|
||||
|
||||
info_layout "single pasta instance with namespace"
|
||||
|
||||
|
@ -104,9 +102,7 @@ layout_passt() {
|
|||
tmux select-pane -t ${PANE_INFO} -T "test log"
|
||||
|
||||
pane_watch_contexts ${PANE_HOST} host host
|
||||
|
||||
tmux pipe-pane -O -t ${PANE_PASST} "cat >> ${LOGDIR}/pane_passt.log"
|
||||
tmux select-pane -t ${PANE_PASST} -T "passt"
|
||||
pane_watch_contexts ${PANE_PASST} passt passt
|
||||
|
||||
info_layout "single passt instance with guest"
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ setup_distro() {
|
|||
# setup_passt() - Start qemu and passt
|
||||
setup_passt() {
|
||||
context_setup_host host
|
||||
context_setup_host passt
|
||||
|
||||
layout_passt
|
||||
|
||||
|
@ -48,11 +49,9 @@ setup_passt() {
|
|||
[ ${DEBUG} -eq 1 ] && __opts="${__opts} -d"
|
||||
[ ${TRACE} -eq 1 ] && __opts="${__opts} --trace"
|
||||
|
||||
pane_run PASST "make clean"
|
||||
pane_status PASST
|
||||
pane_run PASST "make valgrind"
|
||||
pane_status PASST
|
||||
pane_run PASST "valgrind --max-stackframe=$((4 * 1024 * 1024)) --trace-children=yes --vgdb=no --error-exitcode=1 --suppressions=test/valgrind.supp ./passt ${__opts} -f -t 10001 -u 10001 -P passt.pid"
|
||||
context_run passt "make clean"
|
||||
context_run passt "make valgrind"
|
||||
context_run_bg passt "valgrind --max-stackframe=$((4 * 1024 * 1024)) --trace-children=yes --vgdb=no --error-exitcode=1 --suppressions=test/valgrind.supp ./passt ${__opts} -f -t 10001 -u 10001 -P passt.pid"
|
||||
sleep 5
|
||||
|
||||
pane_run GUEST './qrap 5 qemu-system-$(uname -m)' \
|
||||
|
@ -72,6 +71,7 @@ setup_passt() {
|
|||
# setup_pasta() - Create a network and user namespace, connect pasta to it
|
||||
setup_pasta() {
|
||||
context_setup_host host
|
||||
context_setup_host passt
|
||||
|
||||
layout_pasta
|
||||
|
||||
|
@ -82,9 +82,7 @@ setup_pasta() {
|
|||
pane_run NS "unshare -rUnpf /bin/sh"
|
||||
pane_status NS
|
||||
|
||||
pane_run PASST "pstree -p ${__tty_pid} | sed -n 's/.*(\([0-9].*\))$/\1/p'"
|
||||
pane_wait PASST
|
||||
__target_pid="$(pane_parse PASST)"
|
||||
__target_pid=$(pstree -p ${__tty_pid} | sed -n 's/.*(\([0-9].*\))$/\1/p')
|
||||
|
||||
# Ports:
|
||||
#
|
||||
|
@ -98,7 +96,7 @@ setup_pasta() {
|
|||
[ ${DEBUG} -eq 1 ] && __opts="${__opts} -d"
|
||||
[ ${TRACE} -eq 1 ] && __opts="${__opts} --trace"
|
||||
|
||||
pane_run PASST "./pasta ${__opts} -f -t 10002 -T 10003 -u 10002 -U 10003 -P passt.pid ${__target_pid}"
|
||||
context_run_bg passt "./pasta ${__opts} -f -t 10002 -T 10003 -u 10002 -U 10003 -P passt.pid ${__target_pid}"
|
||||
sleep 1
|
||||
}
|
||||
|
||||
|
@ -311,11 +309,11 @@ teardown_distro() {
|
|||
# teardown_passt() - Kill qemu, remove passt PID file
|
||||
teardown_passt() {
|
||||
kill $(cat passt_qemu.pid)
|
||||
|
||||
pane_wait GUEST
|
||||
rm passt.pid
|
||||
|
||||
teardown_context_watch ${PANE_HOST} host
|
||||
teardown_context_watch ${PANE_PASST} passt
|
||||
}
|
||||
|
||||
# teardown_passt() - Exit namespace, kill pasta process
|
||||
|
@ -324,6 +322,7 @@ teardown_pasta() {
|
|||
pane_wait NS
|
||||
|
||||
teardown_context_watch ${PANE_HOST} host
|
||||
teardown_context_watch ${PANE_PASST} passt
|
||||
}
|
||||
|
||||
# teardown_passt_in_ns() - Exit namespace, kill qemu and pasta, remove pid file
|
||||
|
|
|
@ -17,6 +17,4 @@ test shutdown: exit code
|
|||
hout PASST_PID cat passt.pid
|
||||
host kill __PASST_PID__
|
||||
sleep 1
|
||||
|
||||
pout EXIT echo $?
|
||||
check [ "__EXIT__" = "0" ]
|
||||
passtw
|
||||
|
|
Loading…
Reference in a new issue