diff options
author | Garming Sam <garming@catalyst.net.nz> | 2016-03-14 14:18:54 +1300 |
---|---|---|
committer | Garming Sam <garming@samba.org> | 2016-05-03 08:10:10 +0200 |
commit | 3751ffbbe75524984a822d65f623a040ca79c8f7 (patch) | |
tree | 909d053c2f0bba34cacbfc47b5f7080076c3ad15 /script | |
parent | 81f4e5383f1035716da0e9683521492e14cc250b (diff) | |
download | samba-3751ffbbe75524984a822d65f623a040ca79c8f7.tar.gz |
autobuild: Return the last 50 log lines
This means that you don't have to deal with tars for quickly determining
the cause of a failure.
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'script')
-rwxr-xr-x | script/autobuild.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/script/autobuild.py b/script/autobuild.py index 4cad9203339..1b756caa8e2 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -566,7 +566,7 @@ def send_email(subject, text, log_tar): s.quit() def email_failure(status, failed_task, failed_stage, failed_tag, errstr, - elapsed_time, log_base=None): + elapsed_time, log_base=None, add_log_tail=True): '''send an email to options.email about the failure''' elapsed_minutes = elapsed_time / 60.0 user = os.getenv("USER") @@ -604,6 +604,23 @@ The top commit for the tree that was built was: ''' % (log_base, failed_tag, log_base, failed_tag, log_base, top_commit_msg) + if add_log_tail: + f = open("%s/%s.stdout" % (gitroot, failed_tag), 'r') + lines = f.readlines() + log_tail = "".join(lines[-50:]) + num_lines = len(lines) + if num_lines < 50: + # Also include stderr (compile failures) if < 50 lines of stdout + f = open("%s/%s.stderr" % (gitroot, failed_tag), 'r') + log_tail += "".join(f.readlines()[-(50-num_lines):]) + + text += ''' +The last 50 lines of log messages: + +%s + ''' % log_tail + f.close() + logs = os.path.join(gitroot, 'logs.tar.gz') send_email('autobuild failure on %s for task %s during %s' % (platform.node(), failed_task, failed_stage), |