qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

trace: include filename when printing parser error messages

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é <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180306154650.24075-1-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

authored by

Daniel P. Berrangé and committed by
Stefan Hajnoczi
86b5aacf e42860ae

+7 -5
+2 -2
scripts/simpletrace.py
··· 168 168 def process(events, log, analyzer, read_header=True): 169 169 """Invoke an analyzer on each event in a log.""" 170 170 if isinstance(events, str): 171 - events = read_events(open(events, 'r')) 171 + events = read_events(open(events, 'r'), events) 172 172 if isinstance(log, str): 173 173 log = open(log, 'rb') 174 174 ··· 233 233 '<trace-file>\n' % sys.argv[0]) 234 234 sys.exit(1) 235 235 236 - events = read_events(open(sys.argv[1], 'r')) 236 + events = read_events(open(sys.argv[1], 'r'), sys.argv[1]) 237 237 process(events, sys.argv[2], analyzer, read_header=read_header) 238 238 239 239 if __name__ == '__main__':
+1 -1
scripts/tracetool.py
··· 142 142 events = [] 143 143 for arg in args: 144 144 with open(arg, "r") as fh: 145 - events.extend(tracetool.read_events(fh)) 145 + events.extend(tracetool.read_events(fh, arg)) 146 146 147 147 try: 148 148 tracetool.generate(events, arg_group, arg_format, arg_backends,
+4 -2
scripts/tracetool/__init__.py
··· 291 291 self) 292 292 293 293 294 - def read_events(fobj): 294 + def read_events(fobj, fname): 295 295 """Generate the output for the given (format, backends) pair. 296 296 297 297 Parameters 298 298 ---------- 299 299 fobj : file 300 300 Event description file. 301 + fname : str 302 + Name of event file 301 303 302 304 Returns a list of Event objects 303 305 """ ··· 312 314 try: 313 315 event = Event.build(line) 314 316 except ValueError as e: 315 - arg0 = 'Error on line %d: %s' % (lineno, e.args[0]) 317 + arg0 = 'Error at %s:%d: %s' % (fname, lineno, e.args[0]) 316 318 e.args = (arg0,) + e.args[1:] 317 319 raise 318 320