Index: build/android/chrome_profiler/trace_packager_unittest.py |
diff --git a/build/android/chrome_profiler/trace_packager_unittest.py b/build/android/chrome_profiler/trace_packager_unittest.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c50d3aeb186f97819d71cb07471265ac22db248 |
--- /dev/null |
+++ b/build/android/chrome_profiler/trace_packager_unittest.py |
@@ -0,0 +1,35 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from chrome_profiler import trace_packager |
+ |
+import json |
+import tempfile |
+import unittest |
+ |
+ |
+class TracePackagerTest(unittest.TestCase): |
+ def testJsonTraceMerging(self): |
+ t1 = {'traceEvents': [{'ts': 123, 'ph': 'b'}]} |
+ t2 = {'traceEvents': [], 'stackFrames': ['blah']} |
+ |
+ # Both trace files will be merged to a third file and will get deleted in |
+ # the process, so there's no need for NamedTemporaryFile to do the |
+ # deletion. |
+ with tempfile.NamedTemporaryFile(delete=False) as f1, \ |
+ tempfile.NamedTemporaryFile(delete=False) as f2: |
+ f1.write(json.dumps(t1)) |
+ f2.write(json.dumps(t2)) |
+ f1.flush() |
+ f2.flush() |
+ |
+ with tempfile.NamedTemporaryFile() as output: |
+ trace_packager.PackageTraces([f1.name, f2.name], |
+ output.name, |
+ compress=False, |
+ write_json=True) |
+ with open(output.name) as output: |
+ output = json.load(output) |
+ self.assertEquals(output['traceEvents'], t1['traceEvents']) |
+ self.assertEquals(output['stackFrames'], t2['stackFrames']) |