diff options
-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): |