summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornednguyen <nednguyen@google.com>2015-08-07 18:58:24 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-08 01:59:11 +0000
commita82070d502b6ff55f86723fb7cf7efa0d5ddb9b3 (patch)
tree1e6286c8317ef6d8c5e737b93f98391c4c5fb336
parente4f9ee84fa195e4f2d83ca377457c13259005603 (diff)
downloadchromium_src-a82070d502b6ff55f86723fb7cf7efa0d5ddb9b3.zip
chromium_src-a82070d502b6ff55f86723fb7cf7efa0d5ddb9b3.tar.gz
chromium_src-a82070d502b6ff55f86723fb7cf7efa0d5ddb9b3.tar.bz2
[Telemetry] Fix browser_backend UploadLog method
BUG=512622 Review URL: https://codereview.chromium.org/1273393005 Cr-Commit-Position: refs/heads/master@{#342503}
-rw-r--r--tools/telemetry/telemetry/internal/backends/browser_backend.py3
-rw-r--r--tools/telemetry/telemetry/internal/backends/browser_backend_unittest.py36
2 files changed, 37 insertions, 2 deletions
diff --git a/tools/telemetry/telemetry/internal/backends/browser_backend.py b/tools/telemetry/telemetry/internal/backends/browser_backend.py
index fd8ad9f..6e3de6c 100644
--- a/tools/telemetry/telemetry/internal/backends/browser_backend.py
+++ b/tools/telemetry/telemetry/internal/backends/browser_backend.py
@@ -42,7 +42,6 @@ class BrowserBackend(app_backend.AppBackend):
# Specific browser backend is responsible for overriding this properly.
raise NotImplementedError
- @property
def UploadLogsToCloudStorage(self):
""" Uploading log files produce by this browser instance to cloud storage.
@@ -53,7 +52,7 @@ class BrowserBackend(app_backend.AppBackend):
bucket=self.browser_options.logs_cloud_bucket,
remote_path=self.browser_options.logs_cloud_remote_path,
local_path=self.log_file_path)
- sys.stderr.write('Uploading browser log to %s' % cloud_url)
+ sys.stderr.write('Uploading browser log to %s\n' % cloud_url)
@property
def browser(self):
diff --git a/tools/telemetry/telemetry/internal/backends/browser_backend_unittest.py b/tools/telemetry/telemetry/internal/backends/browser_backend_unittest.py
new file mode 100644
index 0000000..5ab1216
--- /dev/null
+++ b/tools/telemetry/telemetry/internal/backends/browser_backend_unittest.py
@@ -0,0 +1,36 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+import unittest
+
+from telemetry.internal.backends import browser_backend
+from telemetry.testing import options_for_unittests
+
+
+from telemetry.core import util
+util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock')
+import mock
+
+
+class BrowserBackendLogsUploadingUnittest(unittest.TestCase):
+ def testUploadingToCLoudStorage(self):
+ # pylint: disable=abstract-method
+ class FakeBrowserBackend(browser_backend.BrowserBackend):
+ @property
+ def supports_uploading_logs(self):
+ return True
+
+ @property
+ def log_file_path(self):
+ return '/foo/bar'
+
+ options = options_for_unittests.GetCopy()
+ options.browser_options.enable_logging = True
+ options.browser_options.logs_cloud_bucket = 'ABC'
+ options.browser_options.logs_cloud_remote_path = 'def'
+
+ b = FakeBrowserBackend(None, False, options.browser_options, None)
+ with mock.patch('catapult_base.cloud_storage.Insert') as mock_insert:
+ b.UploadLogsToCloudStorage()
+ mock_insert.assert_called_with(
+ bucket='ABC', remote_path='def', local_path='/foo/bar')