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)
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 _CreateTracingBackendIfNeeded(self): if not self._tracing_backend: self._tracing_backend = tracing_backend.TracingBackend( self._devtools_port)