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) |