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

Side by Side Diff: tools/telemetry/telemetry/core/chrome/tracing_backend_unittest.py

Issue 12294002: Revert 182991 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 10 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import cStringIO
6 import json
7 import logging
8 import os
9 import unittest
10
11 from telemetry.core import util
12 from telemetry.core.chrome import tracing_backend
13 from telemetry.test import tab_test_case
14
15
16 class TracingBackendTest(tab_test_case.TabTestCase):
17 def _StartServer(self):
18 base_dir = os.path.dirname(__file__)
19 self._browser.SetHTTPServerDirectory(
20 os.path.join(base_dir, '..', '..', '..', 'unittest_data'))
21
22 def _WaitForAnimationFrame(self):
23 def _IsDone():
24 js_is_done = """done"""
25 return bool(self._tab.EvaluateJavaScript(js_is_done))
26 util.WaitFor(_IsDone, 5)
27
28 def testGotTrace(self):
29 if not self._browser.supports_tracing:
30 logging.warning('Browser does not support tracing, skipping test.')
31 return
32 self._StartServer()
33 self._browser.StartTracing()
34 self._browser.StopTracing()
35 model = self._browser.GetTraceResultAndReset().AsTimelineModel()
36 events = model.GetAllEvents()
37 assert len(events) > 0
38
39 class TracingResultImplTest(unittest.TestCase):
40 def testWrite1(self):
41 ri = tracing_backend.TraceResultImpl([])
42 f = cStringIO.StringIO()
43 ri.Serialize(f)
44 v = f.getvalue()
45
46 j = json.loads(v)
47 assert 'traceEvents' in j
48 self.assertEquals(j['traceEvents'], [])
49
50 def testWrite2(self):
51 ri = tracing_backend.TraceResultImpl([
52 '"foo"',
53 '"bar"'])
54 f = cStringIO.StringIO()
55 ri.Serialize(f)
56 v = f.getvalue()
57
58 j = json.loads(v)
59 assert 'traceEvents' in j
60 self.assertEquals(j['traceEvents'], ['foo', 'bar'])
61
62 def testWrite3(self):
63 ri = tracing_backend.TraceResultImpl([
64 '"foo"',
65 '"bar"',
66 '"baz"'])
67 f = cStringIO.StringIO()
68 ri.Serialize(f)
69 v = f.getvalue()
70
71 j = json.loads(v)
72 assert 'traceEvents' in j
73 self.assertEquals(j['traceEvents'],
74 ['foo', 'bar', 'baz'])
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/core/chrome/tracing_backend.py ('k') | tools/telemetry/telemetry/core/chrome/websocket.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698