38 lines · 887 B · C
RawDownload
// 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;}