Skip to contentSkip to conversation

ftracetests: Add ftrace tests to ftracetests

RFC PATCH Superseded Steven Rostedt 3 participants 10 messages Nov 3, 2014 – Nov 4, 2014

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Steven Rostedt

author maintainer
#0 lore raw

v2 cover ftracetests: Add ftrace tests to ftracetests

Second attempt. I took the advice from Masami Hiramatsu and modified my tests. I also added some helper functions to ftracetests as well.

I split the one function graph test into two. One to just test the filtering of the function graph and another to test with stack tracer.

Steven Rostedt (Red Hat) (4):
ftracetest: Add clear_trace() helper to reset the trace file
ftracetest: Add disable/enable_tracing() helper calls
ftracetest: Add helper reset_tracer() function
ftracetest: Add a couple of ftrace test cases

----

 tools/testing/selftests/ftrace/ftracetest          |  3 +
 .../ftrace/test.d/ftrace/fgraph-filter-stack.tc    | 94 ++++++++++++++++++++++
 .../ftrace/test.d/ftrace/fgraph-filter.tc          | 49 +++++++++++
 .../ftrace/test.d/ftrace/func_profiler.tc          | 76 +++++++++++++++++
 tools/testing/selftests/ftrace/test.d/functions    | 16 ++++
 5 files changed, 238 insertions(+)
author maintainer
#1 lore raw

RFC PATCH v2 1/4 ftracetest: Add clear_trace() helper to reset the trace file

From: "Steven Rostedt (Red Hat)" <[email protected]>

Created the file tools/testing/ftrace/test.d/functions that will hold helper functions.

First function added was clear_trace() that is descriptive in its name to show that "echo > trace" is clearing the trace file.

---
 tools/testing/selftests/ftrace/ftracetest       | 3 +++
 tools/testing/selftests/ftrace/test.d/functions | 4 ++++
 2 files changed, 7 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/functions
tools/testing/selftests/ftrace/ftracetest +3 -0
index f15c0da07aca..c6381a9faf83 100755
@@ -235,6 +235,9 @@ run_test() { # testfile
   fi
 }
 
+# load in the helper functions
+. $TEST_DIR/functions
+
 # Main loop
 for t in $TEST_CASES; do
   run_test $t
tools/testing/selftests/ftrace/test.d/functions new file +4 -0
new file mode 100644
index 000000000000..1aa9f2e9c40b
@@ -0,0 +1,4 @@
+
+clear_trace() { # reset trace output
+    echo > trace
+}
Signature · 1 line
2.1.1
author maintainer
#2 lore raw

RFC PATCH v2 2/4 ftracetest: Add disable/enable_tracing() helper calls

In reply to Steven Rostedt

From: "Steven Rostedt (Red Hat)" <[email protected]>

Add calls that disable and enable tracing respectively by echoing 0 or 1 into tracing_on.

---
 tools/testing/selftests/ftrace/test.d/functions | 8 ++++++++
 1 file changed, 8 insertions(+)
tools/testing/selftests/ftrace/test.d/functions +8 -0
index 1aa9f2e9c40b..c5bf630e9be8 100644
@@ -2,3 +2,11 @@
 clear_trace() { # reset trace output
     echo > trace
 }
+
+disable_tracing() { # stop trace recording
+    echo 0 > tracing_on
+}
+
+enable_tracing() { # start trace recording
+    echo 1 > tracing_on
+}
Signature · 1 line
2.1.1
author maintainer
#3 lore raw

RFC PATCH v2 3/4 ftracetest: Add helper reset_tracer() function

In reply to Steven Rostedt

From: "Steven Rostedt (Red Hat)" <[email protected]>

Add a helper function reset_tracer() that will clear the current_tracer (echo nop > current_tracer).

---
 tools/testing/selftests/ftrace/test.d/functions | 4 ++++
 1 file changed, 4 insertions(+)
tools/testing/selftests/ftrace/test.d/functions +4 -0
index c5bf630e9be8..5d8cd06d920f 100644
@@ -10,3 +10,7 @@ disable_tracing() { # stop trace recording
 enable_tracing() { # start trace recording
     echo 1 > tracing_on
 }
+
+reset_tracer() { # reset the current tracer
+    echo nop > current_tracer
+}
Signature · 1 line
2.1.1
author maintainer
#4 lore raw

RFC PATCH v2 4/4 ftracetest: Add a couple of ftrace test cases

In reply to Steven Rostedt

From: "Steven Rostedt (Red Hat)" <[email protected]>

Added three test cases to get the feel of adding tests to ftracetest. The three cases are:

function profiling test, to make sure function profiling still works
with function tracing (was a regression)

function graph filter test to make sure that function graph filtering works.

function graph filter with stack tracing test to make sure that the function
graph filter does filter and also continues to filter when another function tracer is running (like the stack tracer)

---
 .../ftrace/test.d/ftrace/fgraph-filter-stack.tc    | 94 ++++++++++++++++++++++
 .../ftrace/test.d/ftrace/fgraph-filter.tc          | 49 +++++++++++
 .../ftrace/test.d/ftrace/func_profiler.tc          | 76 +++++++++++++++++
 3 files changed, 219 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +94 -0
new file mode 100644
index 000000000000..3d8f79176681
@@ -0,0 +1,94 @@
+#!/bin/sh
+# description: ftrace - function graph filters with stack tracer
+
+# Make sure that function graph filtering works, and is not
+# affected by other tracers enabled (like stack tracer)
+
+if ! grep -q function_graph available_tracers; then
+    echo "no function graph tracer configured"
+    exit_unsupported
+fi
+
+if [ ! -f set_ftrace_filter ]; then
+    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
+    exit_unsupported
+fi
+
+do_reset() {
+    reset_tracer
+    echo 0 > /proc/sys/kernel/stack_tracer_enabled
+    enable_tracing
+    clear_trace
+    echo > set_ftrace_filter
+}
+
+disable_tracing
+clear_trace;
+
+# filter something, schedule is always good
+if ! echo "schedule" > set_ftrace_filter; then
+    # test for powerpc 64
+    if ! echo ".schedule" > set_ftrace_filter; then
+	echo "can not enable schedule filter"
+	exit -1
+    fi
+fi
+
+echo function_graph > current_tracer
+
+if [ ! -f stack_trace ]; then
+    echo "Stack tracer not configured"
+    do_reset
+    exit_unsupported;
+fi
+
+echo "Now testing with stack tracer"
+
+echo 1 > /proc/sys/kernel/stack_tracer_enabled
+
+disable_tracing
+clear_trace
+enable_tracing
+sleep 1
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working with stack tracer?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+# Make sure we did find something
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+echo 0 > /proc/sys/kernel/stack_tracer_enabled
+clear_trace
+sleep 1
+
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working after stack tracer disabled?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+do_reset
+
+exit 0
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc new file +49 -0

49 lines not on this page · raw message

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +76 -0

76 lines not on this page · raw message

Signature · 1 line
2.1.1
#5 lore raw

Re: [RFC PATCH 4/4 v2] ftracetest: Add a couple of ftrace test cases

Hi Steve,

Just a few nitpicks.. Otherwise looks good to me.

Quoted 51 lines · Steven Rostedt

From: "Steven Rostedt (Red Hat)" <[email protected]>

Added three test cases to get the feel of adding tests to ftracetest. The three cases are:

function profiling test, to make sure function profiling still works
with function tracing (was a regression)

function graph filter test to make sure that function graph filtering works.

function graph filter with stack tracing test to make sure that the function
graph filter does filter and also continues to filter when another function tracer is running (like the stack tracer)

---
 .../ftrace/test.d/ftrace/fgraph-filter-stack.tc    | 94 ++++++++++++++++++++++
 .../ftrace/test.d/ftrace/fgraph-filter.tc          | 49 +++++++++++
 .../ftrace/test.d/ftrace/func_profiler.tc          | 76 +++++++++++++++++
 3 files changed, 219 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +21 -0
new file mode 100644
index 000000000000..3d8f79176681
@@ -0,0 +1,94 @@
+#!/bin/sh
+# description: ftrace - function graph filters with stack tracer
+
+# Make sure that function graph filtering works, and is not
+# affected by other tracers enabled (like stack tracer)
+
+if ! grep -q function_graph available_tracers; then
+    echo "no function graph tracer configured"
+    exit_unsupported
+fi
+
+if [ ! -f set_ftrace_filter ]; then
+    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
+    exit_unsupported
+fi
+
+do_reset() {
+    reset_tracer
+    echo 0 > /proc/sys/kernel/stack_tracer_enabled
+    enable_tracing
+    clear_trace

tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc line 31

Quoted 10 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +10 -0
+    echo > set_ftrace_filter
+}
+
+disable_tracing
+clear_trace;
+
+# filter something, schedule is always good
+if ! echo "schedule" > set_ftrace_filter; then
+    # test for powerpc 64
+    if ! echo ".schedule" > set_ftrace_filter; then

You did 'echo '*schedule' > set_ftrace_filter' in the last test case.

Quoted 31 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +31 -0
+	echo "can not enable schedule filter"
+	exit -1
+    fi
+fi
+
+echo function_graph > current_tracer
+
+if [ ! -f stack_trace ]; then
+    echo "Stack tracer not configured"
+    do_reset
+    exit_unsupported;
+fi
+
+echo "Now testing with stack tracer"
+
+echo 1 > /proc/sys/kernel/stack_tracer_enabled
+
+disable_tracing
+clear_trace
+enable_tracing
+sleep 1
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working with stack tracer?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then

tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc line 72

Quoted 10 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +10 -0
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+# Make sure we did find something
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi

Do you really want to do it twice?

Quoted 22 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +22 -0
+
+echo 0 > /proc/sys/kernel/stack_tracer_enabled
+clear_trace
+sleep 1
+
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working after stack tracer disabled?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+do_reset
+
+exit 0

[SNIP]

Quoted 27 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +24 -0
@@ -0,0 +1,76 @@
+#!/bin/sh
+# description: ftrace - function profiler with function tracing
+
+# There was a bug after a rewrite of the ftrace infrastructure that
+# caused the function_profiler not to be able to run with the function
+# tracer, because the function_profiler used the function_graph tracer
+# and it was assumed the two could not run simultaneously.
+#
+# There was another related bug where the solution to the first bug
+# broke the way filtering of the function tracer worked.
+#
+# This test triggers those bugs on those kernels.
+#
+# We need function_graph and profiling to to run this test
+if ! grep -q function_graph available_tracers; then
+    echo "no function graph tracer configured"
+    exit_unsupported;
+fi
+
+if [ ! -f set_ftrace_filter ]; then
+    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
+    exit_unsupported
+fi
+

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 34

Quoted 10 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +10 -0
+if [ ! -f function_profile_enabled ]; then
+    echo "function_profile_enabled not found, function profiling enabled?"
+    exit_unsupported
+fi
+
+echo "Testing function tracer with profiler:"
+echo "enable function tracer"
+echo function > current_tracer
+echo "enable profiler"
+echo 1 > function_profile_enabled

Oh, this test is verbose.. :)

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 39

Quoted 5 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +5 -0
+
+sleep 1
+
+echo "Now filter on just schedule"
+echo '*schedule' > set_ftrace_filter

Here..

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 50

Quoted 11 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +11 -0
+clear_trace
+
+echo "Now disable function profiler"
+echo 0 > function_profile_enabled
+
+sleep 1
+
+# make sure only schedule functions exist
+
+echo "testing if only schedule is being traced"
+if grep -v -e '^#' -e 'schedule' trace; then

It seems you might want to add -q or > /dev/null. Or count the resulting lines like other tests.

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 52

Quoted 2 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +2 -0
+	echo "more than schedule was found"
+	exit 1

'exit -1' for consistency?

Thanks,
Namhyung

Quoted 24 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +24 -0
+fi
+
+echo "Make sure schedule was traced"
+if ! grep -e 'schedule' trace > /dev/null; then
+	cat trace
+	echo "can not find schedule in trace"
+	exit 1
+fi
+
+echo > set_ftrace_filter
+clear_trace
+
+sleep 1
+
+echo "make sure something other than scheduler is being traced"
+if ! grep -v -e '^#' -e 'schedule' trace > /dev/null; then
+	cat trace
+	echo "no other functions besides schedule was found"
+	exit 1
+fi
+
+reset_tracer
+
+exit 0
author maintainer
#6 lore raw

Re: [RFC PATCH 4/4 v2] ftracetest: Add a couple of ftrace test cases

Quoted 4 lines · On Tue, 04 Nov 2014 17:31:47 +0900 Namhyung Kim <[email protected]> wrote:

Hi Steve,

Just a few nitpicks.. Otherwise looks good to me.

Of course. It wasn't easy taking my hacks and making them somewhat less hacky.

Quoted 57 lines · Steven Rostedt
Quoted 55 lines

From: "Steven Rostedt (Red Hat)" <[email protected]>

Added three test cases to get the feel of adding tests to ftracetest. The three cases are:

function profiling test, to make sure function profiling still works
with function tracing (was a regression)

function graph filter test to make sure that function graph filtering works.

function graph filter with stack tracing test to make sure that the function
graph filter does filter and also continues to filter when another function tracer is running (like the stack tracer)

---
 .../ftrace/test.d/ftrace/fgraph-filter-stack.tc    | 94 ++++++++++++++++++++++
 .../ftrace/test.d/ftrace/fgraph-filter.tc          | 49 +++++++++++
 .../ftrace/test.d/ftrace/func_profiler.tc          | 76 +++++++++++++++++
 3 files changed, 219 insertions(+)
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +25 -0
new file mode 100644
index 000000000000..3d8f79176681
@@ -0,0 +1,94 @@
+#!/bin/sh
+# description: ftrace - function graph filters with stack tracer
+
+# Make sure that function graph filtering works, and is not
+# affected by other tracers enabled (like stack tracer)
+
+if ! grep -q function_graph available_tracers; then
+    echo "no function graph tracer configured"
+    exit_unsupported
+fi
+
+if [ ! -f set_ftrace_filter ]; then
+    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
+    exit_unsupported
+fi
+
+do_reset() {
+    reset_tracer
+    echo 0 > /proc/sys/kernel/stack_tracer_enabled
+    enable_tracing
+    clear_trace
+    echo > set_ftrace_filter
+}
+
+disable_tracing
Quoted 8 lines

tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc line 31

Quoted 6 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +6 -0
+clear_trace;
+
+# filter something, schedule is always good
+if ! echo "schedule" > set_ftrace_filter; then
+    # test for powerpc 64
+    if ! echo ".schedule" > set_ftrace_filter; then

You did 'echo '*schedule' > set_ftrace_filter' in the last test case.

That was me being lazy. :-)

I actually like having both ways, as it adds different types of testing to the infrastructure. When it comes to testing, having all tests do everything the same isn't always the best thing. I've found most my bugs by tests doing things slightly different.

Quoted 37 lines
Quoted 37 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +35 -0
+	echo "can not enable schedule filter"
+	exit -1
+    fi
+fi
+
+echo function_graph > current_tracer
+
+if [ ! -f stack_trace ]; then
+    echo "Stack tracer not configured"
+    do_reset
+    exit_unsupported;
+fi
+
+echo "Now testing with stack tracer"
+
+echo 1 > /proc/sys/kernel/stack_tracer_enabled
+
+disable_tracing
+clear_trace
+enable_tracing
+sleep 1
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working with stack tracer?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
Quoted 8 lines

tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc line 72

Quoted 6 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +6 -0
+# Make sure we did find something
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi

Do you really want to do it twice?

Crap, no. Hmm, that was probably suppose to go into the other file. Let me fix that.

Quoted 58 lines
Quoted 24 lines
tools/testing/selftests/ftrace/test.d/ftrace/fgraph-filter-stack.tc new file +22 -0
+
+echo 0 > /proc/sys/kernel/stack_tracer_enabled
+clear_trace
+sleep 1
+
+
+count=`cat trace | grep '()' | grep -v schedule | wc -l`
+
+if [ $count -ne 0 ]; then
+    echo "Graph filtering not working after stack tracer disabled?"
+    exit -1
+fi
+
+count=`cat trace | grep 'schedule()' | wc -l` 
+if [ $count -eq 0 ]; then
+    echo "No schedule traces found?"
+    exit -1
+fi
+
+do_reset
+
+exit 0

[SNIP]

Quoted 31 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +28 -0
@@ -0,0 +1,76 @@
+#!/bin/sh
+# description: ftrace - function profiler with function tracing
+
+# There was a bug after a rewrite of the ftrace infrastructure that
+# caused the function_profiler not to be able to run with the function
+# tracer, because the function_profiler used the function_graph tracer
+# and it was assumed the two could not run simultaneously.
+#
+# There was another related bug where the solution to the first bug
+# broke the way filtering of the function tracer worked.
+#
+# This test triggers those bugs on those kernels.
+#
+# We need function_graph and profiling to to run this test
+if ! grep -q function_graph available_tracers; then
+    echo "no function graph tracer configured"
+    exit_unsupported;
+fi
+
+if [ ! -f set_ftrace_filter ]; then
+    echo "set_ftrace_filter not found? Is dynamic ftrace not set?"
+    exit_unsupported
+fi
+
+if [ ! -f function_profile_enabled ]; then
+    echo "function_profile_enabled not found, function profiling enabled?"
+    exit_unsupported
+fi
Quoted 8 lines

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 34

Quoted 6 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +6 -0
+
+echo "Testing function tracer with profiler:"
+echo "enable function tracer"
+echo function > current_tracer
+echo "enable profiler"
+echo 1 > function_profile_enabled

Oh, this test is verbose.. :)

I could switch those to comments. When running the tests, these are suppressed. Should I change them?

Quoted 9 lines

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 39

Quoted 7 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +5 -0
+
+sleep 1
+
+echo "Now filter on just schedule"
+echo '*schedule' > set_ftrace_filter

Here..

Yep, me being lazy. But I think I'll keep it as a variant. At least until I have better testing of filters. This is really basic. My stress tests use trace-cmd, which isn't what we want for these tests.

Quoted 15 lines

tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc line 50

Quoted 12 lines
tools/testing/selftests/ftrace/test.d/ftrace/func_profiler.tc new file +11 -0
+clear_trace
+
+echo "Now disable function profiler"
+echo 0 > function_profile_enabled
+
+sleep 1
+
+# make sure only schedule functions exist
+
+echo "testing if only schedule is being traced"
+if grep -v -e '^#' -e 'schedule' trace; then

It seems you might want to add -q or > /dev/null. Or count the resulting lines like other tests.

Why?

The -v is an inverse search. It returns true if it finds anything but '^#' and 'schedule', and false if it doesn't.

That's what we want. Why count lines? We could add -q, but again, all output is suppressed. This came from my own test scripts, and there I purposely left out the -q because if it failed, I wanted to see what was there that wasn't suppose to be.

-- Steve

Acked-by on the v2 series
#7 lore raw
In reply to Steven Rostedt
Quoted 5 lines · Steven Rostedt

Second attempt. I took the advice from Masami Hiramatsu and modified my tests. I also added some helper functions to ftracetests as well.

I split the one function graph test into two. One to just test the filtering of the function graph and another to test with stack tracer.

This series looks good to me :)

for this series.

Thank you!

Quoted 17 lines

Steven Rostedt (Red Hat) (4):
ftracetest: Add clear_trace() helper to reset the trace file
ftracetest: Add disable/enable_tracing() helper calls
ftracetest: Add helper reset_tracer() function
ftracetest: Add a couple of ftrace test cases

----

 tools/testing/selftests/ftrace/ftracetest          |  3 +
 .../ftrace/test.d/ftrace/fgraph-filter-stack.tc    | 94 ++++++++++++++++++++++
 .../ftrace/test.d/ftrace/fgraph-filter.tc          | 49 +++++++++++
 .../ftrace/test.d/ftrace/func_profiler.tc          | 76 +++++++++++++++++
 tools/testing/selftests/ftrace/test.d/functions    | 16 ++++
 5 files changed, 238 insertions(+)
Signature · 4 lines
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: [email protected]
#8 lore raw
In reply to Steven Rostedt
Quoted 10 lines · Steven Rostedt

Second attempt. I took the advice from Masami Hiramatsu and modified my tests. I also added some helper functions to ftracetests as well.

I split the one function graph test into two. One to just test the filtering of the function graph and another to test with stack tracer.

Steven Rostedt (Red Hat) (4):
ftracetest: Add clear_trace() helper to reset the trace file
ftracetest: Add disable/enable_tracing() helper calls
ftracetest: Add helper reset_tracer() function

BTW, I think you can fold these patches into one. No need to separate for each helper functions.

Thank you,

Signature · 4 lines
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: [email protected]
author maintainer
#9 lore raw
Quoted 7 lines · On Tue, 04 Nov 2014 18:30:37 +0900 Masami Hiramatsu…
Quoted 6 lines · Steven Rostedt

Second attempt. I took the advice from Masami Hiramatsu and modified my tests. I also added some helper functions to ftracetests as well.

I split the one function graph test into two. One to just test the filtering of the function graph and another to test with stack tracer.

Quoted 7 lines
Quoted 4 lines

Steven Rostedt (Red Hat) (4):
ftracetest: Add clear_trace() helper to reset the trace file
ftracetest: Add disable/enable_tracing() helper calls
ftracetest: Add helper reset_tracer() function

BTW, I think you can fold these patches into one. No need to separate for each helper functions.

Yeah, I probably should. I did those each at different times, and just put them in separately.

-- Steve