On Mon, Sep 22, 2014 at 12:35:22PM -0500, Lluís Vilanova wrote: > Stefan Hajnoczi writes: > > > Use \w for properties and trace event names since they are both drawn > > from [a-zA-Z0-9_] character sets. > > > The .* for matching properties was too aggressive and caused the > > following failure with foo(int rc) "(this is a test)": > > > Traceback (most recent call last): > > File "scripts/tracetool.py", line 139, in <module> > > main(sys.argv) > > File "scripts/tracetool.py", line 134, in main > > binary=binary, probe_prefix=probe_prefix) > > File "scripts/tracetool/__init__.py", line 334, in generate > > events = _read_events(fevents) > > File "scripts/tracetool/__init__.py", line 262, in _read_events > > res.append(Event.build(line)) > > File "scripts/tracetool/__init__.py", line 225, in build > > return Event(name, props, fmt, args, arg_fmts) > > File "scripts/tracetool/__init__.py", line 185, in __init__ > > % ", ".join(unknown_props)) > > ValueError: Unknown properties: foo(int, rc) > > > Cc: Lluís Vilanova <vilan...@ac.upc.edu> > > Reported-by: Eric Auger <eric.au...@linaro.org> > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > > --- > > scripts/tracetool/__init__.py | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > > index 36c789d..474f11b 100644 > > --- a/scripts/tracetool/__init__.py > > +++ b/scripts/tracetool/__init__.py > > @@ -140,8 +140,8 @@ class Event(object): > > The format strings for each argument. > > """ > > > - _CRE = re.compile("((?P<props>.*)\s+)?" > > - "(?P<name>[^(\s]+)" > > + _CRE = re.compile("((?P<props>\w*)\s+)?" > > + "(?P<name>\w+)" > > "\((?P<args>[^)]*)\)" > > "\s*" > > "(?:(?:(?P<fmt_trans>\".+),)?\s*(?P<fmt>\".+))?" > > The previous implementation allowed multiple properties. Maybe this should be > instead (which still allows multiple properties): > > "((?P<props>[\w\s]+)\s+)?" > "(?P<name>\w+)\s*" > ...
Ooops, good point! I will send v2. Stefan
pgpU9wBmHYAv9.pgp
Description: PGP signature