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