summary refs log tree commit diff stats
path: root/scripts/tracetool/__init__.py
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2018-01-10 20:25:51 +0000
committerStefan Hajnoczi <stefanha@redhat.com>2018-01-29 10:34:55 +0000
commit5069b561894206b65a16c3b8cfebd6b3e76c61d6 (patch)
treeb75aa2d0ab03abc3d86876f25509bb3240484073 /scripts/tracetool/__init__.py
parent6233b4a8c2a32ef6955a921246fa08705bbb3676 (diff)
downloadfocaccia-qemu-5069b561894206b65a16c3b8cfebd6b3e76c61d6.tar.gz
focaccia-qemu-5069b561894206b65a16c3b8cfebd6b3e76c61d6.zip
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>
Diffstat (limited to 'scripts/tracetool/__init__.py')
-rw-r--r--scripts/tracetool/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py
index 0670ec17d5..a744e26f91 100644
--- a/scripts/tracetool/__init__.py
+++ b/scripts/tracetool/__init__.py
@@ -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: