[PATCH net-next v1 5/6] selftests: rds: Collect pcaps on timeout

Allison Henderson
2026-04-27T23:29:32Z

The timeout signal handler for the rds selftests currently just
exits when the time limit is exceeded, and forgets to collect the
network dumps. Which can be valueable for discerning why the test
timed out in the first place. Fix this by hoisting the network
dump collection into a helper function, and call it from the
signal handler before exiting

Signed-off-by: Allison Henderson <achender@kernel.org>
---
tools/testing/selftests/net/rds/test.py | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
index 90f9adad18b3..6685b960d013 100755
--- a/tools/testing/selftests/net/rds/test.py
+++ b/tools/testing/selftests/net/rds/test.py
@@ -66,11 +66,20 @@ def netns_socket(netns, *sock_args):
u1.close()
return socket.fromfd(fds[0], *sock_args)

+def collect_pcaps():
+ print("Stopping network packet captures")
+ for p, pcap_tmp, pcap, fd in tcpdump_procs:
+ p.terminate()
+ p.wait()
+ os.close(fd)
+ shutil.move(pcap_tmp, pcap)
+
def signal_handler(_sig, _frame):
"""
Test timed out signal handler
"""
print('Test timed out')
+ collect_pcaps()
sys.exit(1)

#Parse out command line arguments. We take an optional
@@ -246,13 +255,7 @@ for s in sockets:
pass

print(f"getsockopt(): {nr_success}/{nr_error}")
-
-print("Stopping network packet captures")
-for p, pcap_tmp, pcap, fd in tcpdump_procs:
- p.terminate()
- p.wait()
- os.close(fd)
- shutil.move(pcap_tmp, pcap)
+collect_pcaps()

# We're done sending and receiving stuff, now let's check if what
# we received is what we sent.
--
2.25.1