Commit 8c6bb011 authored by Matthieu Baerts (NGI0)'s avatar Matthieu Baerts (NGI0) Committed by Jakub Kicinski
Browse files

selftests: mptcp: move stats info in case of errors to lib.sh



A few MPTCP selftests are using the same code to print stats in case of
error. This code can then be moved to mptcp_lib.sh.

No behaviour changes intended, except to print the error in red and to
stderr, like most error messages.

Reviewed-by: default avatarGeliang Tang <geliang@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250114-net-next-mptcp-st-more-debug-err-v1-3-2ffb16a6cf35@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 3257d4cb
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -445,12 +445,8 @@ do_transfer()
	printf "(duration %05sms) " "${duration}"
	if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
		mptcp_lib_pr_fail "client exit code $retc, server $rets"
		echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
		cat /tmp/${listener_ns}.out
		echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
		[ ${listener_ns} != ${connector_ns} ] && cat /tmp/${connector_ns}.out
		mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
			"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"

		echo
		cat "$capout"
+2 −7
Original line number Diff line number Diff line
@@ -1039,13 +1039,8 @@ do_transfer()

	if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
		fail_test "client exit code $retc, server $rets"
		echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
		cat /tmp/${listener_ns}.out
		echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
		cat /tmp/${connector_ns}.out

		mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
			"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"
		return 1
	fi

+21 −0
Original line number Diff line number Diff line
@@ -107,6 +107,27 @@ mptcp_lib_pr_info() {
	mptcp_lib_print_info "INFO: ${*}"
}

# $1-2: listener/connector ns ; $3 port ; $4-5 listener/connector stat file
mptcp_lib_pr_err_stats() {
	local lns="${1}"
	local cns="${2}"
	local port="${3}"
	local lstat="${4}"
	local cstat="${5}"

	echo -en "${MPTCP_LIB_COLOR_RED}"
	{
		printf "\nnetns %s (listener) socket stat for %d:\n" "${lns}" "${port}"
		ip netns exec "${lns}" ss -Menita -o "sport = :${port}"
		cat "${lstat}"

		printf "\nnetns %s (connector) socket stat for %d:\n" "${cns}" "${port}"
		ip netns exec "${cns}" ss -Menita -o "dport = :${port}"
		[ "${lstat}" != "${cstat}" ] && cat "${cstat}"
	} 1>&2
	echo -en "${MPTCP_LIB_COLOR_RESET}"
}

# SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var can be set when validating all
# features using the last version of the kernel and the selftests to make sure
# a test is not being skipped by mistake.
+2 −6
Original line number Diff line number Diff line
@@ -202,12 +202,8 @@ do_transfer()
	print_title "Transfer ${ip:2}"
	if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
		mptcp_lib_pr_fail "client exit code $retc, server $rets"
		echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${listener_ns} ss -Menita 1>&2 -o "sport = :$port"
		cat /tmp/${listener_ns}.out
		echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2
		ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport = :$port"
		cat /tmp/${connector_ns}.out
		mptcp_lib_pr_err_stats "${listener_ns}" "${connector_ns}" "${port}" \
			"/tmp/${listener_ns}.out" "/tmp/${connector_ns}.out"

		mptcp_lib_result_fail "transfer ${ip}"

+2 −6
Original line number Diff line number Diff line
@@ -204,12 +204,8 @@ do_transfer()
	fi

	mptcp_lib_pr_fail "client exit code $retc, server $rets"
	echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2
	ip netns exec ${ns3} ss -Menita 1>&2 -o "sport = :$port"
	cat /tmp/${ns3}.out
	echo -e "\nnetns ${ns1} socket stat for $port:" 1>&2
	ip netns exec ${ns1} ss -Menita 1>&2 -o "dport = :$port"
	cat /tmp/${ns1}.out
	mptcp_lib_pr_err_stats "${ns3}" "${ns1}" "${port}" \
		"/tmp/${ns3}.out" "/tmp/${ns1}.out"
	ls -l $sin $cout
	ls -l $cin $sout