selftests: mptcp: join: list failure at the end
With ~100 tests, it helps to have this summary at the end not to scroll to find which one has failed. It is especially interseting when looking at the output produced by the CI where the kernel logs from the serial are mixed together. 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:
parent
c7d49c033d
commit
39aab88242
|
@ -22,6 +22,7 @@ init=0
|
|||
declare -A all_tests
|
||||
declare -a only_tests_ids
|
||||
declare -a only_tests_names
|
||||
declare -A failed_tests
|
||||
TEST_COUNT=0
|
||||
TEST_NAME=""
|
||||
nr_blank=40
|
||||
|
@ -251,6 +252,21 @@ reset_with_allow_join_id0()
|
|||
ip netns exec $ns2 sysctl -q net.mptcp.allow_join_initial_addr_port=$ns2_enable
|
||||
}
|
||||
|
||||
fail_test()
|
||||
{
|
||||
ret=1
|
||||
failed_tests[${TEST_COUNT}]="${TEST_NAME}"
|
||||
}
|
||||
|
||||
get_failed_tests_ids()
|
||||
{
|
||||
# sorted
|
||||
local i
|
||||
for i in "${!failed_tests[@]}"; do
|
||||
echo "${i}"
|
||||
done | sort -n
|
||||
}
|
||||
|
||||
print_file_err()
|
||||
{
|
||||
ls -l "$1" 1>&2
|
||||
|
@ -272,7 +288,7 @@ check_transfer()
|
|||
echo "[ FAIL ] $what does not match (in, out):"
|
||||
print_file_err "$in"
|
||||
print_file_err "$out"
|
||||
ret=1
|
||||
fail_test
|
||||
|
||||
return 1
|
||||
else
|
||||
|
@ -292,7 +308,7 @@ do_ping()
|
|||
ip netns exec ${connector_ns} ping -q -c 1 $connect_addr >/dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" 1>&2
|
||||
ret=1
|
||||
fail_test
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -541,7 +557,7 @@ pm_nl_check_endpoint()
|
|||
echo "[ ok ]"
|
||||
else
|
||||
echo "[fail] expected '$expected_line' found '$line'"
|
||||
ret=1
|
||||
fail_test
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -795,7 +811,7 @@ do_transfer()
|
|||
cat /tmp/${connector_ns}.out
|
||||
|
||||
cat "$capout"
|
||||
ret=1
|
||||
fail_test
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -920,7 +936,7 @@ chk_csum_nr()
|
|||
if [ "$count" != $csum_ns1 -a $allow_multi_errors_ns1 -eq 0 ] ||
|
||||
[ "$count" -lt $csum_ns1 -a $allow_multi_errors_ns1 -eq 1 ]; then
|
||||
echo "[fail] got $count data checksum error[s] expected $csum_ns1"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -931,7 +947,7 @@ chk_csum_nr()
|
|||
if [ "$count" != $csum_ns2 -a $allow_multi_errors_ns2 -eq 0 ] ||
|
||||
[ "$count" -lt $csum_ns2 -a $allow_multi_errors_ns2 -eq 1 ]; then
|
||||
echo "[fail] got $count data checksum error[s] expected $csum_ns2"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -951,7 +967,7 @@ chk_fail_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$fail_tx" ]; then
|
||||
echo "[fail] got $count MP_FAIL[s] TX expected $fail_tx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -962,7 +978,7 @@ chk_fail_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$fail_rx" ]; then
|
||||
echo "[fail] got $count MP_FAIL[s] RX expected $fail_rx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -983,7 +999,7 @@ chk_fclose_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$fclose_tx" ]; then
|
||||
echo "[fail] got $count MP_FASTCLOSE[s] TX expected $fclose_tx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -994,7 +1010,7 @@ chk_fclose_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$fclose_rx" ]; then
|
||||
echo "[fail] got $count MP_FASTCLOSE[s] RX expected $fclose_rx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1025,7 +1041,7 @@ chk_rst_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$rst_tx" ]; then
|
||||
echo "[fail] got $count MP_RST[s] TX expected $rst_tx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1036,7 +1052,7 @@ chk_rst_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$rst_rx" ]; then
|
||||
echo "[fail] got $count MP_RST[s] RX expected $rst_rx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1071,7 +1087,7 @@ chk_join_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$syn_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] syn expected $syn_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1089,7 +1105,7 @@ chk_join_nr()
|
|||
echo -n "[ ok ]"
|
||||
else
|
||||
echo "[fail] got $count JOIN[s] synack expected $syn_ack_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
fi
|
||||
else
|
||||
|
@ -1101,7 +1117,7 @@ chk_join_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$ack_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] ack expected $ack_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1141,7 +1157,7 @@ chk_stale_nr()
|
|||
echo "[fail] got $stale_nr stale[s] $recover_nr recover[s], " \
|
||||
" expected stale in range [$stale_min..$stale_max]," \
|
||||
" stale-recover delta $stale_delta "
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1178,7 +1194,7 @@ chk_add_nr()
|
|||
# add addrs options, due to retransmissions
|
||||
if [ "$count" != "$add_nr" ] && [ "$timeout" -gt 1 -o "$count" -lt "$add_nr" ]; then
|
||||
echo "[fail] got $count ADD_ADDR[s] expected $add_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1189,7 +1205,7 @@ chk_add_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$echo_nr" ]; then
|
||||
echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1201,7 +1217,7 @@ chk_add_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$port_nr" ]; then
|
||||
echo "[fail] got $count ADD_ADDR[s] with a port-number expected $port_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1214,7 +1230,7 @@ chk_add_nr()
|
|||
if [ "$count" != "$syn_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] syn with a different \
|
||||
port-number expected $syn_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1227,7 +1243,7 @@ chk_add_nr()
|
|||
if [ "$count" != "$syn_ack_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] synack with a different \
|
||||
port-number expected $syn_ack_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1240,7 +1256,7 @@ chk_add_nr()
|
|||
if [ "$count" != "$ack_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] ack with a different \
|
||||
port-number expected $ack_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1253,7 +1269,7 @@ chk_add_nr()
|
|||
if [ "$count" != "$mis_syn_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] syn with a mismatched \
|
||||
port-number expected $mis_syn_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1266,7 +1282,7 @@ chk_add_nr()
|
|||
if [ "$count" != "$mis_ack_nr" ]; then
|
||||
echo "[fail] got $count JOIN[s] ack with a mismatched \
|
||||
port-number expected $mis_ack_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1311,7 +1327,7 @@ chk_rm_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$rm_addr_nr" ]; then
|
||||
echo "[fail] got $count RM_ADDR[s] expected $rm_addr_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1334,14 +1350,14 @@ chk_rm_nr()
|
|||
echo "[ ok ] $suffix"
|
||||
else
|
||||
echo "[fail] got $count RM_SUBFLOW[s] expected in range [$rm_subflow_nr:$((rm_subflow_nr*2))]"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
fi
|
||||
return
|
||||
fi
|
||||
if [ "$count" != "$rm_subflow_nr" ]; then
|
||||
echo "[fail] got $count RM_SUBFLOW[s] expected $rm_subflow_nr"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1364,7 +1380,7 @@ chk_prio_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$mp_prio_nr_tx" ]; then
|
||||
echo "[fail] got $count MP_PRIO[s] TX expected $mp_prio_nr_tx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo -n "[ ok ]"
|
||||
|
@ -1375,7 +1391,7 @@ chk_prio_nr()
|
|||
[ -z "$count" ] && count=0
|
||||
if [ "$count" != "$mp_prio_nr_rx" ]; then
|
||||
echo "[fail] got $count MP_PRIO[s] RX expected $mp_prio_nr_rx"
|
||||
ret=1
|
||||
fail_test
|
||||
dump_stats=1
|
||||
else
|
||||
echo "[ ok ]"
|
||||
|
@ -1399,7 +1415,7 @@ chk_link_usage()
|
|||
if [ $tx_rate -lt $((expected_rate - $tolerance)) -o \
|
||||
$tx_rate -gt $((expected_rate + $tolerance)) ]; then
|
||||
echo "[fail] got $tx_rate% usage, expected $expected_rate%"
|
||||
ret=1
|
||||
fail_test
|
||||
else
|
||||
echo "[ ok ]"
|
||||
fi
|
||||
|
@ -2616,4 +2632,13 @@ for subtests in "${tests[@]}"; do
|
|||
"${subtests}"
|
||||
done
|
||||
|
||||
if [ ${ret} -ne 0 ]; then
|
||||
echo
|
||||
echo "${#failed_tests[@]} failure(s) has(ve) been detected:"
|
||||
for i in $(get_failed_tests_ids); do
|
||||
echo -e "\t- ${i}: ${failed_tests[${i}]}"
|
||||
done
|
||||
echo
|
||||
fi
|
||||
|
||||
exit $ret
|
||||
|
|
Loading…
Reference in New Issue