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

Side by Side Diff: telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import timeit 5 import timeit
6 import unittest 6 import unittest
7 7
8 from telemetry import decorators 8 from telemetry import decorators
9 from telemetry.internal.backends.chrome_inspector import tracing_backend 9 from telemetry.internal.backends.chrome_inspector import tracing_backend
10 from telemetry.internal.backends.chrome_inspector.tracing_backend import _DevToo lsStreamReader 10 from telemetry.internal.backends.chrome_inspector.tracing_backend import _DevToo lsStreamReader
11 from telemetry.testing import fakes 11 from telemetry.testing import fakes
12 from telemetry.testing import simple_mock 12 from telemetry.testing import simple_mock
13 from telemetry.testing import tab_test_case 13 from telemetry.testing import tab_test_case
14 from telemetry.timeline import model as model_module 14 from telemetry.timeline import model as model_module
15 from telemetry.timeline import trace_data 15 from telemetry.timeline import trace_data
16 from telemetry.timeline import tracing_config 16 from telemetry.timeline import tracing_config
17 17
18 18
19 class TracingBackendTest(tab_test_case.TabTestCase): 19 class TracingBackendTest(tab_test_case.TabTestCase):
20 20
21 # Number of consecutively requested memory dumps. 21 # Number of consecutively requested memory dumps.
22 _REQUESTED_DUMP_COUNT = 3 22 _REQUESTED_DUMP_COUNT = 3
23 23
24 @classmethod 24 @classmethod
25 def CustomizeBrowserOptions(cls, options): 25 def CustomizeBrowserOptions(cls, options):
26 options.enable_logging = True 26 options.logging_verbosity = options.VERBOSE_LOGGING
27 options.AppendExtraBrowserArgs([ 27 options.AppendExtraBrowserArgs([
28 # Memory maps currently cannot be retrieved on sandboxed processes. 28 # Memory maps currently cannot be retrieved on sandboxed processes.
29 # See crbug.com/461788. 29 # See crbug.com/461788.
30 '--no-sandbox', 30 '--no-sandbox',
31 31
32 # Workaround to disable periodic memory dumps. See crbug.com/513692. 32 # Workaround to disable periodic memory dumps. See crbug.com/513692.
33 '--enable-memory-benchmarking' 33 '--enable-memory-benchmarking'
34 ]) 34 ])
35 35
36 def setUp(self): 36 def setUp(self):
37 super(TracingBackendTest, self).setUp() 37 super(TracingBackendTest, self).setUp()
38 self._tracing_controller = self._browser.platform.tracing_controller 38 self._tracing_controller = self._browser.platform.tracing_controller
39 if not self._tracing_controller.IsChromeTracingSupported(): 39 if not self._tracing_controller.IsChromeTracingSupported():
40 self.skipTest('Browser does not support tracing, skipping test.') 40 self.skipTest('Browser does not support tracing, skipping test.')
41 if not self._browser.supports_memory_dumping: 41 if not self._browser.supports_memory_dumping:
42 self.skipTest('Browser does not support memory dumping, skipping test.') 42 self.skipTest('Browser does not support memory dumping, skipping test.')
43 43
44 # See https://github.com/catapult-project/catapult/issues/2409. 44 # See https://github.com/catapult-project/catapult/issues/2409.
45 @decorators.Disabled('win-reference') 45 @decorators.Disabled('win-reference')
46 def testDumpMemorySuccess(self): 46 def testDumpMemorySuccess(self):
47 # Check that dumping memory before tracing starts raises an exception. 47 # Check that dumping memory before tracing starts raises an exception.
48 self.assertRaises(Exception, self._browser.DumpMemory) 48 self.assertRaises(Exception, self._browser.DumpMemory)
49 49
50 # Start tracing with memory dumps enabled. 50 # Start tracing with memory dumps enabled.
51 config = tracing_config.TracingConfig() 51 config = tracing_config.TracingConfig()
52 config.chrome_trace_config.tracing_category_filter.AddDisabledByDefault( 52 config.chrome_trace_config.category_filter.AddDisabledByDefault(
53 'disabled-by-default-memory-infra') 53 'disabled-by-default-memory-infra')
54 config.enable_chrome_trace = True 54 config.enable_chrome_trace = True
55 self._tracing_controller.StartTracing(config) 55 self._tracing_controller.StartTracing(config)
56 56
57 # Request several memory dumps in a row and test that they were all 57 # Request several memory dumps in a row and test that they were all
58 # successfully created with unique IDs. 58 # successfully created with unique IDs.
59 expected_dump_ids = [] 59 expected_dump_ids = []
60 for _ in xrange(self._REQUESTED_DUMP_COUNT): 60 for _ in xrange(self._REQUESTED_DUMP_COUNT):
61 dump_id = self._browser.DumpMemory() 61 dump_id = self._browser.DumpMemory()
62 self.assertIsNotNone(dump_id) 62 self.assertIsNotNone(dump_id)
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 n1 = 1000 224 n1 = 1000
225 while True: 225 while True:
226 t1 = self._MeasureReadTime(n1) 226 t1 = self._MeasureReadTime(n1)
227 if t1 > 0.01: 227 if t1 > 0.01:
228 break 228 break
229 n1 *= 5 229 n1 *= 5
230 t2 = self._MeasureReadTime(n1 * 10) 230 t2 = self._MeasureReadTime(n1 * 10)
231 # Time is an illusion, CPU time is doubly so, allow great deal of tolerance. 231 # Time is an illusion, CPU time is doubly so, allow great deal of tolerance.
232 toleranceFactor = 5 232 toleranceFactor = 5
233 self.assertLess(t2, t1 * 10 * toleranceFactor) 233 self.assertLess(t2, t1 * 10 * toleranceFactor)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698