mbox series

[bpf-next,v3,0/4] selftests/bpf: xsk improvements and new stats tests

Message ID 20210223162304.7450-1-ciara.loftus@intel.com
Headers show
Series selftests/bpf: xsk improvements and new stats tests | expand

Message

Loftus, Ciara Feb. 23, 2021, 4:23 p.m. UTC
This series attempts to improve the xsk selftest framework by:
1. making the default output less verbose
2. adding an optional verbose flag to both the test_xsk.sh script and xdpxceiver app.
3. renaming the debug option in the app to to 'dump-pkts' and add a flag to the test_xsk.sh
script which enables the flag in the app.
4. changing how tests are launched - now they are launched from the xdpxceiver app
instead of the script.

Once the improvements are made, a new set of tests are added which test the xsk
statistics.

The output of the test script now looks like:

./test_xsk.sh
PREREQUISITES: [ PASS ]
1..10
ok 1 PASS: SKB NOPOLL 
ok 2 PASS: SKB POLL 
ok 3 PASS: SKB NOPOLL Socket Teardown
ok 4 PASS: SKB NOPOLL Bi-directional Sockets
ok 5 PASS: SKB NOPOLL Stats
ok 6 PASS: DRV NOPOLL 
ok 7 PASS: DRV POLL 
ok 8 PASS: DRV NOPOLL Socket Teardown
ok 9 PASS: DRV NOPOLL Bi-directional Sockets
ok 10 PASS: DRV NOPOLL Stats
# Totals: pass:10 fail:0 xfail:0 xpass:0 skip:0 error:0
XSK KSELFTESTS: [ PASS ]

v2->v3:
* Rename dump-pkts to dump_pkts in test_xsk.sh
* Add examples of flag usage to test_xsk.sh 

v1->v2:
* Changed '-d' flag in the shell script to '-D' to be consistent with the xdpxceiver app.
* Renamed debug mode to 'dump-pkts' which better reflects the behaviour.
* Use libpf APIs instead of calls to ss for configuring xdp on the links
* Remove mutex init & destroy for each stats test
* Added a description for each of the new statistics tests
* Distinguish between exiting due to initialisation failure vs test failure

This series applies on commit d310ec03a34e92a77302edb804f7d68ee4f01ba0


Ciara Loftus (3):
  selftests/bpf: expose and rename debug argument
  selftests/bpf: restructure xsk selftests
  selftests/bpf: introduce xsk statistics tests

Magnus Karlsson (1):
  selftest/bpf: make xsk tests less verbose

 tools/testing/selftests/bpf/test_xsk.sh    | 135 ++------
 tools/testing/selftests/bpf/xdpxceiver.c   | 380 +++++++++++++++------
 tools/testing/selftests/bpf/xdpxceiver.h   |  57 +++-
 tools/testing/selftests/bpf/xsk_prereqs.sh |  30 +-
 4 files changed, 342 insertions(+), 260 deletions(-)

Comments

Björn Töpel March 2, 2021, 10:20 a.m. UTC | #1
On Tue, 23 Feb 2021 at 17:53, Ciara Loftus <ciara.loftus@intel.com> wrote:
>

> This series attempts to improve the xsk selftest framework by:

> 1. making the default output less verbose

> 2. adding an optional verbose flag to both the test_xsk.sh script and xdpxceiver app.

> 3. renaming the debug option in the app to to 'dump-pkts' and add a flag to the test_xsk.sh

> script which enables the flag in the app.

> 4. changing how tests are launched - now they are launched from the xdpxceiver app

> instead of the script.

>

> Once the improvements are made, a new set of tests are added which test the xsk

> statistics.

>

> The output of the test script now looks like:

>

> ./test_xsk.sh

> PREREQUISITES: [ PASS ]

> 1..10

> ok 1 PASS: SKB NOPOLL

> ok 2 PASS: SKB POLL

> ok 3 PASS: SKB NOPOLL Socket Teardown

> ok 4 PASS: SKB NOPOLL Bi-directional Sockets

> ok 5 PASS: SKB NOPOLL Stats

> ok 6 PASS: DRV NOPOLL

> ok 7 PASS: DRV POLL

> ok 8 PASS: DRV NOPOLL Socket Teardown

> ok 9 PASS: DRV NOPOLL Bi-directional Sockets

> ok 10 PASS: DRV NOPOLL Stats

> # Totals: pass:10 fail:0 xfail:0 xpass:0 skip:0 error:0

> XSK KSELFTESTS: [ PASS ]

>

> v2->v3:

> * Rename dump-pkts to dump_pkts in test_xsk.sh

> * Add examples of flag usage to test_xsk.sh

>

> v1->v2:

> * Changed '-d' flag in the shell script to '-D' to be consistent with the xdpxceiver app.

> * Renamed debug mode to 'dump-pkts' which better reflects the behaviour.

> * Use libpf APIs instead of calls to ss for configuring xdp on the links

> * Remove mutex init & destroy for each stats test

> * Added a description for each of the new statistics tests

> * Distinguish between exiting due to initialisation failure vs test failure

>

> This series applies on commit d310ec03a34e92a77302edb804f7d68ee4f01ba0

>


Ciara, this slipped on my side! Apologies! This is much better, thanks
for working on it!

For the series:
Acked-by: Björn Töpel <bjorn.topel@intel.com>



>

> Ciara Loftus (3):

>   selftests/bpf: expose and rename debug argument

>   selftests/bpf: restructure xsk selftests

>   selftests/bpf: introduce xsk statistics tests

>

> Magnus Karlsson (1):

>   selftest/bpf: make xsk tests less verbose

>

>  tools/testing/selftests/bpf/test_xsk.sh    | 135 ++------

>  tools/testing/selftests/bpf/xdpxceiver.c   | 380 +++++++++++++++------

>  tools/testing/selftests/bpf/xdpxceiver.h   |  57 +++-

>  tools/testing/selftests/bpf/xsk_prereqs.sh |  30 +-

>  4 files changed, 342 insertions(+), 260 deletions(-)

>

> --

> 2.17.1

>