Index: tools/perf/core/stacktrace_unittest.py |
diff --git a/tools/perf/core/stacktrace_unittest.py b/tools/perf/core/stacktrace_unittest.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..be13fbaad9be3ad7d2ed32759af214dd7b705619 |
--- /dev/null |
+++ b/tools/perf/core/stacktrace_unittest.py |
@@ -0,0 +1,27 @@ |
+# Copyright 2015 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 telemetry.core import exceptions |
+from telemetry import decorators |
+from telemetry.testing import tab_test_case |
+ |
+class TabStackTraceTest(tab_test_case.TabTestCase): |
+ |
+ # For now just work on a single platform (mac). |
+ @decorators.Enabled('mac') |
+ def testStackTrace(self): |
+ try: |
+ self._tab.Navigate('chrome://crash', timeout=5) |
+ except exceptions.DevtoolsTargetCrashException as e: |
+ self.assertIn('Thread 0 (crashed)', '\n'.join(e.stack_trace)) |
+ |
+ # Currently stack traces do not work on windows: http://crbug.com/476110 |
+ # Currently symbols do not work on swarming: http://crbug.com/563716 |
+ # Linux stack traces depends on fission support: http://crbug.com/405623 |
+ @decorators.Disabled('all') |
+ def testCrashSymbols(self): |
+ try: |
+ self._tab.Navigate('chrome://crash', timeout=5) |
+ except exceptions.DevtoolsTargetCrashException as e: |
+ self.assertIn('CrashIntentionally', '\n'.join(e.stack_trace)) |