The patch looks good to me.

Acked-by: Andrey Ignatov <r...@fb.com>

Thanks for improving the tests, Yonghong!

Yonghong Song <y...@fb.com> [Wed, 2018-04-18 10:49 -0700]:
> The bpf selftests test_sock and test_sock_addr.sh failed
> in my test machine. The failure looks like:
>     $ ./test_sock
>     Test case: bind4 load with invalid access: src_ip6 .. [PASS]
>     Test case: bind4 load with invalid access: mark .. [PASS]
>     Test case: bind6 load with invalid access: src_ip4 .. [PASS]
>     Test case: sock_create load with invalid access: src_port .. [PASS]
>     Test case: sock_create load w/o expected_attach_type (compat mode) .. 
> [FAIL]
>     Test case: sock_create load w/ expected_attach_type .. [FAIL]
>     Test case: attach type mismatch bind4 vs bind6 .. [FAIL]
>     ...
>     Summary: 4 PASSED, 12 FAILED
>     $ ./test_sock_addr.sh
>     Wait for testing IPv4/IPv6 to become available .....
>     ERROR: Timeout waiting for test IP to become available.
> 
> In test_sock, bpf program loads failed due to hitting memlock limits.
> In test_sock_addr.sh, my test machine is a ipv6 only test box and using
> "ping" without specifying address family for an ipv6 address does not work.
> 
> This patch fixed the issue by including header bpf_rlimit.h in test_sock.c
> and test_sock_addr.c, and specifying address family for ping command.
> 
> Cc: Andrey Ignatov <r...@fb.com>
> Signed-off-by: Yonghong Song <y...@fb.com>
> ---
>  tools/testing/selftests/bpf/test_sock.c       | 1 +
>  tools/testing/selftests/bpf/test_sock_addr.c  | 1 +
>  tools/testing/selftests/bpf/test_sock_addr.sh | 4 ++--
>  3 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/test_sock.c 
> b/tools/testing/selftests/bpf/test_sock.c
> index 73bb20c..f4d99fa 100644
> --- a/tools/testing/selftests/bpf/test_sock.c
> +++ b/tools/testing/selftests/bpf/test_sock.c
> @@ -13,6 +13,7 @@
>  #include <bpf/bpf.h>
>  
>  #include "cgroup_helpers.h"
> +#include "bpf_rlimit.h"
>  
>  #ifndef ARRAY_SIZE
>  # define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
> diff --git a/tools/testing/selftests/bpf/test_sock_addr.c 
> b/tools/testing/selftests/bpf/test_sock_addr.c
> index d488f20..2950f80 100644
> --- a/tools/testing/selftests/bpf/test_sock_addr.c
> +++ b/tools/testing/selftests/bpf/test_sock_addr.c
> @@ -15,6 +15,7 @@
>  #include <bpf/libbpf.h>
>  
>  #include "cgroup_helpers.h"
> +#include "bpf_rlimit.h"
>  
>  #define CG_PATH      "/foo"
>  #define CONNECT4_PROG_PATH   "./connect4_prog.o"
> diff --git a/tools/testing/selftests/bpf/test_sock_addr.sh 
> b/tools/testing/selftests/bpf/test_sock_addr.sh
> index c6e1dcf..9832a87 100755
> --- a/tools/testing/selftests/bpf/test_sock_addr.sh
> +++ b/tools/testing/selftests/bpf/test_sock_addr.sh
> @@ -4,7 +4,7 @@ set -eu
>  
>  ping_once()
>  {
> -     ping -q -c 1 -W 1 ${1%%/*} >/dev/null 2>&1
> +     ping -${1} -q -c 1 -W 1 ${2%%/*} >/dev/null 2>&1
>  }
>  
>  wait_for_ip()
> @@ -13,7 +13,7 @@ wait_for_ip()
>       echo -n "Wait for testing IPv4/IPv6 to become available "
>       for _i in $(seq ${MAX_PING_TRIES}); do
>               echo -n "."
> -             if ping_once ${TEST_IPv4} && ping_once ${TEST_IPv6}; then
> +             if ping_once 4 ${TEST_IPv4} && ping_once 6 ${TEST_IPv6}; then
>                       echo " OK"
>                       return
>               fi
> -- 
> 2.9.5
> 

-- 
Andrey Ignatov

Reply via email to