[PATCH -next] perf test: Use ARRAY_SIZE for array length

Jiapeng Chong posted 1 patch 2 months ago
There is a newer version of this series
tools/perf/tests/demangle-java-test.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH -next] perf test: Use ARRAY_SIZE for array length
Posted by Jiapeng Chong 2 months ago
Use of macro ARRAY_SIZE to calculate array size minimizes
the redundant code and improves code reusability.

./tools/perf/tests/demangle-java-test.c:31:34-35: WARNING: Use ARRAY_SIZE.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=11173
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
---
 tools/perf/tests/demangle-java-test.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/tests/demangle-java-test.c b/tools/perf/tests/demangle-java-test.c
index 44d1be303b67..611c18cdf4d3 100644
--- a/tools/perf/tests/demangle-java-test.c
+++ b/tools/perf/tests/demangle-java-test.c
@@ -6,6 +6,7 @@
 #include "session.h"
 #include "debug.h"
 #include "demangle-java.h"
+#include "kselftest.h"
 
 static int test__demangle_java(struct test_suite *test __maybe_unused, int subtest __maybe_unused)
 {
@@ -28,7 +29,7 @@ static int test__demangle_java(struct test_suite *test __maybe_unused, int subte
 		  "void java.lang.Object<init>()" },
 	};
 
-	for (i = 0; i < sizeof(test_cases) / sizeof(test_cases[0]); i++) {
+	for (i = 0; i < ARRAY_SIZE(test_cases); i++) {
 		buf = java_demangle_sym(test_cases[i].mangled, 0);
 		if (strcmp(buf, test_cases[i].demangled)) {
 			pr_debug("FAILED: %s: %s != %s\n", test_cases[i].mangled,
-- 
2.32.0.3.g01195cf9f
Re: [External] [PATCH -next] perf test: Use ARRAY_SIZE for array length
Posted by Yang Jihong 2 months ago
Hello,

On 9/27/24 16:40, Jiapeng Chong wrote:
> Use of macro ARRAY_SIZE to calculate array size minimizes
> the redundant code and improves code reusability.
> 
> ./tools/perf/tests/demangle-java-test.c:31:34-35: WARNING: Use ARRAY_SIZE.
> 
> Reported-by: Abaci Robot <abaci@linux.alibaba.com>
> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=11173
> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
> ---
>   tools/perf/tests/demangle-java-test.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/tests/demangle-java-test.c b/tools/perf/tests/demangle-java-test.c
> index 44d1be303b67..611c18cdf4d3 100644
> --- a/tools/perf/tests/demangle-java-test.c
> +++ b/tools/perf/tests/demangle-java-test.c
> @@ -6,6 +6,7 @@
>   #include "session.h"
>   #include "debug.h"
>   #include "demangle-java.h"
> +#include "kselftest.h"

The wrong header file is included here, causing the build to fail:

   CC      tests/demangle-java-test.o
tests/demangle-java-test.c:9:10: fatal error: kselftest.h: No such file 
or directory
     9 | #include "kselftest.h"
       |          ^~~~~~~~~~


The correct header file to include should be: <linux/kernel.h>

Thanks,
Yang

>   
>   static int test__demangle_java(struct test_suite *test __maybe_unused, int subtest __maybe_unused)
>   {
> @@ -28,7 +29,7 @@ static int test__demangle_java(struct test_suite *test __maybe_unused, int subte
>   		  "void java.lang.Object<init>()" },
>   	};
>   
> -	for (i = 0; i < sizeof(test_cases) / sizeof(test_cases[0]); i++) {
> +	for (i = 0; i < ARRAY_SIZE(test_cases); i++) {
>   		buf = java_demangle_sym(test_cases[i].mangled, 0);
>   		if (strcmp(buf, test_cases[i].demangled)) {
>   			pr_debug("FAILED: %s: %s != %s\n", test_cases[i].mangled,