From c5e4114fee0b6582b6e86804ffef95bf82bb5f78 Mon Sep 17 00:00:00 2001 From: Tom Zanussi Date: Sun, 31 Mar 2019 18:48:21 -0500 Subject: selftests/ftrace: Move kprobe/uprobe check_error() to test.d/functions The k/uprobe_sytax_errors test case defines a check_error() function used to run a command and check the position of the caret in the output. This would be useful for other ftrace facilities too, so move it to test.d/functions for use by anyone. In the process, rename it to ftrace_errlog_check() and parametrize it for general use. Link: http://lkml.kernel.org/r/9f88080a06f1755811f69081926afe7e5cb53178.1554072478.git.tom.zanussi@linux.intel.com Acked-by: Masami Hiramatsu Signed-off-by: Tom Zanussi Signed-off-by: Steven Rostedt (VMware) --- tools/testing/selftests/ftrace/test.d/functions | 12 ++++++++++++ .../selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc | 10 +--------- .../selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc | 10 +--------- 3 files changed, 14 insertions(+), 18 deletions(-) (limited to 'tools/testing/selftests/ftrace') diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions index 7b96e80e6b8a..779ec11f61bd 100644 --- a/tools/testing/selftests/ftrace/test.d/functions +++ b/tools/testing/selftests/ftrace/test.d/functions @@ -109,3 +109,15 @@ LOCALHOST=127.0.0.1 yield() { ping $LOCALHOST -c 1 || sleep .001 || usleep 1 || sleep 1 } + +ftrace_errlog_check() { # err-prefix command-with-error-pos-by-^ command-file + pos=$(echo -n "${2%^*}" | wc -c) # error position + command=$(echo "$2" | tr -d ^) + echo "Test command: $command" + echo > error_log + (! echo "$command" > "$3" ) 2> /dev/null + grep "$1: error:" -A 3 error_log + N=$(tail -n 1 error_log | wc -c) + # " Command: " and "^\n" => 13 + test $(expr 13 + $pos) -eq $N +} diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc index 7eb577b1d222..29faaec942c6 100644 --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc @@ -7,15 +7,7 @@ [ -f error_log ] || exit_unsupported check_error() { # command-with-error-pos-by-^ -pos=$(echo -n "${1%^*}" | wc -c) # error position -command=$(echo "$1" | tr -d ^) -echo "Test command: $command" -echo > error_log -(! echo "$command" > kprobe_events ) 2> /dev/null -grep "trace_kprobe: error:" -A 3 error_log -N=$(tail -n 1 error_log | wc -c) -# " Command: " and "^\n" => 13 -test $(expr 13 + $pos) -eq $N + ftrace_errlog_check 'trace_kprobe' "$1" 'kprobe_events' } if grep -q 'r\[maxactive\]' README; then diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc b/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc index ec7389b7934b..14229d5778a0 100644 --- a/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc +++ b/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc @@ -7,15 +7,7 @@ [ -f error_log ] || exit_unsupported check_error() { # command-with-error-pos-by-^ -pos=$(echo -n "${1%^*}" | wc -c) # error position -command=$(echo "$1" | tr -d ^) -echo "Test command: $command" -echo > error_log -(! echo "$command" > uprobe_events ) 2> /dev/null -grep "trace_uprobe: error:" -A 3 error_log -N=$(tail -n 1 error_log | wc -c) -# " Command: " and "^\n" => 13 -test $(expr 13 + $pos) -eq $N + ftrace_errlog_check 'trace_uprobe' "$1" 'uprobe_events' } check_error 'p ^/non_exist_file:100' # FILE_NOT_FOUND -- cgit v1.2.3-59-g8ed1b