Extract the main part of check_expected() in userspace_pm.sh to a new
function mptcp_lib_check_expected() in mptcp_lib.sh. It will be used
in both mptcp_john.sh and userspace_pm.sh.
check_expected_one() is moved into mptcp_lib.sh too as a sub function
of mptcp_lib_check_expected().
Signed-off-by: Geliang Tang <geliang.tang@linux.dev>
---
.../testing/selftests/net/mptcp/mptcp_lib.sh | 43 +++++++++++++++++++
.../selftests/net/mptcp/userspace_pm.sh | 41 +++---------------
2 files changed, 48 insertions(+), 36 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
index 94eed09ceedd..6ba3747ce217 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh
@@ -381,3 +381,46 @@ mptcp_lib_evts_remove() {
rm -rf "${server_evts}" "${client_evts}"
}
+
+# $@: all var names to check
+mptcp_lib_check_expected() {
+ : "${ret:?}"
+
+ # $1: var name ; $2: prev ret
+ check_expected_one() {
+ local var="${1}"
+ local exp="e_${var}"
+ local prev_ret="${2}"
+
+ if [ "${!var}" = "${!exp}" ]
+ then
+ return 0
+ fi
+
+ if [ "${prev_ret}" = "0" ]
+ then
+ ret=${KSFT_FAIL}
+ fi
+
+ printf "\tExpected value for '%s': '%s', got '%s'.\n" \
+ "${var}" "${!exp}" "${!var}"
+ return 1
+ }
+
+ local rc=0
+ local var
+
+ for var in "${@}"
+ do
+ check_expected_one "${var}" "${rc}" || rc=1
+ done
+ unset -f check_expected_one
+
+ if [ ${rc} -eq 0 ]
+ then
+ mptcp_lib_print_ok "[ OK ]"
+ return 0
+ fi
+
+ return 1
+}
diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/testing/selftests/net/mptcp/userspace_pm.sh
index 845400741cf2..0b4484472313 100755
--- a/tools/testing/selftests/net/mptcp/userspace_pm.sh
+++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh
@@ -236,46 +236,15 @@ make_connection()
fi
}
-# $1: var name ; $2: prev ret
-check_expected_one()
-{
- local var="${1}"
- local exp="e_${var}"
- local prev_ret="${2}"
-
- if [ "${!var}" = "${!exp}" ]
- then
- return 0
- fi
-
- if [ "${prev_ret}" = "0" ]
- then
- test_fail
- fi
-
- _printf "\tExpected value for '%s': '%s', got '%s'.\n" \
- "${var}" "${!exp}" "${!var}"
- return 1
-}
-
# $@: all var names to check
check_expected()
{
- local rc=0
- local var
-
- for var in "${@}"
- do
- check_expected_one "${var}" "${rc}" || rc=1
- done
-
- if [ ${rc} -eq 0 ]
- then
- test_pass
- return 0
+ mptcp_lib_check_expected ${*}
+ if [ $? -eq 0 ]; then
+ mptcp_lib_result_pass "${TEST_NAME}"
+ else
+ test_fail
fi
-
- return 1
}
verify_announce_event()
--
2.35.3