4 These scripts provide a coverage test for RDS-TCP by creating two
5 network namespaces and running rds packets between them. A loopback
6 network is provisioned with optional probability of packet loss or
7 corruption. A workload of 50000 hashes, each 64 characters in size,
8 are passed over an RDS socket on this test network. A passing test means
9 the RDS-TCP stack was able to recover properly. The provided config.sh
10 can be used to compile the kernel with the necessary gcov options. The
11 kernel may optionally be configured to omit the coverage report as well.
14 run.sh [-d logdir] [-l packet_loss] [-c packet_corruption]
18 -d Log directory. Defaults to tools/testing/selftests/net/rds/rds_logs
20 -l Simulates a percentage of packet loss
22 -c Simulates a percentage of packet corruption
24 -u Simulates a percentage of packet duplication.
28 # Create a suitable gcov enabled .config
29 tools/testing/selftests/net/rds/config.sh -g
31 # Alternatly create a gcov disabled .config
32 tools/testing/selftests/net/rds/config.sh
35 vng --build --config tools/testing/selftests/net/config
37 # launch the tests in a VM
38 vng -v --rwdir ./ --run . --user root --cpus 4 -- \
39 "export PYTHONPATH=tools/testing/selftests/net/; tools/testing/selftests/net/rds/run.sh"
41 An HTML coverage report will be output in tools/testing/selftests/net/rds/rds_logs/coverage/.