| From c38859ba5f7a0a120d77a318c9f36b6bf41451b5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 1 Feb 2021 13:48:15 -0600 |
| Subject: selftests/ftrace: Update synthetic event syntax errors |
| |
| From: Tom Zanussi <zanussi@kernel.org> |
| |
| [ Upstream commit b5734e997e1117afb479ffda500e36fa91aea3e8 ] |
| |
| Some of the synthetic event errors and positions have changed in the |
| code - update those and add several more tests. |
| |
| Also add a runtime check to ensure that the kernel supports dynamic |
| strings in synthetic events, which these tests require. |
| |
| Link: https://lkml.kernel.org/r/51402656433455baead34f068c6e9466b64df9c0.1612208610.git.zanussi@kernel.org |
| |
| Fixes: 81ff92a93d95 (selftests/ftrace: Add test case for synthetic event syntax errors) |
| Reported-by: Masami Hiramatsu <mhiramat@kernel.org> |
| Signed-off-by: Tom Zanussi <zanussi@kernel.org> |
| Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| .../trigger-synthetic_event_syntax_errors.tc | 35 ++++++++++++++----- |
| 1 file changed, 27 insertions(+), 8 deletions(-) |
| |
| diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc |
| index ada594fe16cb3..955e3ceea44b5 100644 |
| --- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc |
| +++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic_event_syntax_errors.tc |
| @@ -1,19 +1,38 @@ |
| #!/bin/sh |
| # SPDX-License-Identifier: GPL-2.0 |
| # description: event trigger - test synthetic_events syntax parser errors |
| -# requires: synthetic_events error_log |
| +# requires: synthetic_events error_log "char name[]' >> synthetic_events":README |
| |
| check_error() { # command-with-error-pos-by-^ |
| ftrace_errlog_check 'synthetic_events' "$1" 'synthetic_events' |
| } |
| |
| +check_dyn_error() { # command-with-error-pos-by-^ |
| + ftrace_errlog_check 'synthetic_events' "$1" 'dynamic_events' |
| +} |
| + |
| check_error 'myevent ^chr arg' # INVALID_TYPE |
| -check_error 'myevent ^char str[];; int v' # INVALID_TYPE |
| -check_error 'myevent char ^str]; int v' # INVALID_NAME |
| -check_error 'myevent char ^str;[]' # INVALID_NAME |
| -check_error 'myevent ^char str[; int v' # INVALID_TYPE |
| -check_error '^mye;vent char str[]' # BAD_NAME |
| -check_error 'myevent char str[]; ^int' # INVALID_FIELD |
| -check_error '^myevent' # INCOMPLETE_CMD |
| +check_error 'myevent ^unsigned arg' # INCOMPLETE_TYPE |
| + |
| +check_error 'myevent char ^str]; int v' # BAD_NAME |
| +check_error '^mye-vent char str[]' # BAD_NAME |
| +check_error 'myevent char ^st-r[]' # BAD_NAME |
| + |
| +check_error 'myevent char str;^[]' # INVALID_FIELD |
| +check_error 'myevent char str; ^int' # INVALID_FIELD |
| + |
| +check_error 'myevent char ^str[; int v' # INVALID_ARRAY_SPEC |
| +check_error 'myevent char ^str[kdjdk]' # INVALID_ARRAY_SPEC |
| +check_error 'myevent char ^str[257]' # INVALID_ARRAY_SPEC |
| + |
| +check_error '^mye;vent char str[]' # INVALID_CMD |
| +check_error '^myevent ; char str[]' # INVALID_CMD |
| +check_error '^myevent; char str[]' # INVALID_CMD |
| +check_error '^myevent ;char str[]' # INVALID_CMD |
| +check_error '^; char str[]' # INVALID_CMD |
| +check_error '^;myevent char str[]' # INVALID_CMD |
| +check_error '^myevent' # INVALID_CMD |
| + |
| +check_dyn_error '^s:junk/myevent char str[' # INVALID_DYN_CMD |
| |
| exit 0 |
| -- |
| 2.27.0 |
| |