tracetool: add out_lineno and out_next_lineno to out()
Make the output file line number and next line number available to out(). A later patch will use this to improve error messages. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20200827142915.108730-3-stefanha@redhat.com>
This commit is contained in:
parent
c05012a365
commit
294170c1dd
@ -31,6 +31,7 @@ def error(*lines):
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
out_lineno = 1
|
||||||
out_filename = '<none>'
|
out_filename = '<none>'
|
||||||
out_fobj = sys.stdout
|
out_fobj = sys.stdout
|
||||||
|
|
||||||
@ -45,12 +46,19 @@ def out(*lines, **kwargs):
|
|||||||
You can use kwargs as a shorthand for mapping variables when formatting all
|
You can use kwargs as a shorthand for mapping variables when formatting all
|
||||||
the strings in lines.
|
the strings in lines.
|
||||||
|
|
||||||
The 'out_filename' kwarg is automatically added with the output filename.
|
The 'out_lineno' kwarg is automatically added to reflect the current output
|
||||||
|
file line number. The 'out_next_lineno' kwarg is also automatically added
|
||||||
|
with the next output line number. The 'out_filename' kwarg is automatically
|
||||||
|
added with the output filename.
|
||||||
"""
|
"""
|
||||||
|
global out_lineno
|
||||||
output = []
|
output = []
|
||||||
for l in lines:
|
for l in lines:
|
||||||
|
kwargs['out_lineno'] = out_lineno
|
||||||
|
kwargs['out_next_lineno'] = out_lineno + 1
|
||||||
kwargs['out_filename'] = out_filename
|
kwargs['out_filename'] = out_filename
|
||||||
output.append(l % kwargs)
|
output.append(l % kwargs)
|
||||||
|
out_lineno += 1
|
||||||
|
|
||||||
out_fobj.writelines("\n".join(output) + "\n")
|
out_fobj.writelines("\n".join(output) + "\n")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user