Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 988dd774 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf tests: Add is_printable_array test



Add automated test for is_printable_array function.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Pirko <jiri@mellanox.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/1468685480-18951-4-git-send-email-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent accaed26
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ perf-y += event_update.o
perf-y += event-times.o
perf-y += backward-ring-buffer.o
perf-y += sdt.o
perf-y += is_printable_array.o

$(OUTPUT)tests/llvm-src-base.c: tests/bpf-script-example.c tests/Build
	$(call rule_mkdir)
+4 −0
Original line number Diff line number Diff line
@@ -221,6 +221,10 @@ static struct test generic_tests[] = {
		.desc = "Test SDT event probing",
		.func = test__sdt_event,
	},
	{
		.desc = "Test is_printable_array function",
		.func = test__is_printable_array,
	},
	{
		.func = NULL,
	},
+36 −0
Original line number Diff line number Diff line
#include <linux/compiler.h>
#include "tests.h"
#include "debug.h"
#include "util.h"

int test__is_printable_array(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;
}
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ int test__event_times(int subtest);
int test__backward_ring_buffer(int subtest);
int test__cpu_map_print(int subtest);
int test__sdt_event(int subtest);
int test__is_printable_array(int subtest);

#if defined(__arm__) || defined(__aarch64__)
#ifdef HAVE_DWARF_UNWIND_SUPPORT