42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
RDS self-tests
|
|
==============
|
|
|
|
These scripts provide a coverage test for RDS-TCP by creating two
|
|
network namespaces and running rds packets between them. A loopback
|
|
network is provisioned with optional probability of packet loss or
|
|
corruption. A workload of 50000 hashes, each 64 characters in size,
|
|
are passed over an RDS socket on this test network. A passing test means
|
|
the RDS-TCP stack was able to recover properly. The provided config.sh
|
|
can be used to compile the kernel with the necessary gcov options. The
|
|
kernel may optionally be configured to omit the coverage report as well.
|
|
|
|
USAGE:
|
|
run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]
|
|
[-u packet_duplcate]
|
|
|
|
OPTIONS:
|
|
-d Log directory. Defaults to tools/testing/selftests/net/rds/rds_logs
|
|
|
|
-l Simulates a percentage of packet loss
|
|
|
|
-c Simulates a percentage of packet corruption
|
|
|
|
-u Simulates a percentage of packet duplication.
|
|
|
|
EXAMPLE:
|
|
|
|
# Create a suitable gcov enabled .config
|
|
tools/testing/selftests/net/rds/config.sh -g
|
|
|
|
# Alternatly create a gcov disabled .config
|
|
tools/testing/selftests/net/rds/config.sh
|
|
|
|
# build the kernel
|
|
vng --build --config tools/testing/selftests/net/config
|
|
|
|
# launch the tests in a VM
|
|
vng -v --rwdir ./ --run . --user root --cpus 4 -- \
|
|
"export PYTHONPATH=tools/testing/selftests/net/; tools/testing/selftests/net/rds/run.sh"
|
|
|
|
An HTML coverage report will be output in tools/testing/selftests/net/rds/rds_logs/coverage/.
|