diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-07-19 08:44:38 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-07-19 08:44:38 +0200 |
commit | 5048c2af078d5976895d521262a8802ea791f3b0 (patch) | |
tree | ff17370ff5f36680ca7f71df0b9444747699348c /tools/perf/tests/is_printable_array.c | |
parent | 09211e2530ab4905ec16edecc27022d6b247419d (diff) | |
parent | 988dd774dcbd9151c2a643fc7284c5c3c4d0adb7 (diff) | |
download | op-kernel-dev-5048c2af078d5976895d521262a8802ea791f3b0.zip op-kernel-dev-5048c2af078d5976895d521262a8802ea791f3b0.tar.gz |
Merge tag 'perf-core-for-mingo-20160718' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
User visible changes:
- Properly report when a function wildcard produces no matches in 'perf probe'
(Masami Hiramatsu)
- Balance opening and reading events in 'perf stat', which could cause
it to get stuck trying to close invalid file descriptors (Mark Rutland)
Infrastructure changes:
- Copy more headers from the kernel, this time for headers that
were just including the contents of its kernel counterparts, should
help resolving the problems with linux-next, where some uapi related
patches seem to be breaking tools/object/ build. (Arnaldo Carvalho de Melo)
Some more combing will be done, but at least it is possible to build
perf out of tree, via a detached tarball (make help | grep perf),
without including kernel files in its MANIFEST (Arnaldo Carvalho de Melo)
- Fix smatch found errors that were not causing problems, but are
mistakes nonetheless (Dan Carpenter)
- Fix string vs. byte array resolving in the python script code (Jiri Olsa)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/tests/is_printable_array.c')
-rw-r--r-- | tools/perf/tests/is_printable_array.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/perf/tests/is_printable_array.c b/tools/perf/tests/is_printable_array.c new file mode 100644 index 0000000..42e1339 --- /dev/null +++ b/tools/perf/tests/is_printable_array.c @@ -0,0 +1,36 @@ +#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; +} |