selftests: mptcp: join: define tests groups once
When adding a new tests group, it has to be defined in multiple places: - in the all_tests() function - in the 'usage()' function - in the getopts: short option + what to do when the option is used Because it is easy to forget one of them, it is useful to have to define them only once. Note: only using an associative array would simplify the code but the entries are stored in a hashtable and iterating over the different items doesn't give the same order as the one used in the declaration of this array. Because we want to run these tests in the same order as before, a "simple" array is used first. Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
3c082695e7
Коммит
3afd0280e7
|
@ -19,6 +19,7 @@ check_invert=0
|
|||
validate_checksum=0
|
||||
init=0
|
||||
|
||||
declare -A all_tests
|
||||
TEST_COUNT=0
|
||||
nr_blank=40
|
||||
|
||||
|
@ -2380,27 +2381,6 @@ implicit_tests()
|
|||
wait
|
||||
}
|
||||
|
||||
all_tests()
|
||||
{
|
||||
subflows_tests
|
||||
subflows_error_tests
|
||||
signal_address_tests
|
||||
link_failure_tests
|
||||
add_addr_timeout_tests
|
||||
remove_tests
|
||||
add_tests
|
||||
ipv6_tests
|
||||
v4mapped_tests
|
||||
backup_tests
|
||||
add_addr_ports_tests
|
||||
syncookies_tests
|
||||
checksum_tests
|
||||
deny_join_id0_tests
|
||||
fullmesh_tests
|
||||
fastclose_tests
|
||||
implicit_tests
|
||||
}
|
||||
|
||||
# [$1: error message]
|
||||
usage()
|
||||
{
|
||||
|
@ -2410,23 +2390,12 @@ usage()
|
|||
fi
|
||||
|
||||
echo "mptcp_join usage:"
|
||||
echo " -f subflows_tests"
|
||||
echo " -e subflows_error_tests"
|
||||
echo " -s signal_address_tests"
|
||||
echo " -l link_failure_tests"
|
||||
echo " -t add_addr_timeout_tests"
|
||||
echo " -r remove_tests"
|
||||
echo " -a add_tests"
|
||||
echo " -6 ipv6_tests"
|
||||
echo " -4 v4mapped_tests"
|
||||
echo " -b backup_tests"
|
||||
echo " -p add_addr_ports_tests"
|
||||
echo " -k syncookies_tests"
|
||||
echo " -S checksum_tests"
|
||||
echo " -d deny_join_id0_tests"
|
||||
echo " -m fullmesh_tests"
|
||||
echo " -z fastclose_tests"
|
||||
echo " -I implicit_tests"
|
||||
|
||||
local key
|
||||
for key in "${!all_tests[@]}"; do
|
||||
echo " -${key} ${all_tests[${key}]}"
|
||||
done
|
||||
|
||||
echo " -c capture pcap files"
|
||||
echo " -C enable data checksum"
|
||||
echo " -i use ip mptcp"
|
||||
|
@ -2436,59 +2405,43 @@ usage()
|
|||
}
|
||||
|
||||
|
||||
# Use a "simple" array to force an specific order we cannot have with an associative one
|
||||
all_tests_sorted=(
|
||||
f@subflows_tests
|
||||
e@subflows_error_tests
|
||||
s@signal_address_tests
|
||||
l@link_failure_tests
|
||||
t@add_addr_timeout_tests
|
||||
r@remove_tests
|
||||
a@add_tests
|
||||
6@ipv6_tests
|
||||
4@v4mapped_tests
|
||||
b@backup_tests
|
||||
p@add_addr_ports_tests
|
||||
k@syncookies_tests
|
||||
S@checksum_tests
|
||||
d@deny_join_id0_tests
|
||||
m@fullmesh_tests
|
||||
z@fastclose_tests
|
||||
I@implicit_tests
|
||||
)
|
||||
|
||||
all_tests_args=""
|
||||
all_tests_names=()
|
||||
for subtests in "${all_tests_sorted[@]}"; do
|
||||
key="${subtests%@*}"
|
||||
value="${subtests#*@}"
|
||||
|
||||
all_tests_args+="${key}"
|
||||
all_tests_names+=("${value}")
|
||||
all_tests[${key}]="${value}"
|
||||
done
|
||||
|
||||
tests=()
|
||||
while getopts 'fesltra64bpkdmchzICSi' opt; do
|
||||
while getopts "${all_tests_args}cCih" opt; do
|
||||
case $opt in
|
||||
f)
|
||||
tests+=(subflows_tests)
|
||||
;;
|
||||
e)
|
||||
tests+=(subflows_error_tests)
|
||||
;;
|
||||
s)
|
||||
tests+=(signal_address_tests)
|
||||
;;
|
||||
l)
|
||||
tests+=(link_failure_tests)
|
||||
;;
|
||||
t)
|
||||
tests+=(add_addr_timeout_tests)
|
||||
;;
|
||||
r)
|
||||
tests+=(remove_tests)
|
||||
;;
|
||||
a)
|
||||
tests+=(add_tests)
|
||||
;;
|
||||
6)
|
||||
tests+=(ipv6_tests)
|
||||
;;
|
||||
4)
|
||||
tests+=(v4mapped_tests)
|
||||
;;
|
||||
b)
|
||||
tests+=(backup_tests)
|
||||
;;
|
||||
p)
|
||||
tests+=(add_addr_ports_tests)
|
||||
;;
|
||||
k)
|
||||
tests+=(syncookies_tests)
|
||||
;;
|
||||
S)
|
||||
tests+=(checksum_tests)
|
||||
;;
|
||||
d)
|
||||
tests+=(deny_join_id0_tests)
|
||||
;;
|
||||
m)
|
||||
tests+=(fullmesh_tests)
|
||||
;;
|
||||
z)
|
||||
tests+=(fastclose_tests)
|
||||
;;
|
||||
I)
|
||||
tests+=(implicit_tests)
|
||||
["${all_tests_args}"])
|
||||
tests+=("${all_tests[${opt}]}")
|
||||
;;
|
||||
c)
|
||||
capture=1
|
||||
|
@ -2509,11 +2462,11 @@ while getopts 'fesltra64bpkdmchzICSi' opt; do
|
|||
done
|
||||
|
||||
if [ ${#tests[@]} -eq 0 ]; then
|
||||
all_tests
|
||||
else
|
||||
for subtests in "${tests[@]}"; do
|
||||
"${subtests}"
|
||||
done
|
||||
tests=("${all_tests_names[@]}")
|
||||
fi
|
||||
|
||||
for subtests in "${tests[@]}"; do
|
||||
"${subtests}"
|
||||
done
|
||||
|
||||
exit $ret
|
||||
|
|
Загрузка…
Ссылка в новой задаче