Currently, python tracebacks shows the last of continuation lines
when a function spans across multiple lines. This line usually
contains some function parameter only and thus is not very useful
for debugging the problem.
For example:
Traceback (most recent call last):
File "./tcms-run", line 48, in <module>
summary=options.summary)
File "/tmp/nitrate/Nitrate.py", line 600, in __init__
raise NitrateError("Need either id or test plan")
If the traceback contained the beginning of the continuation line
it would be IMHO much more clear where/how the problem happened.
Traceback (most recent call last):
File "./tcms-run", line 48, in <module>
run = TestRun(plan=plan, distro=options.distro,
File "/tmp/nitrate/Nitrate.py", line 600, in __init__
raise NitrateError("Need either id or test plan")
Version: Both Python 2 and Python 3.
Trivial reproducer:
def fun1(par):
raise Exception
def fun2():
fun1(
par="value")
fun2()
Actual results:
Traceback (most recent call last):
File "/tmp/traceback.py", line 10, in <module>
fun2()
File "/tmp/traceback.py", line 8, in fun2
par="value")
File "/tmp/traceback.py", line 4, in fun1
raise Exception
Exception |