test: Rename slightly misleading "valgrind" tests

The "valgrind" test cases are designed to pick up errors reported when
passt is running under valgrind.  But what it actually does is just kill
the passt process, then see if it had a non-zero exit code.  That means it
will equally well pick up any other problems which caused passt to exit
with an error status: either something detected within passt or as a result
of passt being killed by an unexpected signal.

The fact that the "valgrind" test is actually responsible for shutting down
the passt process is non-obvious and can lead to problems when selectively
running tests during debugging.

Rename the "valgrind" tests to "shutdown" tests and run it regardless of
whether we're using valgrind or not.  This allows us to remove an ugly
speacial case in the passt_in_ns teardown code.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
David Gibson 2022-08-18 16:13:55 +10:00 committed by Stefano Brivio
parent 5beef08597
commit 9224af1494
4 changed files with 13 additions and 12 deletions

View file

@ -317,8 +317,6 @@ teardown_passt_in_ns() {
pane_wait GUEST
tmux send-keys -t ${PANE_GUEST} "C-d"
[ ${VALGRIND} -eq 0 ] && tmux send-keys -t ${PANE_PASST} "C-c"
[ ${VALGRIND} -eq 0 ] && pane_status GUEST
tmux send-keys -t ${PANE_PASST} "C-d"
pane_wait GUEST

View file

@ -84,7 +84,7 @@ run() {
test dhcp/passt
test tcp/passt
test udp/passt
test valgrind/passt
test shutdown/passt
teardown passt
VALGRIND=1
@ -94,7 +94,7 @@ run() {
test icmp/passt_in_ns
test tcp/passt_in_ns
test udp/passt_in_ns
test valgrind/passt_in_ns
test shutdown/passt_in_ns
teardown passt_in_ns
VALGRIND=0
@ -105,6 +105,7 @@ run() {
test perf/passt_udp
test perf/pasta_tcp
test perf/pasta_udp
test shutdown/passt_in_ns
teardown passt_in_ns
setup two_guests

View file

@ -6,16 +6,17 @@
# PASTA - Pack A Subtle Tap Abstraction
# for network namespace/tap device mode
#
# test/valgrind/passt - Terminate passt and check valgrind exit code
# test/shutdown/passt - Shut down passt and check exit code (will detect
# valgrind errors amongst others)
#
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
test valgrind: exit code
test shutdown: exit code
hout PASST_PID cat passt.pid
host kill __PASST_PID__
sleep 1
pout VALGRIND_EXIT echo $?
check [ "__VALGRIND_EXIT__" = "0" ]
pout EXIT echo $?
check [ "__EXIT__" = "0" ]

View file

@ -6,16 +6,17 @@
# PASTA - Pack A Subtle Tap Abstraction
# for network namespace/tap device mode
#
# test/valgrind/passt_in_ns - Terminate passt and check valgrind exit code
# test/shutdown/passt_in_ns - Shut down passt and check exit code (will detect
# valgrind errors amongst others)
#
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
test valgrind: exit code
test shutdown: exit code
nsout PASST_PID cat passt.pid
ns kill __PASST_PID__
sleep 1
pout VALGRIND_EXIT echo $?
check [ "__VALGRIND_EXIT__" = "0" ]
pout EXIT echo $?
check [ "__EXIT__" = "0" ]