1 | // SPDX-License-Identifier: GPL-2.0 |
2 | #include <linux/compiler.h> |
3 | #include <linux/kernel.h> |
4 | #include "tests.h" |
5 | #include "debug.h" |
6 | #include "print_binary.h" |
7 | |
8 | static int test__is_printable_array(struct test_suite *test __maybe_unused, int subtest __maybe_unused) |
9 | { |
10 | char buf1[] = { 'k', 'r', 4, 'v', 'a', 0 }; |
11 | char buf2[] = { 'k', 'r', 'a', 'v', 4, 0 }; |
12 | struct { |
13 | char *buf; |
14 | unsigned int len; |
15 | int ret; |
16 | } t[] = { |
17 | { (char *) "krava" , sizeof("krava" ), 1 }, |
18 | { (char *) "krava" , sizeof("krava" ) - 1, 0 }, |
19 | { (char *) "" , sizeof("" ), 1 }, |
20 | { (char *) "" , 0, 0 }, |
21 | { NULL, 0, 0 }, |
22 | { buf1, sizeof(buf1), 0 }, |
23 | { buf2, sizeof(buf2), 0 }, |
24 | }; |
25 | unsigned int i; |
26 | |
27 | for (i = 0; i < ARRAY_SIZE(t); i++) { |
28 | int ret; |
29 | |
30 | ret = is_printable_array((char *) t[i].buf, t[i].len); |
31 | if (ret != t[i].ret) { |
32 | pr_err("failed: test %u\n" , i); |
33 | return TEST_FAIL; |
34 | } |
35 | } |
36 | |
37 | return TEST_OK; |
38 | } |
39 | |
40 | DEFINE_SUITE("is_printable_array" , is_printable_array); |
41 | |