Commit bc3fff1c authored by Geliang Tang's avatar Geliang Tang
Browse files

selftests: mptcp: extract mptcp_lib_check_expected

mainline inclusion
from mainline-v6.9-rc1
commit 663260e146688e1c90ef39234a212ac0c32e448d
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9VYQ9
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=663260e146688e1c90ef39234a212ac0c32e448d



--------------------------------

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 mptcp_lib_check_expected_one().

Signed-off-by: default avatarGeliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240308-upstream-net-next-20240308-selftests-mptcp-unification-v1-11-4f42c347b653@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarGeliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: default avatarJackie Liu <liuyun01@kylinos.cn>
Signed-off-by: default avatarGeliang Tang <tanggeliang@kylinos.cn>
parent 422122c1
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -449,3 +449,33 @@ mptcp_lib_print_title() {
	# shellcheck disable=SC2059 # the format is in a variable
	printf "${MPTCP_LIB_TEST_FORMAT}" "$((++MPTCP_LIB_TEST_COUNTER))" "${*}"
}

# $1: var name ; $2: prev ret
mptcp_lib_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
		mptcp_lib_pr_fail
	fi

	mptcp_lib_print_err "Expected value for '${var}': '${!exp}', got '${!var}'."
	return 1
}

# $@: all var names to check
mptcp_lib_check_expected() {
	local rc=0
	local var

	for var in "${@}"; do
		mptcp_lib_check_expected_one "${var}" "${rc}" || rc=1
	done

	return "${rc}"
}
+2 −31
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
# code but we accept it.
#shellcheck disable=SC2086

# Some variables are used below but indirectly, see check_expected_one()
# Some variables are used below but indirectly, see verify_*_event()
#shellcheck disable=SC2034

. "$(dirname "${0}")/mptcp_lib.sh"
@@ -231,39 +231,10 @@ 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
		mptcp_lib_pr_fail
	fi

	mptcp_lib_print_err "\tExpected value for '${var}': '${!exp}', got '${!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 ]
	if mptcp_lib_check_expected "${@}"
	then
		test_pass
		return 0