| Index: tools/telemetry/telemetry/core/backends/chrome_inspector/tracing_backend_unittest.py
|
| diff --git a/tools/telemetry/telemetry/core/backends/chrome_inspector/tracing_backend_unittest.py b/tools/telemetry/telemetry/core/backends/chrome_inspector/tracing_backend_unittest.py
|
| index 115d7dec2d9c8486d272e68343e82594cabde998..48d8650fe8fc3616c104fdaf47826866a42e5ff0 100644
|
| --- a/tools/telemetry/telemetry/core/backends/chrome_inspector/tracing_backend_unittest.py
|
| +++ b/tools/telemetry/telemetry/core/backends/chrome_inspector/tracing_backend_unittest.py
|
| @@ -8,61 +8,11 @@
|
|
|
| from telemetry import decorators
|
| from telemetry.core import util
|
| -from telemetry.core.backends.chrome_inspector import inspector_websocket
|
| -from telemetry.core.backends.chrome_inspector import tracing_backend
|
| -from telemetry.core.backends.chrome_inspector import websocket
|
| from telemetry.core.platform import tracing_category_filter
|
| from telemetry.core.platform import tracing_options
|
| from telemetry.timeline import model as model_module
|
| from telemetry.timeline import trace_data as trace_data_module
|
| -from telemetry.unittest_util import simple_mock
|
| from telemetry.unittest_util import tab_test_case
|
| -
|
| -util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock')
|
| -import mock
|
| -
|
| -
|
| -class FakeInspectorWebsocket(object):
|
| - """A fake InspectorWebsocket.
|
| -
|
| - A fake that allows tests to send pregenerated data. Normal
|
| - InspectorWebsockets allow for any number of domain handlers. This fake only
|
| - allows up to 1 domain handler, and assumes that the domain of the response
|
| - always matches that of the handler.
|
| - """
|
| - def __init__(self, mock_timer):
|
| - self._mock_timer = mock_timer
|
| - self._responses = []
|
| - self._handler = None
|
| -
|
| - def RegisterDomain(self, _, handler):
|
| - self._handler = handler
|
| -
|
| - def AddResponse(self, method, value, time):
|
| - if self._responses:
|
| - assert self._responses[-1][1] < time, (
|
| - 'Current response is scheduled earlier than previous response.')
|
| - params = {'value': value}
|
| - response = {'method': method, 'params': params}
|
| - self._responses.append((response, time))
|
| -
|
| - def Connect(self, _):
|
| - pass
|
| -
|
| - def DispatchNotifications(self, timeout):
|
| - current_time = self._mock_timer.time()
|
| - if not self._responses:
|
| - self._mock_timer.SetTime(current_time + timeout + 1)
|
| - raise websocket.WebSocketTimeoutException()
|
| -
|
| - response, time = self._responses[0]
|
| - if time - current_time > timeout:
|
| - self._mock_timer.SetTime(current_time + timeout + 1)
|
| - raise websocket.WebSocketTimeoutException()
|
| -
|
| - self._responses.pop(0)
|
| - self._mock_timer.SetTime(time + 1)
|
| - self._handler(response)
|
|
|
|
|
| class TracingBackendTest(tab_test_case.TabTestCase):
|
| @@ -103,44 +53,3 @@
|
| self.assertFalse(self._tracing_controller.is_tracing_running)
|
| # Calling stop again will raise exception
|
| self.assertRaises(Exception, self._tracing_controller.Stop)
|
| -
|
| -
|
| -class TracingBackendUnitTest(unittest.TestCase):
|
| - def setUp(self):
|
| - self._mock_timer = simple_mock.MockTimer(tracing_backend)
|
| -
|
| - def tearDown(self):
|
| - self._mock_timer.Restore()
|
| -
|
| - def testCollectTracingDataTimeout(self):
|
| - inspector = FakeInspectorWebsocket(self._mock_timer)
|
| - inspector.AddResponse('Tracing.dataCollected', 'asdf1', 9)
|
| - inspector.AddResponse('Tracing.dataCollected', 'asdf2', 19)
|
| - inspector.AddResponse('Tracing.tracingComplete', 'asdf3', 35)
|
| -
|
| - with mock.patch('telemetry.core.backends.chrome_inspector.'
|
| - 'inspector_websocket.InspectorWebsocket') as mock_class:
|
| - mock_class.return_value = inspector
|
| - backend = tracing_backend.TracingBackend(devtools_port=65000)
|
| -
|
| - # The third response is 16 seconds after the second response, so we expect
|
| - # a TracingTimeoutException.
|
| - with self.assertRaises(tracing_backend.TracingTimeoutException):
|
| - backend._CollectTracingData(10)
|
| - self.assertEqual(2, len(backend._trace_events))
|
| - self.assertFalse(backend._has_received_all_tracing_data)
|
| -
|
| - def testCollectTracingDataNoTimeout(self):
|
| - inspector = FakeInspectorWebsocket(self._mock_timer)
|
| - inspector.AddResponse('Tracing.dataCollected', 'asdf1', 9)
|
| - inspector.AddResponse('Tracing.dataCollected', 'asdf2', 14)
|
| - inspector.AddResponse('Tracing.tracingComplete', 'asdf3', 19)
|
| -
|
| - with mock.patch('telemetry.core.backends.chrome_inspector.'
|
| - 'inspector_websocket.InspectorWebsocket') as mock_class:
|
| - mock_class.return_value = inspector
|
| - backend = tracing_backend.TracingBackend(devtools_port=65000)
|
| -
|
| - backend._CollectTracingData(10)
|
| - self.assertEqual(2, len(backend._trace_events))
|
| - self.assertTrue(backend._has_received_all_tracing_data)
|
|
|