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

Unified Diff: telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py

Issue 2160793003: Support traces containing all parts/agents returned via DevTools streams (Closed) Base URL: https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git@master
Patch Set: dropped _had_data_collected 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 side-by-side diff with in-line comments
Download patch
Index: telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py
diff --git a/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py b/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py
index a9b9dcc5a437557e378d21f2585d833e83ac0f3d..e5ba654f007cfecedf480b0155966b489c64bef0 100644
--- a/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py
+++ b/telemetry/telemetry/internal/backends/chrome_inspector/tracing_backend_unittest.py
@@ -68,7 +68,8 @@ class TracingBackendTest(tab_test_case.TabTestCase):
# Check that clock sync data is in tracing data.
clock_sync_found = False
- for event in tracing_data.GetTraceFor(trace_data.CHROME_TRACE_PART):
+ trace = tracing_data.GetTraceFor(trace_data.CHROME_TRACE_PART)
+ for event in trace['traceEvents']:
if event['name'] == 'clock_sync' or 'ClockSyncEvent' in event['name']:
clock_sync_found = True
break
@@ -128,11 +129,14 @@ class TracingBackendUnitTest(unittest.TestCase):
self._inspector_socket.AddEvent('Tracing.tracingComplete', {}, 35)
backend = tracing_backend.TracingBackend(self._inspector_socket)
+ trace_data_builder = trace_data.TraceDataBuilder()
# 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))
+ backend._CollectTracingData(trace_data_builder, 10)
+ trace_events = trace_data_builder.AsData().GetTraceFor(
+ trace_data.CHROME_TRACE_PART).get('traceEvents', [])
+ self.assertEqual(2, len(trace_events))
self.assertFalse(backend._has_received_all_tracing_data)
def testCollectTracingDataNoTimeout(self):
@@ -142,12 +146,14 @@ class TracingBackendUnitTest(unittest.TestCase):
'Tracing.dataCollected', {'value': [{'ph': 'E'}]}, 14)
self._inspector_socket.AddEvent('Tracing.tracingComplete', {}, 19)
backend = tracing_backend.TracingBackend(self._inspector_socket)
-
- backend._CollectTracingData(10)
- self.assertEqual(2, len(backend._trace_events))
+ trace_data_builder = trace_data.TraceDataBuilder()
+ backend._CollectTracingData(trace_data_builder, 10)
+ trace_events = trace_data_builder.AsData().GetTraceFor(
+ trace_data.CHROME_TRACE_PART).get('traceEvents', [])
+ self.assertEqual(2, len(trace_events))
self.assertTrue(backend._has_received_all_tracing_data)
- def testCollectTracingDataFromStream(self):
+ def testCollectTracingDataFromStreamNoContainer(self):
self._inspector_socket.AddEvent(
'Tracing.tracingComplete', {'stream': '42'}, 1)
self._inspector_socket.AddAsyncResponse(
@@ -155,9 +161,30 @@ class TracingBackendUnitTest(unittest.TestCase):
self._inspector_socket.AddAsyncResponse(
'IO.read', {'data': '},{},{}]', 'eof': True}, 3)
backend = tracing_backend.TracingBackend(self._inspector_socket)
+ trace_data_builder = trace_data.TraceDataBuilder()
+ backend._CollectTracingData(trace_data_builder, 10)
+ trace_events = trace_data_builder.AsData().GetTraceFor(
+ trace_data.CHROME_TRACE_PART).get('traceEvents', [])
+ self.assertEqual(5, len(trace_events))
+ self.assertTrue(backend._has_received_all_tracing_data)
+
+ def testCollectTracingDataFromStreamJSONContainer(self):
+ self._inspector_socket.AddEvent(
+ 'Tracing.tracingComplete', {'stream': '42'}, 1)
+ self._inspector_socket.AddAsyncResponse(
+ 'IO.read', {'data': '{"traceEvents": [{},{},{}],'}, 2)
+ self._inspector_socket.AddAsyncResponse(
+ 'IO.read', {'data': '"metadata": {"a": "b"}'}, 3)
+ self._inspector_socket.AddAsyncResponse(
+ 'IO.read', {'data': '}', 'eof': True}, 4)
+ backend = tracing_backend.TracingBackend(self._inspector_socket)
+ trace_data_builder = trace_data.TraceDataBuilder()
+ backend._CollectTracingData(trace_data_builder, 10)
+ data = trace_data_builder.AsData()
+ chrome_trace = data.GetTraceFor(trace_data.CHROME_TRACE_PART)
- backend._CollectTracingData(10)
- self.assertEqual(5, len(backend._trace_events))
+ self.assertEqual(3, len(chrome_trace.get('traceEvents', [])))
+ self.assertEqual(dict, type(chrome_trace.get('metadata')))
self.assertTrue(backend._has_received_all_tracing_data)
def testDumpMemorySuccess(self):

Powered by Google App Engine
This is Rietveld 408576698