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