brintos

brintos / linux-shallow public Read only

0
0
Text · 957 B · f72de24 Raw
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