mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
selftests: net: cope with slow env in so_txtime.sh test
The mentioned test is failing in slow environments:
# SO_TXTIME ipv4 clock monotonic
# ./so_txtime: recv: timeout: Resource temporarily unavailable
not ok 1 selftests: net: so_txtime.sh # exit=1
Tuning the tolerance in the test binary is error-prone and doomed
to failures is slow-enough environment.
Just resort to suppress any error in such cases. Note to suppress
them we need first to refactor a bit the code moving it to explicit
error handling.
Fixes: af5136f950
("selftests/net: SO_TXTIME with ETF and FQ")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Link: https://lore.kernel.org/r/2142d9ed4b5c5aa07dd1b455779625d91b175373.1707730902.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
e58779f47e
commit
a7ee79b9c4
@ -5,6 +5,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
readonly ksft_skip=4
|
||||
readonly DEV="veth0"
|
||||
readonly BIN="./so_txtime"
|
||||
|
||||
@ -46,7 +47,7 @@ ip -netns "${NS2}" addr add 192.168.1.2/24 dev "${DEV}"
|
||||
ip -netns "${NS1}" addr add fd::1/64 dev "${DEV}" nodad
|
||||
ip -netns "${NS2}" addr add fd::2/64 dev "${DEV}" nodad
|
||||
|
||||
do_test() {
|
||||
run_test() {
|
||||
local readonly IP="$1"
|
||||
local readonly CLOCK="$2"
|
||||
local readonly TXARGS="$3"
|
||||
@ -64,12 +65,25 @@ do_test() {
|
||||
fi
|
||||
|
||||
local readonly START="$(date +%s%N --date="+ 0.1 seconds")"
|
||||
|
||||
ip netns exec "${NS2}" "${BIN}" -"${IP}" -c "${CLOCK}" -t "${START}" -S "${SADDR}" -D "${DADDR}" "${RXARGS}" -r &
|
||||
ip netns exec "${NS1}" "${BIN}" -"${IP}" -c "${CLOCK}" -t "${START}" -S "${SADDR}" -D "${DADDR}" "${TXARGS}"
|
||||
wait "$!"
|
||||
}
|
||||
|
||||
do_test() {
|
||||
run_test $@
|
||||
[ $? -ne 0 ] && ret=1
|
||||
}
|
||||
|
||||
do_fail_test() {
|
||||
run_test $@
|
||||
[ $? -eq 0 ] && ret=1
|
||||
}
|
||||
|
||||
ip netns exec "${NS1}" tc qdisc add dev "${DEV}" root fq
|
||||
set +e
|
||||
ret=0
|
||||
do_test 4 mono a,-1 a,-1
|
||||
do_test 6 mono a,0 a,0
|
||||
do_test 6 mono a,10 a,10
|
||||
@ -77,13 +91,20 @@ do_test 4 mono a,10,b,20 a,10,b,20
|
||||
do_test 6 mono a,20,b,10 b,20,a,20
|
||||
|
||||
if ip netns exec "${NS1}" tc qdisc replace dev "${DEV}" root etf clockid CLOCK_TAI delta 400000; then
|
||||
! do_test 4 tai a,-1 a,-1
|
||||
! do_test 6 tai a,0 a,0
|
||||
do_fail_test 4 tai a,-1 a,-1
|
||||
do_fail_test 6 tai a,0 a,0
|
||||
do_test 6 tai a,10 a,10
|
||||
do_test 4 tai a,10,b,20 a,10,b,20
|
||||
do_test 6 tai a,20,b,10 b,10,a,20
|
||||
else
|
||||
echo "tc ($(tc -V)) does not support qdisc etf. skipping"
|
||||
[ $ret -eq 0 ] && ret=$ksft_skip
|
||||
fi
|
||||
|
||||
echo OK. All tests passed
|
||||
if [ $ret -eq 0 ]; then
|
||||
echo OK. All tests passed
|
||||
elif [[ $ret -ne $ksft_skip && -n "$KSFT_MACHINE_SLOW" ]]; then
|
||||
echo "Ignoring errors due to slow environment" 1>&2
|
||||
ret=0
|
||||
fi
|
||||
exit $ret
|
||||
|
Loading…
Reference in New Issue
Block a user