test: hsr: Extract version agnostic information from ping command output
authorLukasz Majewski <lukma@denx.de>
Tue, 23 Apr 2024 12:49:07 +0000 (14:49 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Fri, 26 Apr 2024 10:04:43 +0000 (12:04 +0200)
Current code checks if ping command output match hardcoded pattern:
"10 packets transmitted, 10 received, 0% packet loss,".

Such approach will work only from one ping program version (for which
this test has been originally written).
This patch address problem when ping with different summary output
like "10 packets transmitted, 10 packets received, 0% packet" is
used to run this test - for example one from busybox (as the test
system runs in QEMU with rootfs created with buildroot).

The fix is to modify output of ping command to be agnostic to ping
version used on the platform.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/hsr/hsr_common.sh

index be4ad07ff355830c975a4091a88bb589d4d71aa4..8e97b1f2e7e5d9f6a1d43013ab411a0b9dd61d67 100644 (file)
@@ -51,7 +51,8 @@ do_ping_long()
        fi
 
        VAL="$(echo $OUT | cut -d' ' -f1-8)"
-       if [ "$VAL" != "10 packets transmitted, 10 received, 0% packet loss," ]
+       SED_VAL="$(echo ${VAL} | sed -r -e 's/([0-9]{2}).*([0-9]{2}).*[[:space:]]([0-9]+%).*/\1 transmitted \2 received \3 loss/')"
+       if [ "${SED_VAL}" != "10 transmitted 10 received 0% loss" ]
        then
                echo "$netns -> $connect_addr ping TEST [ FAIL ]"
                echo "Expect to send and receive 10 packets and no duplicates."