This series is a set of bug fixes and improvements for the rds
selftests.
Patch 1 bumps the kselftest timeout from 400s to 800s. The original
limit was developed against a lean config, but the kselftest harness
counts boot time and gcov log collection against the limit, so a
default config with gcov enabled needs more headroom.
Patch 2 corrects some typos in the run.sh USAGE string and removes an
unused "-g" flag.
Patch 3 silences a handful of pylint warnings in test.py: it adds a
module docstring, suppresses the warnings tied to the sys.path.append
import trick, marks the long lived tcpdump Popen with disable-next
consider-using-with, and drops unused exception variables from two
BlockingIOError except clauses.
Patch 4 adds a -t flag to run.sh so the timeout can be overridden
if needed.
Patch 5 adds a RDS_LOG_DIR environment variable that specifies where
logs should be stored, or skips log collection if left unset
Patch 6 adds a SUDO_USER environment variable that sets the user
for tcpdump --relinquish-privileges. This avoid the permissions
drop that would leave pcaps empty on 9pfs since 9p does not
support chown
Patch 7 removes the initial tmp tcpdumps and instead saves the pcaps
directly to the logdir if it is set.
Patch 8 hoists the tcpdump shutdown into a helper and calls it from the
timeout signal handler so that the processes are properly terminated
and dumps are flushed
Patch 9 fixes gcov collection by ensuring debugfs is mounted, and
specifying the --root folder so that gcov can still find the kernel
source when it is run from the ksft test directory.
Patch 10 makes the test output TAP compliant so the kselftest runner
parses results correctly.
Questions, comments and feedback appreciated!
Thanks everyone!
Allison
Change log:
v2:
[PATCH net-next v2 3/7] selftests: rds: Fix more pylint errors
NEW
[PATCH net-next v2 6/7] selftests: rds: Collect pcaps on timeout
Fixed pylint errors in collect_pcaps()
[PATCH net-next v2 7/7] selftests: rds: Make rds selftests TAP compliant
Fixed pylint errors from ksft import
v3:
[PATCH net-next v3 2/10] selftests: rds: Update USAGE string for run.sh
Same typo fixed in the README.txt file
[PATCH net-next v3 04/10] selftests: rds: Add timeout flag to run.sh
Update README.txt
[PATCH net-next v3 5/10] selftests: rds: Add RDS_LOG_DIR env variable
NEW
[PATCH net-next v3 6/10] selftests: rds: Add SUDO_USER env variable
NEW
[PATCH net-next v3 7/10] selftests: rds: Remove tmp pcaps
NEW
[PATCH net-next v3 8/10] selftests: rds: Stop tcpdump on timeout
Rebased from v2: selftests: rds: Collect pcaps on timeout
[PATCH net-next v3 09/10] selftests: rds: Fix gcov collection
Split from v2: selftests: rds: Fix gcov and pcap collection
Use mountpoint instead of test -d for check for debugfs mount
Allison Henderson (10):
selftests: rds: Increase selftest timeout
selftests: rds: Update USAGE string for run.sh
selftests: rds: Fix more pylint errors
selftests: rds: Add timeout flag to run.sh
selftests: rds: Add RDS_LOG_DIR env variable
selftests: rds: Add SUDO_USER env variable
selftests: rds: Remove tmp pcaps
selftests: rds: Stop tcpdump on timeout
selftests: rds: Fix gcov collection
selftests: rds: Make rds selftests TAP compliant
tools/testing/selftests/net/rds/README.txt | 30 +++++-
tools/testing/selftests/net/rds/run.sh | 74 ++++++++-----
tools/testing/selftests/net/rds/settings | 2 +-
tools/testing/selftests/net/rds/test.py | 114 ++++++++++++++-------
4 files changed, 148 insertions(+), 72 deletions(-)
--
2.25.1