Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: pmtu: use -oneline for ip route list cache

Some versions of iproute2 will output more than one line per entry, which
will cause the test to fail, like:

TEST: ipv6: list and flush cached exceptions [FAIL]
can't list cached exceptions

That happens, for example, with iproute2 4.15.0. When using the -oneline
option, this will work just fine:

TEST: ipv6: list and flush cached exceptions [ OK ]

This also works just fine with a more recent version of iproute2, like
5.4.0.

For some reason, two lines are printed for the IPv4 test no matter what
version of iproute2 is used. Use the same -oneline parameter there instead
of counting the lines twice.

Fixes: b964641e9925 ("selftests: pmtu: Make list_flush_ipv6_exception test more demanding")
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Acked-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Thadeu Lima de Souza Cascardo and committed by
David S. Miller
2745aea6 aaa34256

+2 -3
+2 -3
tools/testing/selftests/net/pmtu.sh
··· 1249 1249 done 1250 1250 run_cmd ${ns_a} ping -q -M want -i 0.1 -c 2 -s 1800 "${dst2}" 1251 1251 1252 - # Each exception is printed as two lines 1253 - if [ "$(${ns_a} ip route list cache | wc -l)" -ne 202 ]; then 1252 + if [ "$(${ns_a} ip -oneline route list cache | wc -l)" -ne 101 ]; then 1254 1253 err " can't list cached exceptions" 1255 1254 fail=1 1256 1255 fi ··· 1299 1300 run_cmd ${ns_a} ping -q -M want -i 0.1 -w 1 -s 1800 "${dst_prefix1}${i}" 1300 1301 done 1301 1302 run_cmd ${ns_a} ping -q -M want -i 0.1 -w 1 -s 1800 "${dst2}" 1302 - if [ "$(${ns_a} ip -6 route list cache | wc -l)" -ne 101 ]; then 1303 + if [ "$(${ns_a} ip -oneline -6 route list cache | wc -l)" -ne 101 ]; then 1303 1304 err " can't list cached exceptions" 1304 1305 fail=1 1305 1306 fi