tests: Explicitly list test files in test/run, remove "onlyfor" support

Currently test/run uses wildcards to run all of the tests in a directory.
However, that wildcard list is filtered down by the "onlyfor" directives
in the test files... usually to a single file.

Therefore, just explicitly list the files we *really* want to run for this
test mode.  This makes it easier to see at the top level what tests will
be executed, and to change that list temporarily while debugging specific
failures.

This means the "onlyfor" directive no longer has any purpose, and we can
remove it.  "onlyfor" was also the only used of the $MODE variable, so we
can remove that too.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
David Gibson 2022-07-06 17:29:06 +10:00 committed by Stefano Brivio
parent 544f790bf8
commit a832a44e67
23 changed files with 31 additions and 67 deletions

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt
say This is a short introduction to
em passt
say .

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor pasta
say This is a short introduction to
em pasta
say .

View file

@ -11,8 +11,6 @@
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor podman
set OPTS -Z -w 4M -l 1M -P 2 -t10 --pacing-timer 10000
say This is an overview of

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt passt_in_ns
gtools ip jq dhclient sed tr
htools ip jq sed tr head

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor pasta
nstools ip jq /sbin/dhclient
htools ip jq

View file

@ -16,7 +16,6 @@
# to create "ping" sockets. Inside the namespace, there's a single group, which
# is allowed by default to create them.
onlyfor passt_in_ns
nstools ip jq sleep
gtools ping ip jq

View file

@ -20,15 +20,11 @@ VMEM="$((${__mem_kib} / 1024 / 4))"
# setup_build() - Set up pane layout for build tests
setup_build() {
MODE=build
layout_host
}
# setup_passt() - Start qemu and passt
setup_passt() {
MODE=passt
layout_passt
# Ports:
@ -65,8 +61,6 @@ setup_passt() {
# setup_pasta() - Create a network and user namespace, connect pasta to it
setup_pasta() {
MODE=pasta
layout_pasta
pane_run NS 'echo $$'
@ -98,8 +92,6 @@ setup_pasta() {
# setup_passt_in_ns() - Set up namespace (with pasta), run qemu and passt into it
setup_passt_in_ns() {
MODE=passt_in_ns
layout_passt_in_pasta
# Ports:
@ -180,8 +172,6 @@ setup_passt_in_ns() {
# setup_two_guests() - Set up two namespace, run qemu and passt in both of them
setup_two_guests() {
MODE=passt_in_ns
layout_two_guests
# Ports:

View file

@ -13,9 +13,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
# Empty, 'passt' or 'pasta', to match against 'onlyfor' directive
MODE=
# test_iperf3() - Ugly helper for iperf3c/iperf3s directives
# $1: Role: client or server
# $2: Pane name, can be lowercase
@ -426,12 +423,6 @@ test() {
__list="$(list_add "${__list}" "${__f}")"
continue
fi
if [ -n "$(file_def "${__f}" onlyfor)" ] && \
! list_has "$(file_def "${__f}" onlyfor)" "${MODE}"; then
continue
fi
__list="$(list_add "${__list}" "${__f}")"
done
cd ..

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt passt_in_ns
gtools ip jq sipcalc grep
htools ip jq sipcalc grep cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor pasta
nstools ip jq sipcalc grep cut
htools ip jq sipcalc grep cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
gtools sysctl ip jq nproc seq sleep bc iperf3 tcp_rr tcp_crr # From neper
nstools sysctl ip jq nproc seq sleep bc iperf3 tcp_rr tcp_crr
htools bc head sed seq

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
gtools sysctl ip jq nproc sleep iperf3 udp_rr # From neper
nstools ip jq sleep iperf3 udp_rr
htools bc head sed

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
htools head ip seq bc sleep iperf3 tcp_rr tcp_crr jq sed
nstools sysctl nproc ip seq bc sleep iperf3 tcp_rr tcp_crr jq sed

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
htools bc head ip sleep iperf3 udp_rr jq sed
nstools ip sleep iperf3 udp_rr jq sed

View file

@ -60,43 +60,50 @@ run() {
[ ${CI} -eq 1 ] && video_start ci
setup build
test $(cd test && echo build/*)
test $(cd test && echo distro/*)
test build/all
test build/static_checkers
test distro/debian
test distro/fedora
test distro/opensuse
test distro/ubuntu
setup pasta
test $(cd test && echo ndp/*)
test $(cd test && echo dhcp/*)
test $(cd test && echo tcp/*)
test $(cd test && echo udp/*)
test ndp/pasta
test dhcp/pasta
test tcp/pasta
test udp/pasta
teardown pasta
setup passt
test $(cd test && echo ndp/*)
test $(cd test && echo dhcp/*)
test $(cd test && echo tcp/*)
test $(cd test && echo udp/*)
test $(cd test && echo valgrind/*)
test ndp/passt
test dhcp/passt
test tcp/passt
test udp/passt
test valgrind/passt
teardown passt
VALGRIND=1
setup passt_in_ns
test $(cd test && echo ndp/*)
test $(cd test && echo dhcp/*)
test $(cd test && echo icmp/*)
test $(cd test && echo tcp/*)
test $(cd test && echo udp/*)
test $(cd test && echo valgrind/*)
test ndp/passt
test dhcp/passt
test icmp/passt_in_ns
test tcp/passt_in_ns
test udp/passt_in_ns
test valgrind/passt_in_ns
teardown passt_in_ns
VALGRIND=0
setup passt_in_ns
test $(cd test && echo ndp/*)
test $(cd test && echo dhcp/*)
test $(cd test && echo perf/*)
test ndp/passt
test dhcp/passt
test perf/passt_tcp
test perf/passt_udp
test perf/pasta_tcp
test perf/pasta_udp
teardown passt_in_ns
setup two_guests
test $(cd test && echo two_guests/*)
test two_guests/basic
teardown two_guests
perf_finish
@ -124,22 +131,19 @@ demo() {
layout_demo_passt
video_start demo_passt
MODE=passt
test $(cd test && echo demo/*)
test demo/passt
video_stop
teardown demo_passt
layout_demo_pasta
video_start demo_pasta
MODE=pasta
test $(cd test && echo demo/*)
test demo/pasta
video_stop
teardown demo_pasta
layout_demo_podman
video_start demo_podman
MODE=podman
test $(cd test && echo demo/*)
test demo/podman
video_stop
teardown_demo_podman

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt
gtools nc ip jq cat md5sum cut
htools dd nc ip jq cat md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
gtools nc ip jq cat md5sum cut
htools dd nc ip jq cat md5sum cut
nstools nc ip jq cat md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor pasta
htools dd ncat ip jq cat md5sum cut
nstools ncat ip jq cat md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt
gtools nc tee grep cat ip jq md5sum cut
htools printf dd nc tee grep cat ip jq md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
gtools nc tee grep cat ip jq md5sum cut
nstools nc tee grep cat ip jq md5sum cut
htools printf dd nc tee grep cat ip jq md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor pasta
nstools ncat tee grep cat ip jq md5sum cut
htools printf dd ncat tee grep cat ip jq md5sum cut

View file

@ -11,7 +11,6 @@
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt
test valgrind: exit code
hout PASST_PID cat passt.pid

View file

@ -11,7 +11,6 @@
# Copyright (c) 2022 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
onlyfor passt_in_ns
test valgrind: exit code
nsout PASST_PID cat passt.pid