mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 11:21:26 -04:00
selftests: ovpn: fail notification check on mismatch
compare_ntfs doesn't fail when expected and received notification
streams diverge.
Fix this bug by tracking the diff exit status explicitly and return it
to the caller so notification mismatches propagate as test failures.
Fixes: 77de28cd7c ("selftests: ovpn: add notification parsing and matching")
Signed-off-by: Ralf Lici <ralf@mandelbit.com>
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
This commit is contained in:
committed by
Antonio Quartulli
parent
e5fd34ab8d
commit
c409da0fe1
@@ -140,23 +140,35 @@ add_peer() {
|
||||
}
|
||||
|
||||
compare_ntfs() {
|
||||
local diff_rc=0
|
||||
local diff_file
|
||||
|
||||
if [ ${#tmp_jsons[@]} -gt 0 ]; then
|
||||
suffix=""
|
||||
[ "${SYMMETRIC_ID}" -eq 1 ] && suffix="${suffix}-symm"
|
||||
[ "$FLOAT" == 1 ] && suffix="${suffix}-float"
|
||||
expected="json/peer${1}${suffix}.json"
|
||||
received="${tmp_jsons[$1]}"
|
||||
diff_file=$(mktemp)
|
||||
|
||||
kill -TERM ${listener_pids[$1]} || true
|
||||
wait ${listener_pids[$1]} || true
|
||||
printf "Checking notifications for peer ${1}... "
|
||||
if diff <(jq -s "${JQ_FILTER}" ${expected}) \
|
||||
<(jq -s "${JQ_FILTER}" ${received}); then
|
||||
<(jq -s "${JQ_FILTER}" ${received}) \
|
||||
>"${diff_file}" 2>&1; then
|
||||
echo "OK"
|
||||
else
|
||||
diff_rc=$?
|
||||
echo "failed"
|
||||
cat "${diff_file}"
|
||||
fi
|
||||
|
||||
rm -f "${diff_file}" || true
|
||||
rm -f ${received} || true
|
||||
fi
|
||||
|
||||
return "${diff_rc}"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
|
||||
Reference in New Issue
Block a user