[PATCH 0/7] selftests/ftrace: Some improvements of ftracetest

From: Masami Hiramatsu
Date: Tue May 23 2017 - 02:03:40 EST


Hi,

This series improves ftracetest mainly to run on 4.9 stable
tree kernel. There still some issues remains (it seems some
fixes are not merged), but a half of issues are fixed.

NOTE: One patch will modify ftrace README to check the
availability of the maxactive option, which should have
been implemented with the function-added patch.

With this series, only 1 test actually failed on 4.9.29.
(and 3 unsupported, since it is too old to support it)

Tue May 23 05:56:24 UTC 2017
=== Ftrace unit tests ===
[1] Basic trace file check [PASS]
[2] Basic test for tracers [PASS]
[3] Basic trace clock test [PASS]
[4] Basic event tracing check [PASS]
[5] event tracing - enable/disable with event level files [PASS]
[6] event tracing - restricts events based on pid [PASS]
[7] event tracing - enable/disable with subsystem level files [PASS]
[8] event tracing - enable/disable with top level files [PASS]
[9] ftrace - function graph filters with stack tracer [PASS]
[10] ftrace - function graph filters [PASS]
[11] ftrace - function glob filters [PASS]
[12] ftrace - function pid filters [PASS]
[13] ftrace - test for function event triggers [PASS]
[14] ftrace - function profiler with function tracing [PASS]
[15] ftrace - test reading of set_ftrace_filter [FAIL]
[16] ftrace - test for function traceon/off triggers [PASS]
[17] Test creation and deletion of trace instances while setting an event [PASS]
[18] Test creation and deletion of trace instances [PASS]
[19] Kprobe dynamic event - adding and removing [PASS]
[20] Kprobe dynamic event - busy event check [PASS]
[21] Kprobe dynamic event with arguments [PASS]
[22] Kprobes event arguments with types [PASS]
[23] Kprobe dynamic event with function tracer [PASS]
[24] Kretprobe dynamic event with arguments [PASS]
[25] Kretprobe dynamic event with maxactive [UNSUPPORTED]
[26] event trigger - test event enable/disable trigger [PASS]
[27] event trigger - test trigger filter [PASS]
[28] event trigger - test histogram modifiers [PASS]
[29] event trigger - test histogram trigger [PASS]
[30] event trigger - test multiple histogram triggers [PASS]
[31] event trigger - test snapshot-trigger [PASS]
[32] event trigger - test stacktrace-trigger [PASS]
[33] event trigger - test traceon/off trigger [PASS]
[34] (instance) Basic test for tracers [PASS]
[35] (instance) Basic trace clock test [PASS]
[36] (instance) event tracing - enable/disable with event level files [PASS]
[37] (instance) event tracing - restricts events based on pid [PASS]
[38] (instance) event tracing - enable/disable with subsystem level files [PASS]
[39] (instance) ftrace - test for function event triggers [UNSUPPORTED]
[40] (instance) ftrace - test for function traceon/off triggers [UNSUPPORTED]
[41] (instance) event trigger - test event enable/disable trigger [PASS]
[42] (instance) event trigger - test trigger filter [PASS]
[43] (instance) event trigger - test histogram modifiers [PASS]
[44] (instance) event trigger - test histogram trigger [PASS]
[45] (instance) event trigger - test multiple histogram triggers [PASS]

# of passed: 41
# of failed: 1
# of unresolved: 0
# of untested: 0
# of unsupported: 3
# of xfailed: 0
# of undefined(test bug): 0


> [15] ftrace - test reading of set_ftrace_filter [FAIL]
was caused by the difference of the result of
"dd bs=1 if=set_ftrace_filter" and "cat set_ftrace_filter",
which has been fixed on upstream by commit fcdc71257923
("ftrace: Fix indexing of t_hash_start() from t_next()")
but backporting it onto 4.9.y stable tree didn't fix that.


Thank you,

---

Masami Hiramatsu (7):
selftests/ftrace: Skip full-glob-matching filter test on older kernel
selftests/ftrace: Reduce trace buffer checking overhead
ftrace/kprobes: selftests: Check kretprobe maxactive is supported
selftests/ftrace: Reset ftrace filter on older kernel
selftests/ftrace: Add instance indication in test log
selftests/ftrace: Use top-level available_filter_function
selftests/ftrace: Return unsupported if it detects older kernel


kernel/trace/trace.c | 3 +-
tools/testing/selftests/ftrace/ftracetest | 2 +
.../ftrace/test.d/event/toplevel-enable.tc | 8 ++++--
.../ftrace/test.d/ftrace/func-filter-glob.tc | 28 ++++++++++++--------
.../ftrace/test.d/ftrace/func_event_triggers.tc | 9 ++++++
.../test.d/ftrace/func_traceonoff_triggers.tc | 13 +++++++++
.../ftrace/test.d/instances/instance-event.tc | 5 +++-
.../ftrace/test.d/kprobe/kretprobe_maxactive.tc | 1 +
8 files changed, 53 insertions(+), 16 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>