selftests: rds: Add helper function verify_hashes() in test.py

Hoist the verify hashes logic in test.py into a helper function,
verify_hashes().  This is a preparatory refactoring for the rds over
ROCE series that helps modularize the send/recv logic. Breaking up the
logic now will help avoid large function pylint errors later.  No
functional changes are introduced in this patch.

Signed-off-by: Allison Henderson <achender@kernel.org>
Link: https://patch.msgid.link/20260518012443.2629206-7-achender@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Allison Henderson 2026-05-17 18:24:38 -07:00 committed by Jakub Kicinski
parent 1c8a70b1fb
commit f7baddf08b

View File

@ -152,6 +152,21 @@ def check_info(socks):
ksft_pr(f"getsockopt(): {nr_success}/{nr_error}")
def verify_hashes(snd_hashes, rcv_hashes):
"""Compare send/recv hashes per (sender, receiver) pair."""
for key, snd_hash in snd_hashes.items():
rcv_hash = rcv_hashes.get(key)
if rcv_hash is None:
ksft_pr("FAIL: No data received")
return 1
if snd_hash.hexdigest() != rcv_hash.hexdigest():
ksft_pr("FAIL: Send/recv mismatch")
ksft_pr("hash expected:", snd_hash.hexdigest())
ksft_pr("hash received:", rcv_hash.hexdigest())
return 1
ksft_pr(f"{key[0]}/{key[1]}: ok")
return 0
def stop_pcaps():
"""Stop tcpdump processes.
@ -310,23 +325,7 @@ stop_pcaps()
# We're done sending and receiving stuff, now let's check if what
# we received is what we sent.
ret = 0
for (sender, receiver), send_hash in send_hashes.items():
recv_hash = recv_hashes.get((sender, receiver))
if recv_hash is None:
ksft_pr("FAIL: No data received")
ret = 1
break
if send_hash.hexdigest() != recv_hash.hexdigest():
ksft_pr("FAIL: Send/recv mismatch")
ksft_pr("hash expected:", send_hash.hexdigest())
ksft_pr("hash received:", recv_hash.hexdigest())
ret = 1
break
ksft_pr(f"{sender}/{receiver}: ok")
ret = verify_hashes(send_hashes, recv_hashes)
if ret == 0:
ksft_pr("Success")