diff options
author | Ting-Yuan Huang <laszio@chromium.org> | 2018-03-12 12:03:05 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-03-13 00:57:32 -0700 |
commit | 4c65a3d0f1bb487c94d3e14858505dcf03e5dbf3 (patch) | |
tree | 32cb7098e1a41ae5dc74ca17f6380b17c148b6a9 | |
parent | c45f3483271dc6c543af6ef12d353697e2b30b46 (diff) | |
download | toolchain-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.py | 17 | ||||
-rwxr-xr-x | cros_utils/buildbot_utils_unittest.py | 11 |
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): |