OLD | NEW |
(Empty) | |
| 1 # Copyright 2014 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 from chrome_profiler import trace_packager |
| 6 |
| 7 import json |
| 8 import tempfile |
| 9 import unittest |
| 10 |
| 11 |
| 12 class TracePackagerTest(unittest.TestCase): |
| 13 def testJsonTraceMerging(self): |
| 14 t1 = {'traceEvents': [{'ts': 123, 'ph': 'b'}]} |
| 15 t2 = {'traceEvents': [], 'stackFrames': ['blah']} |
| 16 |
| 17 # Both trace files will be merged to a third file and will get deleted in |
| 18 # the process, so there's no need for NamedTemporaryFile to do the |
| 19 # deletion. |
| 20 with tempfile.NamedTemporaryFile(delete=False) as f1, \ |
| 21 tempfile.NamedTemporaryFile(delete=False) as f2: |
| 22 f1.write(json.dumps(t1)) |
| 23 f2.write(json.dumps(t2)) |
| 24 f1.flush() |
| 25 f2.flush() |
| 26 |
| 27 with tempfile.NamedTemporaryFile() as output: |
| 28 trace_packager.PackageTraces([f1.name, f2.name], |
| 29 output.name, |
| 30 compress=False, |
| 31 write_json=True) |
| 32 with open(output.name) as output: |
| 33 output = json.load(output) |
| 34 self.assertEquals(output['traceEvents'], t1['traceEvents']) |
| 35 self.assertEquals(output['stackFrames'], t2['stackFrames']) |
OLD | NEW |