mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
selftests: net: avoid just another constant wait
[ Upstream commit691bb4e49c
] Using hard-coded constant timeout to wait for some expected event is deemed to fail sooner or later, especially in slow env. Our CI has spotted another of such race: # TEST: ipv6: cleanup of cached exceptions - nexthop objects [FAIL] # can't delete veth device in a timely manner, PMTU dst likely leaked Replace the crude sleep with a loop looking for the expected condition at low interval for a much longer range. Fixes:b3cc4f8a8a
("selftests: pmtu: add explicit tests for PMTU exceptions cleanup") Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: David Ahern <dsahern@kernel.org> Link: https://lore.kernel.org/r/fd5c745e9bb665b724473af6a9373a8c2a62b247.1706812005.git.pabeni@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
7f484179c5
commit
90fe47743a
@ -1928,6 +1928,13 @@ check_command() {
|
||||
return 0
|
||||
}
|
||||
|
||||
check_running() {
|
||||
pid=${1}
|
||||
cmd=${2}
|
||||
|
||||
[ "$(cat /proc/${pid}/cmdline 2>/dev/null | tr -d '\0')" = "{cmd}" ]
|
||||
}
|
||||
|
||||
test_cleanup_vxlanX_exception() {
|
||||
outer="${1}"
|
||||
encap="vxlan"
|
||||
@ -1958,11 +1965,12 @@ test_cleanup_vxlanX_exception() {
|
||||
|
||||
${ns_a} ip link del dev veth_A-R1 &
|
||||
iplink_pid=$!
|
||||
sleep 1
|
||||
if [ "$(cat /proc/${iplink_pid}/cmdline 2>/dev/null | tr -d '\0')" = "iplinkdeldevveth_A-R1" ]; then
|
||||
err " can't delete veth device in a timely manner, PMTU dst likely leaked"
|
||||
return 1
|
||||
fi
|
||||
for i in $(seq 1 20); do
|
||||
check_running ${iplink_pid} "iplinkdeldevveth_A-R1" || return 0
|
||||
sleep 0.1
|
||||
done
|
||||
err " can't delete veth device in a timely manner, PMTU dst likely leaked"
|
||||
return 1
|
||||
}
|
||||
|
||||
test_cleanup_ipv6_exception() {
|
||||
|
Loading…
Reference in New Issue
Block a user