This patch added the invert bytes check for the output data in
check_transfer().
Instead of the file mismatch error:
[ FAIL ] file received by server does not match (in, out):
-rw------- 1 root root
45643832 Jan 16 15:04 /tmp/tmp.9xpM6Paivv
Trailing bytes are:
MPTCP_TEST_FILE_END_MARKER
-rw------- 1 root root
45643832 Jan 16 15:04 /tmp/tmp.wnz1Yp4u7Z
Trailing bytes are:
MPTCP_TEST_FILE_END_MARKER
Print out the inverted bytes like this:
file received by server has inverted byte at
7454789
file received by server has inverted byte at
7454790
file received by server has inverted byte at
7454791
file received by server has inverted byte at
7454792
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
capture=0
checksum=0
ip_mptcp=0
+check_invert=0
do_all_tests=1
init=0
fi
done
+ check_invert=0
+
# ns1 ns2
# ns1eth1 ns2eth1
# ns1eth2 ns2eth2
out=$2
what=$3
- cmp "$in" "$out" > /dev/null 2>&1
- if [ $? -ne 0 ] ;then
- echo "[ FAIL ] $what does not match (in, out):"
- print_file_err "$in"
- print_file_err "$out"
- ret=1
+ cmp -l "$in" "$out" | while read line; do
+ local arr=($line)
- return 1
- fi
+ let sum=0${arr[1]}+0${arr[2]}
+ if [ $check_invert -eq 0 ] || [ $sum -ne $((0xff)) ]; then
+ echo "[ FAIL ] $what does not match (in, out):"
+ print_file_err "$in"
+ print_file_err "$out"
+ ret=1
+
+ return 1
+ else
+ echo "$what has inverted byte at ${arr[0]}"
+ fi
+ done
return 0
}