Messages in this thread | | | Subject | Re: [PATCH v3 7/7] selftests/ftrace: Add test case for synthetic event syntax errors | From | Tom Zanussi <> | Date | Thu, 15 Oct 2020 08:59:40 -0500 |
| |
Hi Masami,
On Wed, 2020-10-14 at 11:06 +0900, Masami Hiramatsu wrote: > Hi Tom, > > On Tue, 13 Oct 2020 09:17:58 -0500 > Tom Zanussi <zanussi@kernel.org> wrote: > > > Add a selftest that verifies that the syntax error messages and > > caret > > positions are correct for most of the possible synthetic event > > syntax > > error cases. > > > > Signed-off-by: Tom Zanussi <zanussi@kernel.org> > > --- > > .../trigger-synthetic_event_syntax_errors.tc | 19 > > +++++++++++++++++++ > > 1 file changed, 19 insertions(+) > > create mode 100644 > > tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger- > > synthetic_event_syntax_errors.tc > > > > 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 > > new file mode 100644 > > index 000000000000..ada594fe16cb > > --- /dev/null > > +++ b/tools/testing/selftests/ftrace/test.d/trigger/inter- > > event/trigger-synthetic_event_syntax_errors.tc > > @@ -0,0 +1,19 @@ > > +#!/bin/sh > > +# SPDX-License-Identifier: GPL-2.0 > > +# description: event trigger - test synthetic_events syntax parser > > errors > > +# requires: synthetic_events error_log > > This also requires dynamic strings support. So, its "requires" line > should be > > # requires: synthetic_events error_log "char name[]' >> > synthetic_events":README >
Yes, thanks for reminding me. ;-)
> > + > > +check_error() { # command-with-error-pos-by-^ > > + ftrace_errlog_check 'synthetic_events' "$1" 'synthetic_events' > > +} > > + > > BTW, some errors looks a bit odd. > > > +check_error 'myevent ^chr arg' # INVALID_TYPE > > +check_error 'myevent ^char str[];; int v' # INVALID_TYPE > > I think there is a wrong "void" argument between ";", instead of > invalid type.
Yes, you're right. I think the solution overall is to just treat semicolons as whitespace.
> > > +check_error 'myevent char ^str]; int v' # INVALID_NAME > > +check_error 'myevent char ^str;[]' # INVALID_NAME > > This is also not an invalid name but '[]' is an invalid type. > > > +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 > > Isn't it an incomplete command?
Yes, but also an invalid field. I'll try to refine these errors a bit and make these more consistent.
Tom
> > > +check_error '^myevent' # > > INCOMPLETE_CMD > > + > > +exit 0 > > Thank you, > > > -- > > 2.17.1 > > > >
| |