On Tue, Aug 18, 2020 at 1:44 PM Carlos Neira <[email protected]> wrote:
>
> Currently tests for bpf_get_ns_current_pid_tgid() are outside test_progs.
> This change folds a test case into test_progs.
>
> Changes from V4:
> - Added accidentally removed blank space in Makefile.
> - Added () around bit-shift operations.
> - Fixed not valid C89 standard-compliant code.
>
> Signed-off-by: Carlos Neira <[email protected]>
> Acked-by: Andrii Nakryiko <[email protected]>
> ---
> tools/testing/selftests/bpf/.gitignore | 2 +-
> tools/testing/selftests/bpf/Makefile | 2 +-
> .../bpf/prog_tests/ns_current_pid_tgid.c | 85 ----------
> .../bpf/prog_tests/ns_current_pidtgid.c | 55 ++++++
> .../bpf/progs/test_ns_current_pid_tgid.c | 37 ----
> .../bpf/progs/test_ns_current_pidtgid.c | 25 +++
> .../bpf/test_current_pid_tgid_new_ns.c | 159 ------------------
> .../bpf/test_ns_current_pidtgid_newns.c | 91 ++++++++++
> 8 files changed, 173 insertions(+), 283 deletions(-)
> delete mode 100644
> tools/testing/selftests/bpf/prog_tests/ns_current_pid_tgid.c
> create mode 100644
> tools/testing/selftests/bpf/prog_tests/ns_current_pidtgid.c
> delete mode 100644
> tools/testing/selftests/bpf/progs/test_ns_current_pid_tgid.c
> create mode 100644
> tools/testing/selftests/bpf/progs/test_ns_current_pidtgid.c
> delete mode 100644 tools/testing/selftests/bpf/test_current_pid_tgid_new_ns.c
> create mode 100644
> tools/testing/selftests/bpf/test_ns_current_pidtgid_newns.c
>
> diff --git a/tools/testing/selftests/bpf/.gitignore
> b/tools/testing/selftests/bpf/.gitignore
> index 1bb204cee853..022055f23592 100644
> --- a/tools/testing/selftests/bpf/.gitignore
> +++ b/tools/testing/selftests/bpf/.gitignore
> @@ -30,8 +30,8 @@ test_tcpnotify_user
> test_libbpf
> test_tcp_check_syncookie_user
> test_sysctl
> -test_current_pid_tgid_new_ns
> xdping
> +test_ns_current_pidtgid_newns
> test_cpp
> *.skel.h
> /no_alu32
> diff --git a/tools/testing/selftests/bpf/Makefile
> b/tools/testing/selftests/bpf/Makefile
> index e7a8cf83ba48..e308cc7c8598 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -37,7 +37,7 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps
> test_lru_map test_lpm_map test
> test_cgroup_storage \
> test_netcnt test_tcpnotify_user test_sock_fields test_sysctl \
> test_progs-no_alu32 \
> - test_current_pid_tgid_new_ns
> + test_ns_current_pidtgid_newns
Have you tried doing a parallel build with make -j$(nproc) or
something like that? It fails for me:
test_ns_current_pidtgid_newns.c:6:10: fatal error:
test_ns_current_pidtgid.skel.h: No such file or directory
#include "test_ns_current_pidtgid.skel.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The problem seems to be that you haven't recorded dependency on the
skeleton file for this new test_ns_current_pidtgid_newns.
But rather than fixing it, let's just fold
test_ns_current_pidtgid_newns into test_progs as well? Then all such
issues will be handled automatically and this test will be executed
regularly.
>
> # Also test bpf-gcc, if present
> ifneq ($(BPF_GCC),)
[...]