aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing-Yuan Huang <laszio@chromium.org>2018-03-12 12:03:05 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-03-13 00:57:32 -0700
commit4c65a3d0f1bb487c94d3e14858505dcf03e5dbf3 (patch)
tree32cb7098e1a41ae5dc74ca17f6380b17c148b6a9
parentc45f3483271dc6c543af6ef12d353697e2b30b46 (diff)
downloadtoolchain-utils-4c65a3d0f1bb487c94d3e14858505dcf03e5dbf3.tar.gz
cros_utils/buildbot_utils: GetTrybotImage should return a partial URL
It should return a partial URL which is appended to xbuddy://remote/ in crosperf's exp file. BUG=chromium:807029 TEST=cros_utils/buildbot_utils_unittest.py buildbot_test_toolchains.py Change-Id: I1297b4ce586173d8ad97f6c30f989f826050e72b Reviewed-on: https://chromium-review.googlesource.com/959361 Commit-Ready: Ting-Yuan Huang <laszio@chromium.org> Tested-by: Ting-Yuan Huang <laszio@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org>
-rw-r--r--cros_utils/buildbot_utils.py17
-rwxr-xr-xcros_utils/buildbot_utils_unittest.py11
2 files changed, 17 insertions, 11 deletions
diff --git a/cros_utils/buildbot_utils.py b/cros_utils/buildbot_utils.py
index b5d93398..dcc4b57e 100644
--- a/cros_utils/buildbot_utils.py
+++ b/cros_utils/buildbot_utils.py
@@ -41,9 +41,10 @@ def PeekTrybotImage(chromeos_root, buildbucket_id):
chromeos_root: root dir of chrome os checkout
Returns:
- (status, url) where status can be 'pass', 'fail', 'running'
+ (status, url) where status can be 'pass', 'fail', 'running',
+ and url looks like:
+ gs://chromeos-image-archive/trybot-elm-release-tryjob/R67-10468.0.0-b20789
"""
- TEST_IMAGE_FILENAME = 'chromiumos_test_image.tar.xz'
command = ('cros buildresult --report json --buildbucket-id %s' %
buildbucket_id)
rc, out, _ = RunCommandInPath(chromeos_root, command)
@@ -55,8 +56,7 @@ def PeekTrybotImage(chromeos_root, buildbucket_id):
results = json.loads(out)[buildbucket_id]
- return (results['status'],
- os.path.join(results['artifacts_url'], TEST_IMAGE_FILENAME))
+ return (results['status'], results['artifacts_url'].rstrip('/'))
def ParseTryjobBuildbucketId(msg):
@@ -149,7 +149,8 @@ def GetTrybotImage(
async: don't wait for artifacts; just return the buildbucket id
Returns:
- (buildbucket id, image url)
+ (buildbucket id, partial image url) e.g.
+ (8952271933586980528, trybot-elm-release-tryjob/R67-10480.0.0-b2373596)
"""
buildbucket_id = SubmitTryjob(chromeos_root, buildbot_name, patch_list,
build_tag, tryjob_flags, build_toolchain)
@@ -191,6 +192,12 @@ def GetTrybotImage(
logger.GetLogger().LogError('Trybot job %s (buildbucket id: %s) failed with'
'status %s; no trybot image generated. ' %
(build_tag, buildbucket_id, status))
+ else:
+ # Convert full gs path to what crosperf expects. For example, convert
+ # gs://chromeos-image-archive/trybot-elm-release-tryjob/R67-10468.0.0-b20789
+ # to
+ # trybot-elm-release-tryjob/R67-10468.0.0-b20789
+ image = '/'.join(image.split('/')[-2:])
logger.GetLogger().LogOutput("image is '%s'" % image)
logger.GetLogger().LogOutput('status is %s' % status)
diff --git a/cros_utils/buildbot_utils_unittest.py b/cros_utils/buildbot_utils_unittest.py
index 8efa07d7..5d3ae40d 100755
--- a/cros_utils/buildbot_utils_unittest.py
+++ b/cros_utils/buildbot_utils_unittest.py
@@ -51,7 +51,7 @@ class TrybotTest(unittest.TestCase):
return ('running', '')
return ('pass',
'gs://chromeos-image-archive/trybot-elm-release-tryjob/'
- 'R67-10468.0.0-b20789/chromiumos_test_image.tar.xz')
+ 'R67-10468.0.0-b20789')
mock_peek.side_effect = peek
mock_submit.return_value = self.buildbucket_id
@@ -59,9 +59,8 @@ class TrybotTest(unittest.TestCase):
buildbucket_id, image = buildbot_utils.GetTrybotImage(
'/tmp', 'falco-release-tryjob', [], 'description')
self.assertEqual(buildbucket_id, self.buildbucket_id)
- self.assertEqual('gs://chromeos-image-archive/'
- 'trybot-elm-release-tryjob/'
- 'R67-10468.0.0-b20789/chromiumos_test_image.tar.xz',
+ self.assertEqual('trybot-elm-release-tryjob/'
+ 'R67-10468.0.0-b20789',
image)
# async
@@ -86,7 +85,7 @@ class TrybotTest(unittest.TestCase):
status, image = buildbot_utils.PeekTrybotImage('/', self.buildbucket_id)
self.assertEqual('pass', status)
self.assertEqual('gs://chromeos-image-archive/trybot-elm-release-tryjob/'
- 'R67-10468.0.0-b20789/chromiumos_test_image.tar.xz',
+ 'R67-10468.0.0-b20789',
image)
# running
@@ -101,7 +100,7 @@ class TrybotTest(unittest.TestCase):
status, image = buildbot_utils.PeekTrybotImage('/', self.buildbucket_id)
self.assertEqual('fail', status)
self.assertEqual('gs://chromeos-image-archive/trybot-elm-release-tryjob/'
- 'R67-10468.0.0-b20789/chromiumos_test_image.tar.xz',
+ 'R67-10468.0.0-b20789',
image)
def testParseTryjobBuildbucketId(self):