linux/tools/perf/tests/is_printable_array.c
<<
>>
Prefs
   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
   8int test__is_printable_array(struct test *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