selftests/bpf: Test_progs option for listing test names
authorJesper Dangaard Brouer <brouer@redhat.com>
Wed, 1 Jul 2020 21:44:17 +0000 (23:44 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 1 Jul 2020 22:22:13 +0000 (15:22 -0700)
commitc1f1f3656eee3a59a40e1805699041ec1c14ab83
treec43058272fbaef280c62ddaff72e1a2973c0e16b
parent643e7233aa948901dce81d4573c91ed99fdd272e
selftests/bpf: Test_progs option for listing test names

The program test_progs have some very useful ability to specify a list of
test name substrings for selecting which tests to run.

This patch add the ability to list the selected test names without running
them. This is practical for seeing which tests gets selected with given
select arguments (which can also contain a exclude list via --name-blacklist).

This output can also be used by shell-scripts in a for-loop:

 for N in $(./test_progs --list -t xdp); do \
   ./test_progs -t $N 2>&1 > result_test_${N}.log & \
 done ; wait

This features can also be used for looking up a test number and returning
a testname. If the selection was empty then a shell EXIT_FAILURE is
returned.  This is useful for scripting. e.g. like this:

 n=1;
 while [ $(./test_progs --list -n $n) ] ; do \
   ./test_progs -n $n ; n=$(( n+1 )); \
 done

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/159363985751.930467.9610992940793316982.stgit@firesoul
tools/testing/selftests/bpf/test_progs.c
tools/testing/selftests/bpf/test_progs.h