xref: /openbmc/linux/tools/perf/tests/is_printable_array.c (revision 988dd774dcbd9151c2a643fc7284c5c3c4d0adb7)
1*988dd774SJiri Olsa #include <linux/compiler.h>
2*988dd774SJiri Olsa #include "tests.h"
3*988dd774SJiri Olsa #include "debug.h"
4*988dd774SJiri Olsa #include "util.h"
5*988dd774SJiri Olsa 
6*988dd774SJiri Olsa int test__is_printable_array(int subtest __maybe_unused)
7*988dd774SJiri Olsa {
8*988dd774SJiri Olsa 	char buf1[] = { 'k', 'r', 4, 'v', 'a', 0 };
9*988dd774SJiri Olsa 	char buf2[] = { 'k', 'r', 'a', 'v', 4, 0 };
10*988dd774SJiri Olsa 	struct {
11*988dd774SJiri Olsa 		char		*buf;
12*988dd774SJiri Olsa 		unsigned int	 len;
13*988dd774SJiri Olsa 		int		 ret;
14*988dd774SJiri Olsa 	} t[] = {
15*988dd774SJiri Olsa 		{ (char *) "krava",	sizeof("krava"),	1 },
16*988dd774SJiri Olsa 		{ (char *) "krava",	sizeof("krava") - 1,	0 },
17*988dd774SJiri Olsa 		{ (char *) "",		sizeof(""),		1 },
18*988dd774SJiri Olsa 		{ (char *) "",		0,			0 },
19*988dd774SJiri Olsa 		{ NULL,			0,			0 },
20*988dd774SJiri Olsa 		{ buf1,			sizeof(buf1),		0 },
21*988dd774SJiri Olsa 		{ buf2,			sizeof(buf2),		0 },
22*988dd774SJiri Olsa 	};
23*988dd774SJiri Olsa 	unsigned int i;
24*988dd774SJiri Olsa 
25*988dd774SJiri Olsa 	for (i = 0; i < ARRAY_SIZE(t); i++) {
26*988dd774SJiri Olsa 		int ret;
27*988dd774SJiri Olsa 
28*988dd774SJiri Olsa 		ret = is_printable_array((char *) t[i].buf, t[i].len);
29*988dd774SJiri Olsa 		if (ret != t[i].ret) {
30*988dd774SJiri Olsa 			pr_err("failed: test %u\n", i);
31*988dd774SJiri Olsa 			return TEST_FAIL;
32*988dd774SJiri Olsa 		}
33*988dd774SJiri Olsa 	}
34*988dd774SJiri Olsa 
35*988dd774SJiri Olsa 	return TEST_OK;
36*988dd774SJiri Olsa }
37