Improve diagnostic output when an external command returns a non-zero exit

code, showing the transcript for that command.

This closes SF bug #129740.
This commit is contained in:
Fred Drake 2001-02-04 15:20:26 +00:00
parent f36fb69fd2
commit 4e3f2752c5

View File

@ -442,6 +442,9 @@ class Job:
self.warning(
"Session transcript and error messages are in %s."
% self.log_filename)
sys.stderr.write("The relevant lines from the transcript are:\n")
sys.stderr.write("-" * 72 + "\n")
sys.stderr.writelines(get_run_transcript(self.log_filename))
sys.exit(rc)
def message(self, msg):
@ -461,7 +464,23 @@ class Job:
fp.close()
def get_run_transcript(filename):
"""Return lines from the transcript file for the most recent run() call."""
fp = open(filename)
lines = fp.readlines()
fp.close()
lines.reverse()
L = []
for line in lines:
L.append(line)
if line[:4] == "+++ ":
break
L.reverse()
return L
def safe_unlink(path):
"""Unlink a file without raising an error if it doesn't exist."""
try:
os.unlink(path)
except os.error: