selftests: mptcp: connect: don't stop if error
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Mon, 17 Jul 2023 13:21:21 +0000 (15:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Jul 2023 10:10:52 +0000 (11:10 +0100)
No more tests were executed after a failure but it is still interesting
to get results for all the tests to better understand what's still OK
and what's not after a modification.

Now we only exit earlier if the basic tests are failing: no ping going
through namespaces or unable to transfer data on the loopback interface.

Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/net/mptcp/mptcp_connect.sh

index bbae40882bfaf4afb8269cf9b4193c93ddf3ebb7..0f060af01a847a3060d5e9f343a2d1cda5b71b47 100755 (executable)
@@ -7,6 +7,7 @@ time_start=$(date +%s)
 
 optstring="S:R:d:e:l:r:h4cm:f:tC"
 ret=0
+final_ret=0
 sin=""
 sout=""
 cin_disconnect=""
@@ -837,14 +838,25 @@ display_time()
        echo "Time: ${time_run} seconds"
 }
 
-stop_if_error()
+log_if_error()
 {
        local msg="$1"
 
        if [ ${ret} -ne 0 ]; then
                echo "FAIL: ${msg}" 1>&2
+
+               final_ret=${ret}
+               ret=0
+
+               return ${final_ret}
+       fi
+}
+
+stop_if_error()
+{
+       if ! log_if_error "${@}"; then
                display_time
-               exit ${ret}
+               exit ${final_ret}
        fi
 }
 
@@ -934,23 +946,24 @@ for sender in $ns1 $ns2 $ns3 $ns4;do
        run_tests "$ns4" $sender 10.0.3.1
        run_tests "$ns4" $sender dead:beef:3::1
 
-       stop_if_error "Tests with $sender as a sender have failed"
+       log_if_error "Tests with $sender as a sender have failed"
 done
 
 run_tests_peekmode "saveWithPeek"
 run_tests_peekmode "saveAfterPeek"
-stop_if_error "Tests with peek mode have failed"
+log_if_error "Tests with peek mode have failed"
 
 # MPTFO (MultiPath TCP Fatopen tests)
 run_tests_mptfo
-stop_if_error "Tests with MPTFO have failed"
+log_if_error "Tests with MPTFO have failed"
 
 # connect to ns4 ip address, ns2 should intercept/proxy
 run_test_transparent 10.0.3.1 "tproxy ipv4"
 run_test_transparent dead:beef:3::1 "tproxy ipv6"
-stop_if_error "Tests with tproxy have failed"
+log_if_error "Tests with tproxy have failed"
 
 run_tests_disconnect
+log_if_error "Tests of the full disconnection have failed"
 
 display_time
-exit $ret
+exit ${final_ret}