mbox series

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

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

Message

Ciara Loftus 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
>