Hi, Yonggang
The 'ret' variable is extractly used by the macros to record the failures, removing it would directly break the compiling.
$ gcc -o nolibc-test tools/testing/selftests/nolibc/nolibc-test.c tools/testing/selftests/nolibc/nolibc-test.c: In function ‘run_syscall’: tools/testing/selftests/nolibc/nolibc-test.c:285:57: error: ‘ret’ undeclared (first use in this function) 285 | do { if (!cond) pad_spc(llen, 64, "[SKIPPED]\n"); else ret += expect_sysne(expr, llen, val); } while (0)
You can re-check all of the used 'ret' like this:
$ grep "ret += expect" -ur tools/testing/selftests/nolibc/nolibc-test.c
To avoid sending such patches, simple local tests are required, for this patch, the 'libc-test' or 'nolibc-test' target may help us to find the above compile error:
$ cd tools/testing/selftests/nolibc/ $ make libc-test or $ make nolibc-test
Thanks, Zhangjin
Fix the following coccicheck warning:
tools/testing/selftests/nolibc/nolibc-test.c:646:5-8: Unneeded variable: "ret". Return "0"
Signed-off-by: Yonggang Wu wuyonggang001@208suo.com
tools/testing/selftests/nolibc/nolibc-test.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index 486334981e60..2b723354e085 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -546,7 +546,6 @@ int run_syscall(int min, int max) int proc; int test; int tmp;
int ret = 0; void *p1, *p2;
/* <proc> indicates whether or not /proc is mounted */
@@ -632,18 +631,17 @@ int run_syscall(int min, int max) CASE_TEST(syscall_noargs); EXPECT_SYSEQ(1, syscall(__NR_getpid), getpid()); break; CASE_TEST(syscall_args); EXPECT_SYSER(1, syscall(__NR_statx, 0, NULL, 0, 0, NULL), -1, EFAULT); break; case __LINE__:
return ret; /* must be last */
return 0; /* must be last */ /* note: do not set any defaults so as to permit holes above */ } }
- return ret;
return 0; }
int run_stdlib(int min, int max) { int test; int tmp;
int ret = 0; void *p1, *p2;
for (test = min; test >= 0 && test <= max; test++) {
@@ -726,11 +724,11 @@ int run_stdlib(int min, int max) # warning "__SIZEOF_LONG__ is undefined" #endif /* __SIZEOF_LONG__ */ case __LINE__:
return ret; /* must be last */
return 0; /* must be last */ /* note: do not set any defaults so as to permit holes above */ } }
- return ret;
return 0; }
#define EXPECT_VFPRINTF(c, expected, fmt, ...) \
@@ -790,7 +788,6 @@ static int run_vfprintf(int min, int max) { int test; int tmp;
int ret = 0; void *p1, *p2;
for (test = min; test >= 0 && test <= max; test++) {
@@ -810,11 +807,11 @@ static int run_vfprintf(int min, int max) CASE_TEST(hex); EXPECT_VFPRINTF(1, "f", "%x", 0xf); break; CASE_TEST(pointer); EXPECT_VFPRINTF(3, "0x1", "%p", (void *) 0x1); break; case __LINE__:
return ret; /* must be last */
return 0; /* must be last */ /* note: do not set any defaults so as to permit holes above */ } }
- return ret;
return 0; }
static int smash_stack(void)