qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Cleber Rosa <crosa@redhat.com>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	Eduardo Habkost <ehabkost@redhat.com>
Subject: Re: [PATCH 3/4] tracetool: add input filename and line number to Event
Date: Mon, 31 Aug 2020 22:20:26 +0200	[thread overview]
Message-ID: <CAAdtpL67FPFB8hW7WZ-ZjLM-_oHbXgNWaGELTby8RjyscYHKvQ@mail.gmail.com> (raw)
In-Reply-To: <20200827142915.108730-4-stefanha@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 4036 bytes --]

Le jeu. 27 août 2020 16:32, Stefan Hajnoczi <stefanha@redhat.com> a écrit :

> Store the input filename and line number in Event.
>
> A later patch will use this to improve error messages.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

---
>  scripts/tracetool/__init__.py | 27 ++++++++++++++++++++++-----
>  1 file changed, 22 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py
> index e4ee4d5e61..1a6e2fa64a 100644
> --- a/scripts/tracetool/__init__.py
> +++ b/scripts/tracetool/__init__.py
> @@ -218,6 +218,10 @@ class Event(object):
>          Properties of the event.
>      args : Arguments
>          The event arguments.
> +    lineno : int
> +        The line number in the input file.
> +    filename : str
> +        The path to the input file.
>
>      """
>
> @@ -230,7 +234,7 @@ class Event(object):
>
>      _VALID_PROPS = set(["disable", "tcg", "tcg-trans", "tcg-exec",
> "vcpu"])
>
> -    def __init__(self, name, props, fmt, args, orig=None,
> +    def __init__(self, name, props, fmt, args, lineno, filename,
> orig=None,
>                   event_trans=None, event_exec=None):
>          """
>          Parameters
> @@ -243,6 +247,10 @@ class Event(object):
>              Event printing format string(s).
>          args : Arguments
>              Event arguments.
> +        lineno : int
> +            The line number in the input file.
> +        filename : str
> +            The path to the input file.
>          orig : Event or None
>              Original Event before transformation/generation.
>          event_trans : Event or None
> @@ -255,6 +263,8 @@ class Event(object):
>          self.properties = props
>          self.fmt = fmt
>          self.args = args
> +        self.lineno = int(lineno)
> +        self.filename = str(filename)
>          self.event_trans = event_trans
>          self.event_exec = event_exec
>
> @@ -276,16 +286,21 @@ class Event(object):
>      def copy(self):
>          """Create a new copy."""
>          return Event(self.name, list(self.properties), self.fmt,
> -                     self.args.copy(), self, self.event_trans,
> self.event_exec)
> +                     self.args.copy(), self.lineno, self.filename,
> +                     self, self.event_trans, self.event_exec)
>
>      @staticmethod
> -    def build(line_str):
> +    def build(line_str, lineno, filename):
>          """Build an Event instance from a string.
>
>          Parameters
>          ----------
>          line_str : str
>              Line describing the event.
> +        lineno : int
> +            Line number in input file.
> +        filename : str
> +            Path to input file.
>          """
>          m = Event._CRE.match(line_str)
>          assert m is not None
> @@ -315,7 +330,7 @@ class Event(object):
>          if "tcg" in props and isinstance(fmt, str):
>              raise ValueError("Events with 'tcg' property must have two
> format strings")
>
> -        event = Event(name, props, fmt, args)
> +        event = Event(name, props, fmt, args, lineno, filename)
>
>          # add implicit arguments when using the 'vcpu' property
>          import tracetool.vcpu
> @@ -360,6 +375,8 @@ class Event(object):
>                       list(self.properties),
>                       self.fmt,
>                       self.args.transform(*trans),
> +                     self.lineno,
> +                     self.filename,
>                       self)
>
>
> @@ -386,7 +403,7 @@ def read_events(fobj, fname):
>              continue
>
>          try:
> -            event = Event.build(line)
> +            event = Event.build(line, lineno, fname)
>          except ValueError as e:
>              arg0 = 'Error at %s:%d: %s' % (fname, lineno, e.args[0])
>              e.args = (arg0,) + e.args[1:]
> --
> 2.26.2
>
>

[-- Attachment #2: Type: text/html, Size: 5768 bytes --]

  reply	other threads:[~2020-08-31 21:32 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-27 14:29 [PATCH 0/4] tracetool: show trace-events filename/lineno in fmt string errors Stefan Hajnoczi
2020-08-27 14:29 ` [PATCH 1/4] tracetool: add output filename command-line argument Stefan Hajnoczi
2020-08-31 20:17   ` Philippe Mathieu-Daudé
2020-09-01 12:55   ` Peter Maydell
2020-08-27 14:29 ` [PATCH 2/4] tracetool: add out_lineno and out_next_lineno to out() Stefan Hajnoczi
2020-09-01 12:49   ` Peter Maydell
2020-08-27 14:29 ` [PATCH 3/4] tracetool: add input filename and line number to Event Stefan Hajnoczi
2020-08-31 20:20   ` Philippe Mathieu-Daudé [this message]
2020-09-01 12:50   ` Peter Maydell
2020-08-27 14:29 ` [PATCH 4/4] tracetool: show trace-events filename/lineno in fmt string errors Stefan Hajnoczi
2020-08-27 14:59   ` Peter Maydell
2020-08-28 15:36     ` Stefan Hajnoczi
2020-09-01 12:52   ` Peter Maydell
2020-12-08 14:20 ` [PATCH 0/4] " Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAdtpL67FPFB8hW7WZ-ZjLM-_oHbXgNWaGELTby8RjyscYHKvQ@mail.gmail.com \
    --to=f4bug@amsat.org \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).