Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1399)

Unified Diff: telemetry/telemetry/page/cache_temperature_unittest.py

Issue 2704493002: [Telemetry] Fix bug in markers for cache temperature (Closed)
Patch Set: add tests Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « telemetry/telemetry/page/cache_temperature.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: telemetry/telemetry/page/cache_temperature_unittest.py
diff --git a/telemetry/telemetry/page/cache_temperature_unittest.py b/telemetry/telemetry/page/cache_temperature_unittest.py
index cc5cb1f353c26bb8a9ac38601ccba44b9bb51de4..e92e1571c4fedeb965280785f056a83fae75f2c2 100644
--- a/telemetry/telemetry/page/cache_temperature_unittest.py
+++ b/telemetry/telemetry/page/cache_temperature_unittest.py
@@ -2,43 +2,92 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import contextlib
+
from telemetry import decorators
from telemetry import page as page_module
from telemetry import story
from telemetry.page import cache_temperature
from telemetry.testing import browser_test_case
+from telemetry.timeline import trace_data
+from telemetry.timeline import tracing_config
+
class CacheTempeartureTests(browser_test_case.BrowserTestCase):
+ def __init__(self, *args, **kwargs):
+ super(CacheTempeartureTests, self).__init__(*args, **kwargs)
+ self._full_trace = None
+
+ @contextlib.contextmanager
+ def captureTrace(self):
+ tracing_controller = self._browser.platform.tracing_controller
+ options = tracing_config.TracingConfig()
+ options.enable_chrome_trace = True
+ tracing_controller.StartTracing(options)
+ try:
+ yield
+ finally:
+ self._full_trace = tracing_controller.StopTracing()
+
+ def traceMarkers(self):
+ if not self._full_trace:
+ return set()
+
+ chrome_trace = self._full_trace.GetTraceFor(trace_data.CHROME_TRACE_PART)
+ return set(
+ event['name']
+ for event in chrome_trace['traceEvents']
+ if event['cat'] == 'blink.console')
+
@decorators.Enabled('has tabs')
def testEnsureAny(self):
- story_set = story.StorySet()
- page = page_module.Page('http://google.com', page_set=story_set,
- cache_temperature=cache_temperature.ANY)
- cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+ with self.captureTrace():
+ story_set = story.StorySet()
+ page = page_module.Page('http://google.com', page_set=story_set,
+ cache_temperature=cache_temperature.ANY)
+ cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+
+ markers = self.traceMarkers()
+ self.assertNotIn('telemetry.internal.ensure_diskcache.start', markers)
+ self.assertNotIn('telemetry.internal.warmCache.start', markers)
@decorators.Enabled('has tabs')
def testEnsurePCv1Cold(self):
- story_set = story.StorySet()
- page = page_module.Page('http://google.com', page_set=story_set,
- cache_temperature=cache_temperature.PCV1_COLD)
- cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+ with self.captureTrace():
+ story_set = story.StorySet()
+ page = page_module.Page('http://google.com', page_set=story_set,
+ cache_temperature=cache_temperature.PCV1_COLD)
+ cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+
+ markers = self.traceMarkers()
+ self.assertIn('telemetry.internal.ensure_diskcache.start', markers)
+ self.assertIn('telemetry.internal.ensure_diskcache.end', markers)
@decorators.Enabled('has tabs')
def testEnsurePCv1WarmAfterPCv1ColdRun(self):
- story_set = story.StorySet()
- page = page_module.Page('http://google.com', page_set=story_set,
- cache_temperature=cache_temperature.PCV1_COLD)
- cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+ with self.captureTrace():
+ story_set = story.StorySet()
+ page = page_module.Page('http://google.com', page_set=story_set,
+ cache_temperature=cache_temperature.PCV1_COLD)
+ cache_temperature.EnsurePageCacheTemperature(page, self._browser)
- previous_page = page
- page = page_module.Page('http://google.com', page_set=story_set,
- cache_temperature=cache_temperature.PCV1_WARM)
- cache_temperature.EnsurePageCacheTemperature(page, self._browser,
- previous_page)
+ previous_page = page
+ page = page_module.Page('http://google.com', page_set=story_set,
+ cache_temperature=cache_temperature.PCV1_WARM)
+ cache_temperature.EnsurePageCacheTemperature(page, self._browser,
+ previous_page)
+
+ markers = self.traceMarkers()
+ self.assertNotIn('telemetry.internal.warmCache.start', markers)
@decorators.Enabled('has tabs')
def testEnsurePCv1WarmFromScratch(self):
- story_set = story.StorySet()
- page = page_module.Page('http://google.com', page_set=story_set,
- cache_temperature=cache_temperature.PCV1_WARM)
- cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+ with self.captureTrace():
+ story_set = story.StorySet()
+ page = page_module.Page('http://google.com', page_set=story_set,
+ cache_temperature=cache_temperature.PCV1_WARM)
+ cache_temperature.EnsurePageCacheTemperature(page, self._browser)
+
+ markers = self.traceMarkers()
+ self.assertIn('telemetry.internal.warmCache.start', markers)
+ self.assertIn('telemetry.internal.warmCache.end', markers)
« no previous file with comments | « telemetry/telemetry/page/cache_temperature.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698