On Sun, Nov 02, 2014 at 10:37:59PM +0100, christoph.seif...@posteo.de wrote: > From: Christoph Seifert <christoph.seif...@posteo.de> > > simpletrace.py does not recognize the tcg option while reading trace-events > file. In result simpletrace does not work on binary traces and tcg enabled > events. Moved transformation of tcg enabled events to _read_events() which is > used by simpletrace. > > Signed-off-by: Christoph Seifert <christoph.seif...@posteo.de> > --- > scripts/tracetool/__init__.py | 67 > +++++++++++++++++++++---------------------- > 1 file changed, 33 insertions(+), 34 deletions(-)
Looks good to me. Lluís: Any comments? > diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py > index 3d5743f..181675f 100644 > --- a/scripts/tracetool/__init__.py > +++ b/scripts/tracetool/__init__.py > @@ -253,14 +253,44 @@ class Event(object): > > > def _read_events(fobj): > - res = [] > + events = [] > for line in fobj: > if not line.strip(): > continue > if line.lstrip().startswith('#'): > continue > - res.append(Event.build(line)) > - return res > + > + event = Event.build(line) > + > + # transform TCG-enabled events > + if "tcg" not in event.properties: > + events.append(event) > + else: > + event_trans = event.copy() > + event_trans.name += "_trans" > + event_trans.properties += ["tcg-trans"] > + event_trans.fmt = event.fmt[0] > + args_trans = [] > + for atrans, aorig in zip( > + > event_trans.transform(tracetool.transform.TCG_2_HOST).args, > + event.args): > + if atrans == aorig: > + args_trans.append(atrans) > + event_trans.args = Arguments(args_trans) > + event_trans = event_trans.copy() > + > + event_exec = event.copy() > + event_exec.name += "_exec" > + event_exec.properties += ["tcg-exec"] > + event_exec.fmt = event.fmt[1] > + event_exec = event_exec.transform(tracetool.transform.TCG_2_HOST) > + > + new_event = [event_trans, event_exec] > + event.event_trans, event.event_exec = new_event > + > + events.extend(new_event) > + > + return events > > > class TracetoolError (Exception): > @@ -333,35 +363,4 @@ def generate(fevents, format, backends, > > events = _read_events(fevents) > > - # transform TCG-enabled events > - new_events = [] > - for event in events: > - if "tcg" not in event.properties: > - new_events.append(event) > - else: > - event_trans = event.copy() > - event_trans.name += "_trans" > - event_trans.properties += ["tcg-trans"] > - event_trans.fmt = event.fmt[0] > - args_trans = [] > - for atrans, aorig in zip( > - > event_trans.transform(tracetool.transform.TCG_2_HOST).args, > - event.args): > - if atrans == aorig: > - args_trans.append(atrans) > - event_trans.args = Arguments(args_trans) > - event_trans = event_trans.copy() > - > - event_exec = event.copy() > - event_exec.name += "_exec" > - event_exec.properties += ["tcg-exec"] > - event_exec.fmt = event.fmt[1] > - event_exec = event_exec.transform(tracetool.transform.TCG_2_HOST) > - > - new_event = [event_trans, event_exec] > - event.event_trans, event.event_exec = new_event > - > - new_events.extend(new_event) > - events = new_events > - > tracetool.format.generate(events, format, backend) > -- > 2.1.3 > >
pgpVcJQLV0gqx.pgp
Description: PGP signature