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 --]
next prev parent 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).