public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Allison Henderson <achender@kernel.org>
To: netdev@vger.kernel.org, pabeni@redhat.com, edumazet@google.com,
	kuba@kernel.org, horms@kernel.org, linux-rdma@vger.kernel.org,
	achender@kernel.org, linux-kselftest@vger.kernel.org,
	shuah@kernel.org
Subject: [PATCH net-next v2 6/7] selftests: rds: Collect pcaps on timeout
Date: Tue, 28 Apr 2026 15:27:15 -0700	[thread overview]
Message-ID: <20260428222716.2960871-7-achender@kernel.org> (raw)
In-Reply-To: <20260428222716.2960871-1-achender@kernel.org>

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 | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/tools/testing/selftests/net/rds/test.py b/tools/testing/selftests/net/rds/test.py
index d48533505f0f..1c7aebddeb61 100755
--- a/tools/testing/selftests/net/rds/test.py
+++ b/tools/testing/selftests/net/rds/test.py
@@ -70,11 +70,21 @@ def netns_socket(netns, *sock_args):
     u1.close()
     return socket.fromfd(fds[0], *sock_args)
 
+def collect_pcaps():
+    """Stop tcpdump processes and move their pcaps into the log dir."""
+    print("Stopping network packet captures")
+    for proc, tmp_path, dest_path, fno in tcpdump_procs:
+        proc.terminate()
+        proc.wait()
+        os.close(fno)
+        shutil.move(tmp_path, dest_path)
+
 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
@@ -251,13 +261,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


  parent reply	other threads:[~2026-04-28 22:27 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-28 22:27 [PATCH net-next v2 0/7] selftests: rds: Log collection, TAP compliance and cleanups Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 1/7] selftests: rds: Increase selftest timeout Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 2/7] selftests: rds: Update USAGE string for run.sh Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 3/7] selftests: rds: Fix more pylint errors Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 4/7] selftests: rds: Add timeout flag to run.sh Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 5/7] selftests: rds: Fix gcov and pcap collection Allison Henderson
2026-04-30  2:42   ` Jakub Kicinski
2026-04-30  2:48     ` Jakub Kicinski
2026-05-02  5:43       ` Allison Henderson
2026-05-02 16:38         ` Jakub Kicinski
2026-05-03 20:49           ` Allison Henderson
2026-04-28 22:27 ` Allison Henderson [this message]
2026-04-30  2:42   ` [PATCH net-next v2 6/7] selftests: rds: Collect pcaps on timeout Jakub Kicinski
2026-05-02  5:41     ` Allison Henderson
2026-04-28 22:27 ` [PATCH net-next v2 7/7] selftests: rds: Make rds selftests TAP compliant Allison Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260428222716.2960871-7-achender@kernel.org \
    --to=achender@kernel.org \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=shuah@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox