[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] trace: include filename when printing parser er
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH] trace: include filename when printing parser error messages |
Date: |
Tue, 6 Mar 2018 15:47:09 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 03/06/2018 12:46 PM, Daniel P. Berrangé wrote:
> Improves error messages from:
>
> ValueError: Error on line 72: need more than 1 value to unpack
>
> To
>
> ValueError: Error at /home/berrange/src/virt/qemu/trace-events:72:
> need more than 1 value to unpack
>
> Signed-off-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> scripts/simpletrace.py | 4 ++--
> scripts/tracetool.py | 2 +-
> scripts/tracetool/__init__.py | 6 ++++--
> 3 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
> index a3a6315055..fefc0806b8 100755
> --- a/scripts/simpletrace.py
> +++ b/scripts/simpletrace.py
> @@ -168,7 +168,7 @@ class Analyzer(object):
> def process(events, log, analyzer, read_header=True):
> """Invoke an analyzer on each event in a log."""
> if isinstance(events, str):
> - events = read_events(open(events, 'r'))
> + events = read_events(open(events, 'r'), events)
> if isinstance(log, str):
> log = open(log, 'rb')
>
> @@ -233,7 +233,7 @@ def run(analyzer):
> '<trace-file>\n' % sys.argv[0])
> sys.exit(1)
>
> - events = read_events(open(sys.argv[1], 'r'))
> + events = read_events(open(sys.argv[1], 'r'), sys.argv[1])
> process(events, sys.argv[2], analyzer, read_header=read_header)
>
> if __name__ == '__main__':
> diff --git a/scripts/tracetool.py b/scripts/tracetool.py
> index c55a21518b..fe2b0771f2 100755
> --- a/scripts/tracetool.py
> +++ b/scripts/tracetool.py
> @@ -142,7 +142,7 @@ def main(args):
> events = []
> for arg in args:
> with open(arg, "r") as fh:
> - events.extend(tracetool.read_events(fh))
> + events.extend(tracetool.read_events(fh, arg))
>
> try:
> tracetool.generate(events, arg_group, arg_format, arg_backends,
> diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py
> index 52cc687ae3..b645be30d1 100644
> --- a/scripts/tracetool/__init__.py
> +++ b/scripts/tracetool/__init__.py
> @@ -336,13 +336,15 @@ class Event(object):
> self)
>
>
> -def read_events(fobj):
> +def read_events(fobj, fname):
> """Generate the output for the given (format, backends) pair.
>
> Parameters
> ----------
> fobj : file
> Event description file.
> + fname : str
> + Name of event file
>
> Returns a list of Event objects
> """
> @@ -357,7 +359,7 @@ def read_events(fobj):
> try:
> event = Event.build(line)
> except ValueError as e:
> - arg0 = 'Error on line %d: %s' % (lineno, e.args[0])
> + arg0 = 'Error at %s:%d: %s' % (fname, lineno, e.args[0])
> e.args = (arg0,) + e.args[1:]
> raise
>
>