tracetool: prefix parse errors with line numbers

Include the file line number in the message that is printed when
trace-events parse errors are raised.

[Use enumerate(fobj, 1) to avoid having to increment a 0-based index
later, as suggested by Eric Blake.
--Stefan]

Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20180110202553.31889-2-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Stefan Hajnoczi 2018-01-10 20:25:51 +00:00
parent 6233b4a8c2
commit 5069b56189

View File

@ -300,13 +300,18 @@ def read_events(fobj):
"""
events = []
for line in fobj:
for lineno, line in enumerate(fobj, 1):
if not line.strip():
continue
if line.lstrip().startswith('#'):
continue
event = Event.build(line)
try:
event = Event.build(line)
except ValueError as e:
arg0 = 'Error on line %d: %s' % (lineno, e.args[0])
e.args = (arg0,) + e.args[1:]
raise
# transform TCG-enabled events
if "tcg" not in event.properties: