Commit 0d0352d8 authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Steven Rostedt (VMware)
Browse files

selftests/ftrace: Fix synthetic event test to delete event correctly

Fix the synthetic event test case to remove event correctly.
If redirecting command to synthetic_event file without append
mode, it cleans up all existing events and execute (parse) the
command. This means "delete event" always fails to find the
target event.

Since previous synthetic event has a bug which doesn't return
-ENOENT even if it fails to find the deleting event, this test
passed. But fixing that bug, this test fails because this test
itself has a bug.

This fixes that bug by trying to delete event right after
adding an event, and use append mode redirection ('>>') instead
of normal redirection ('>').

Link: http://lkml.kernel.org/r/154013452832.25576.2305459545429386517.stgit@devbox



Acked-by: default avatarShuah Khan <shuah@kernel.org>
Acked-by: default avatarTom Zanussi <zanussi@linux.intel.com>
Tested-by: default avatarTom Zanussi <zanussi@linux.intel.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Cc: Tom Zanussi <tom.zanussi@linux.intel.com>
Cc: Rajvi Jingar <rajvi.jingar@intel.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: stable@vger.kernel.org
Fixes: f06eec4d ('selftests: ftrace: Add inter-event hist triggers testcases')
Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 18858511
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -35,18 +35,18 @@ fi

reset_trigger

echo "Test create synthetic event with an error"
echo 'wakeup_latency  u64 lat pid_t pid char' > synthetic_events > /dev/null
echo "Test remove synthetic event"
echo '!wakeup_latency  u64 lat pid_t pid char comm[16]' >> synthetic_events
if [ -d events/synthetic/wakeup_latency ]; then
    fail "Created wakeup_latency synthetic event with an invalid format"
    fail "Failed to delete wakeup_latency synthetic event"
fi

reset_trigger

echo "Test remove synthetic event"
echo '!wakeup_latency  u64 lat pid_t pid char comm[16]' > synthetic_events
echo "Test create synthetic event with an error"
echo 'wakeup_latency  u64 lat pid_t pid char' > synthetic_events > /dev/null
if [ -d events/synthetic/wakeup_latency ]; then
    fail "Failed to delete wakeup_latency synthetic event"
    fail "Created wakeup_latency synthetic event with an invalid format"
fi

do_reset