41 lines · c
1// SPDX-License-Identifier: GPL-2.02#include <linux/compiler.h>3#include <linux/kernel.h>4#include "tests.h"5#include "debug.h"6#include "print_binary.h"7 8static 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 40DEFINE_SUITE("is_printable_array", is_printable_array);41