selftests/bpf: improve unexpected success reporting in test_syctl
authorIlya Leoshkevich <iii@linux.ibm.com>
Fri, 30 Aug 2019 11:07:31 +0000 (13:07 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 3 Sep 2019 19:01:52 +0000 (21:01 +0200)
When tests fail because sysctl() unexpectedly succeeds, they print an
inappropriate "Unexpected failure" message and a random errno. Zero
out errno before calling sysctl() and replace the message with
"Unexpected success".

Fixes: 1f5fa9ab6e2e ("selftests/bpf: Test BPF_CGROUP_SYSCTL")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_sysctl.c

index 908f327..106644f 100644 (file)
@@ -1499,6 +1499,7 @@ static int run_test_case(int cgfd, struct sysctl_test *test)
                        goto err;
        }
 
+       errno = 0;
        if (access_sysctl(sysctl_path, test) == -1) {
                if (test->result == OP_EPERM && errno == EPERM)
                        goto out;
@@ -1507,7 +1508,7 @@ static int run_test_case(int cgfd, struct sysctl_test *test)
        }
 
        if (test->result != SUCCESS) {
-               log_err("Unexpected failure");
+               log_err("Unexpected success");
                goto err;
        }