selftests: pmtu: use -oneline for ip route list cache
authorThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Thu, 28 Nov 2019 18:58:06 +0000 (15:58 -0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Nov 2019 20:29:55 +0000 (12:29 -0800)
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>
tools/testing/selftests/net/pmtu.sh

index ab367e7..d697815 100755 (executable)
@@ -1249,8 +1249,7 @@ test_list_flush_ipv4_exception() {
        done
        run_cmd ${ns_a} ping -q -M want -i 0.1 -c 2 -s 1800 "${dst2}"
 
-       # Each exception is printed as two lines
-       if [ "$(${ns_a} ip route list cache | wc -l)" -ne 202 ]; then
+       if [ "$(${ns_a} ip -oneline route list cache | wc -l)" -ne 101 ]; then
                err "  can't list cached exceptions"
                fail=1
        fi
@@ -1300,7 +1299,7 @@ test_list_flush_ipv6_exception() {
                run_cmd ${ns_a} ping -q -M want -i 0.1 -w 1 -s 1800 "${dst_prefix1}${i}"
        done
        run_cmd ${ns_a} ping -q -M want -i 0.1 -w 1 -s 1800 "${dst2}"
-       if [ "$(${ns_a} ip -6 route list cache | wc -l)" -ne 101 ]; then
+       if [ "$(${ns_a} ip -oneline -6 route list cache | wc -l)" -ne 101 ]; then
                err "  can't list cached exceptions"
                fail=1
        fi