From: Geliang Tang <geliang@kernel.org>
To: Matthieu Baerts <matttbe@kernel.org>, mptcp@lists.linux.dev
Cc: Geliang Tang <tanggeliang@kylinos.cn>
Subject: Re: [PATCH mptcp-next v5 02/12] selftests: mptcp: sockopt: print every test result
Date: Wed, 28 Feb 2024 15:57:09 +0800 [thread overview]
Message-ID: <0118dbd0fbf33d5a1f4ea98dc606b3be91af49db.camel@kernel.org> (raw)
In-Reply-To: <405e2ab8-7483-4bf7-a9a5-a94c631af404@kernel.org>
On Mon, 2024-02-26 at 13:40 +0100, Matthieu Baerts wrote:
> Hi Geliang,
>
> On 26/02/2024 10:43, Geliang Tang wrote:
> > From: Geliang Tang <tanggeliang@kylinos.cn>
> >
> > Only total test results are printed out in mptcp_sockopt.sh:
> >
> > PASS: all packets had packet mark set
> > PASS: SOL_MPTCP getsockopt has expected information
> > PASS: TCP_INQ cmsg/ioctl -t tcp
> > PASS: TCP_INQ cmsg/ioctl -6 -t tcp
> > PASS: TCP_INQ cmsg/ioctl -r tcp
> > PASS: TCP_INQ cmsg/ioctl -6 -r tcp
> >
> > This patch prints more info for every test result in each test
> > group:
> >
> > transfer ipv4 [ OK ]
> > mark ipv4 [ OK ]
> > transfer ipv6 [ OK ]
> > mark ipv6 [ OK ]
> > PASS: all packets had packet mark set
> > sockopt v4 [ OK ]
> > sockopt v6 [ OK ]
> > PASS: SOL_MPTCP getsockopt has expected information
> > TCP_INQ: -t tcp [ OK ]
> > PASS: TCP_INQ cmsg/ioctl -t tcp
> > TCP_INQ: -6 -t tcp [ OK ]
> > PASS: TCP_INQ cmsg/ioctl -6 -t tcp
> > TCP_INQ: -r tcp [ OK ]
> > PASS: TCP_INQ cmsg/ioctl -r tcp
> > TCP_INQ: -6 -r tcp [ OK ]
> > PASS: TCP_INQ cmsg/ioctl -6 -r tcp
> > TCP_INQ: -r tcp -t tcp [ OK ]
>
> Please clearly explain why this is interesting, even if it looks
> obvious.
>
> Here, I don't know if this patch makes sense or not: to me, the
> output
> is now confusing because there is a mix of '[ OK ]' and 'PASS'.
> Maybe:
>
> - remove all the "PASS: xxx"? → I don't see what it brings more
> - (or convert existing "PASS: xxx" and "FAIL: xxx" to use "[ OK ]"?
> But
> there are fewer details)
This patch uses to match the output of this script:
INFO: PASS: all packets had packet mark set
INFO: PASS: SOL_MPTCP getsockopt has expected information
INFO: PASS: TCP_INQ cmsg/ioctl -t tcp
INFO: PASS: TCP_INQ cmsg/ioctl -6 -t tcp
INFO: PASS: TCP_INQ cmsg/ioctl -r tcp
INFO: PASS: TCP_INQ cmsg/ioctl -6 -r tcp
INFO: PASS: TCP_INQ cmsg/ioctl -r tcp -t tcp
with the test results of it:
ok 1 - mptcp_sockopt: mark ipv4
ok 2 - mptcp_sockopt: transfer ipv4
ok 3 - mptcp_sockopt: mark ipv6
ok 4 - mptcp_sockopt: transfer ipv6
ok 5 - mptcp_sockopt: sockopt v4
ok 6 - mptcp_sockopt: sockopt v6
ok 7 - mptcp_sockopt: TCP_INQ: -t tcp
ok 8 - mptcp_sockopt: TCP_INQ: -6 -t tcp
ok 9 - mptcp_sockopt: TCP_INQ: -r tcp
ok 10 - mptcp_sockopt: TCP_INQ: -6 -r tcp
ok 11 - mptcp_sockopt: TCP_INQ: -r tcp -t tcp
This patch is prepared for the coming printing counter patch, otherwise
the two output results may have different serial numbers, which can be
confusing.
>
> > Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
> > ---
> > tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 12
> > ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> > b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> > index 6ed4aa32222f..f84185b5dc9f 100755
> > --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> > +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh
> > @@ -161,6 +161,7 @@ do_transfer()
> > wait $spid
> > local rets=$?
> >
> > + printf "%-50s" "transfer ${ip}"
>
> Best to use a helper to avoid repeating '"%-50s"', and to be able to
> change how the titles are displayed from a single place. (same below
> of
> course)
Add a new helper print_title() to do this.
>
> Also, probably looking better if you use 'Transfer' instead of
> 'transfer'.
Updated in v6.
>
> > if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then
> > echo " client exit code $retc, server $rets" 1>&2
> > echo -e "\nnetns ${listener_ns} socket stat for
> > ${port}:" 1>&2
> > @@ -169,12 +170,15 @@ do_transfer()
> > echo -e "\nnetns ${connector_ns} socket stat for
> > ${port}:" 1>&2
> > ip netns exec ${connector_ns} ss -Menita 1>&2 -o
> > "dport = :$port"
> >
> > + mptcp_lib_print_err "[FAIL]"
> > mptcp_lib_result_fail "transfer ${ip}"
> >
> > ret=1
> > return 1
> > fi
> > + mptcp_lib_print_ok "[ OK ]"
>
> (here as well, we could use 'mptcp_lib_print_success/fail/skip'
> suggested in patch 1/12)
Replaced by mptcp_lib_pr_ok.
>
> >
> > + printf "%-50s" "mark ${ip}"
>
> Same here: 'Mark' vs 'mark'.
Yes, updated.
>
> > if [ $local_addr = "::" ];then
> > check_mark $listener_ns 6 || retc=1
> > check_mark $connector_ns 6 || retc=1
> > @@ -190,8 +194,10 @@ do_transfer()
> > mptcp_lib_result_code "${rets}" "transfer ${ip}"
> >
> > if [ $retc -eq 0 ] && [ $rets -eq 0 ];then
> > + mptcp_lib_print_ok "[ OK ]"
> > return 0
> > fi
> > + mptcp_lib_print_err "[FAIL]"
> >
> > return 1
> > }
> > @@ -220,23 +226,27 @@ do_mptcp_sockopt_tests()
> > ip netns exec "$ns_sbox" ./mptcp_sockopt
> > lret=$?
> >
> > + printf "%-50s" "sockopt v4"
>
> Maybe 'SOL_MPTCP getsockopt v4'?
Updated.
>
> > if [ $lret -ne 0 ]; then
> > echo "FAIL: SOL_MPTCP getsockopt" 1>&2
> > mptcp_lib_result_fail "sockopt v4"
> > ret=$lret
> > return
> > fi
> > + mptcp_lib_print_ok "[ OK ]"
> > mptcp_lib_result_pass "sockopt v4"
> >
> > ip netns exec "$ns_sbox" ./mptcp_sockopt -6
> > lret=$?
> >
> > + printf "%-50s" "sockopt v6"
> > if [ $lret -ne 0 ]; then
> > echo "FAIL: SOL_MPTCP getsockopt (ipv6)" 1>&2
> > mptcp_lib_result_fail "sockopt v6"
> > ret=$lret
> > return
> > fi
> > + mptcp_lib_print_ok "[ OK ]"
> > mptcp_lib_result_pass "sockopt v6"
> > }
> >
> > @@ -259,6 +269,7 @@ run_tests()
> >
> > do_tcpinq_test()
> > {
> > + printf "%-50s" "TCP_INQ: $*"
> > ip netns exec "$ns_sbox" ./mptcp_inq "$@"
> > local lret=$?
> > if [ $lret -ne 0 ];then
> > @@ -267,6 +278,7 @@ do_tcpinq_test()
> > mptcp_lib_result_fail "TCP_INQ: $*"
> > return $lret
> > fi
> > + mptcp_lib_print_ok "[ OK ]"
> >
> > echo "PASS: TCP_INQ cmsg/ioctl $*"
> > mptcp_lib_result_pass "TCP_INQ: $*"
>
> Cheers,
> Matt
next prev parent reply other threads:[~2024-02-28 7:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-26 9:43 [PATCH mptcp-next v5 00/12] add helpers and vars in mptcp_lib.sh, part 3 Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 01/12] selftests: mptcp: capitalize ok/fail/skip Geliang Tang
2024-02-26 12:40 ` Matthieu Baerts
2024-02-28 7:47 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 02/12] selftests: mptcp: sockopt: print every test result Geliang Tang
2024-02-26 12:40 ` Matthieu Baerts
2024-02-28 7:57 ` Geliang Tang [this message]
2024-02-28 9:13 ` Matthieu Baerts
2024-02-28 9:51 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 03/12] selftests: mptcp: connect: fix misaligned OK/FAIL Geliang Tang
2024-02-26 12:40 ` Matthieu Baerts
2024-02-28 7:58 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 04/12] selftests: mptcp: print test results with colors Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-28 8:06 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 05/12] selftests: mptcp: connect: add dedicated port counter Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-28 8:09 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 06/12] selftests: mptcp: connect: print out ping tests info Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-28 8:31 ` Geliang Tang
2024-02-26 9:43 ` [PATCH mptcp-next v5 07/12] selftests: mptcp: print test results with counters Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-28 8:23 ` Geliang Tang
2024-02-28 10:20 ` Matthieu Baerts
2024-02-26 9:43 ` [PATCH mptcp-next v5 08/12] selftests: mptcp: move test_fail out of check_expected_one Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-26 9:43 ` [PATCH mptcp-next v5 09/12] selftests: mptcp: extract mptcp_lib_check_expected Geliang Tang
2024-02-26 12:41 ` Matthieu Baerts
2024-02-26 9:43 ` [PATCH mptcp-next v5 10/12] selftests: mptcp: export event macros in mptcp_lib Geliang Tang
2024-02-26 12:42 ` Matthieu Baerts
2024-02-26 9:43 ` [PATCH mptcp-next v5 11/12] selftests: mptcp: add mptcp_lib_verify_listener_events Geliang Tang
2024-02-26 12:42 ` Matthieu Baerts
2024-02-26 9:43 ` [PATCH mptcp-next v5 12/12] selftests: mptcp: use KSFT_SKIP/KSFT_PASS/KSFT_FAIL Geliang Tang
2024-02-26 10:33 ` selftests: mptcp: use KSFT_SKIP/KSFT_PASS/KSFT_FAIL: Tests Results MPTCP CI
2024-02-26 12:40 ` [PATCH mptcp-next v5 00/12] add helpers and vars in mptcp_lib.sh, part 3 Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0118dbd0fbf33d5a1f4ea98dc606b3be91af49db.camel@kernel.org \
--to=geliang@kernel.org \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=tanggeliang@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox