selftests: mptcp: join: avoid using 'cmp --bytes'
commit d328fe87067480cf2bd0b58dab428a98d31dbb7e upstream.
BusyBox's 'cmp' command doesn't support the '--bytes' parameter.
Some CIs -- i.e. LKFT -- use BusyBox and have the mptcp_join.sh test
failing [1] because their 'cmp' command doesn't support this '--bytes'
option:
cmp: unrecognized option '--bytes=1024'
BusyBox v1.35.0 () multi-call binary.
Usage: cmp [-ls] [-n NUM] FILE1 [FILE2]
Instead, 'head --bytes' can be used as this option is supported by
BusyBox. A temporary file is needed for this operation.
Because it is apparently quite common to use BusyBox, it is certainly
better to backport this fix to impacted kernels.
Fixes: 6bf41020b7
("selftests: mptcp: update and extend fastclose test-cases")
Cc: stable@vger.kernel.org
Link: https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.3-rc5-5-g148341f0a2f5/testrun/16088933/suite/kselftest-net-mptcp/test/net_mptcp_userspace_pm_sh/log [1]
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
fbb6db561d
commit
84683a2cf5
@ -15,6 +15,7 @@ sout=""
|
||||
cin=""
|
||||
cinfail=""
|
||||
cinsent=""
|
||||
tmpfile=""
|
||||
cout=""
|
||||
capout=""
|
||||
ns1=""
|
||||
@ -168,6 +169,7 @@ cleanup()
|
||||
{
|
||||
rm -f "$cin" "$cout" "$sinfail"
|
||||
rm -f "$sin" "$sout" "$cinsent" "$cinfail"
|
||||
rm -f "$tmpfile"
|
||||
cleanup_partial
|
||||
}
|
||||
|
||||
@ -362,9 +364,16 @@ check_transfer()
|
||||
fail_test
|
||||
return 1
|
||||
fi
|
||||
bytes="--bytes=${bytes}"
|
||||
|
||||
# note: BusyBox's "cmp" command doesn't support --bytes
|
||||
tmpfile=$(mktemp)
|
||||
head --bytes="$bytes" "$in" > "$tmpfile"
|
||||
mv "$tmpfile" "$in"
|
||||
head --bytes="$bytes" "$out" > "$tmpfile"
|
||||
mv "$tmpfile" "$out"
|
||||
tmpfile=""
|
||||
fi
|
||||
cmp -l "$in" "$out" ${bytes} | while read -r i a b; do
|
||||
cmp -l "$in" "$out" | while read -r i a b; do
|
||||
local sum=$((0${a} + 0${b}))
|
||||
if [ $check_invert -eq 0 ] || [ $sum -ne $((0xff)) ]; then
|
||||
echo "[ FAIL ] $what does not match (in, out):"
|
||||
|
Loading…
Reference in New Issue
Block a user