Index: build/android/device_status_check.py |
diff --git a/build/android/device_status_check.py b/build/android/device_status_check.py |
index b3447cae0f42bbb3e6bd1521baf13c48e5b7b8e8..0aa29c0b58faedac96f9125388e76c2b18621062 100755 |
--- a/build/android/device_status_check.py |
+++ b/build/android/device_status_check.py |
@@ -8,6 +8,8 @@ |
import optparse |
import os |
+import smtplib |
+import string |
import sys |
from pylib import buildbot_report |
@@ -70,15 +72,38 @@ def CheckForMissingDevices(options, adb_online_devs): |
missing_devs = list(set(last_devices) - set(adb_online_devs)) |
if missing_devs: |
+ from_address = 'buildbot@chromium.org' |
+ to_address = 'clank-infrastructure-team@google.com' |
Isaac (away)
2012/09/29 03:17:04
Suggest we add a keyword to this to make it easier
Isaac (away)
2012/09/29 03:33:08
You can ignore this earlier comment. But we can't
navabi1
2012/10/01 21:52:15
Done.
|
+ script_path_list = os.getcwd().split('/') |
+ # Assumes name of bot is after .../build/slave/<BOT NAME>/... |
Isaac (away)
2012/09/29 03:17:04
I think cleaner to either use environment variable
navabi1
2012/10/01 21:52:15
Done.
|
+ slave_index = script_path_list.index('slave') |
+ bot_name = script_path_list[slave_index + 1] |
+ subject = 'Device not detected on %s' % bot_name |
Isaac (away)
2012/09/29 03:17:04
Several of the testers have the same name (they're
navabi1
2012/10/01 21:52:15
Rather than pass FACTORY_PROPERTIES, I'll use the
Isaac (away)
2012/10/01 22:35:45
sg
|
+ |
buildbot_report.PrintWarning() |
- buildbot_report.PrintSummaryText( |
- '%d devices not detected.' % len(missing_devs)) |
- print 'Current online devices: %s' % adb_online_devs |
- print '%s are no longer visible. Were they removed?\n' % missing_devs |
- print 'SHERIFF: See go/chrome_device_monitor' |
- print 'Cache file: %s\n\n' % last_devices_path |
- print 'adb devices' |
- print GetCmdOutput(['adb', 'devices']) |
+ devices_missing_msg = '%d devices not detected.' % len(missing_devs) |
+ buildbot_report.PrintSummaryText(devices_missing_msg) |
+ |
+ body = string.join(( |
Isaac (away)
2012/09/29 03:17:04
nit: python will implicitly join strings that are
navabi1
2012/10/01 21:52:15
I prefer to leave it like this. While it is clean
Isaac (away)
2012/10/01 22:35:45
sg, was confused by the string.join
|
+ 'Current online devices: %s' % adb_online_devs, |
+ '%s are no longer visible. Were they removed?\n' % missing_devs, |
+ 'SHERIFF: See go/clank/engineering/buildbots/troubleshooting', |
+ 'Cache file: %s\n\n' % last_devices_path, |
+ 'adb devices', GetCmdOutput(['adb', 'devices'])), "\r\n") |
+ |
+ msg_body = string.join(( |
+ "From: %s" % from_address, |
+ "To: %s" % to_address, |
+ "Subject: %s" % subject, |
+ "", |
+ body), "\r\n") |
+ |
+ print body |
+ |
+ # Send email from to clank infra |
+ server = smtplib.SMTP('localhost') |
+ server.sendmail(from_address, [to_address], msg_body) |
+ server.quit() |
else: |
new_devs = set(adb_online_devs) - set(last_devices) |
if new_devs and os.path.exists(last_devices_path): |