Enable capability of checking remote test results.
BUG=crosbug:13806
TEST=http://chromeos-autotest.cbf.corp.google.com:8026/waterfall?branch=&builder=x86-mario+mock-canary&committer=&reload=60
Change-Id: I42997a91cbcf813976ae7859c8d9536548b0546e
Reviewed-on: http://gerrit.chromium.org/gerrit/1512
Tested-by: Mike Truty <truty@chromium.org>
Reviewed-by: Mike Truty <truty@chromium.org>
diff --git a/buildbot/cbuildbot.py b/buildbot/cbuildbot.py
index f7d029a..7593372 100755
--- a/buildbot/cbuildbot.py
+++ b/buildbot/cbuildbot.py
@@ -96,6 +96,9 @@
if options.tests:
stages.TestStage(bot_id, options, build_config).Run()
+ if options.remote_test_status:
+ stages.RemoteTestStatusStage(bot_id, options, build_config).Run()
+
# Control master / slave logic here.
if build_config['master']:
if cbuildbot_comm.HaveSlavesCompleted(cbuildbot_config.config):
@@ -203,6 +206,8 @@
parser.add_option('--notests', action='store_false', dest='tests',
default=True,
help='Override values from buildconfig and run no tests.')
+ parser.add_option('--remoteteststatus', dest='remote_test_status',
+ default=None, help='List of remote jobs to check status')
parser.add_option('--resume', action='store_true',
default=False,
help='Skip stages already successfully completed.')
diff --git a/buildbot/cbuildbot_stages.py b/buildbot/cbuildbot_stages.py
index e152d45..e8a198e 100644
--- a/buildbot/cbuildbot_stages.py
+++ b/buildbot/cbuildbot_stages.py
@@ -473,6 +473,20 @@
self._build_root, test_results_dir)
+class RemoteTestStatusStage(BuilderStage):
+ """Stage that performs testing steps."""
+ def _PerformStage(self):
+ test_status_cmd = ['./crostools/get_test_status.py',
+ '--board=%s' % self._build_config['board'],
+ '--build=%s' % self._options.buildnumber]
+ for job in self._options.remote_test_status.split(','):
+ result = cros_lib.RunCommand(
+ test_status_cmd + ['--category=%s' % job],
+ redirect_stdout=True, print_cmd=False)
+ # Emit annotations for buildbot status updates.
+ print result.output
+
+
class ArchiveStage(BuilderStage):
"""Archives build and test artifacts for developer consumption."""
def _PerformStage(self):