Chromium Code Reviews| Index: pkg/scheduled_test/lib/src/schedule.dart |
| diff --git a/pkg/scheduled_test/lib/src/schedule.dart b/pkg/scheduled_test/lib/src/schedule.dart |
| index 42c6fa296e723b6b2e0f8224a6ad442288f43675..96b797937eaa10dc264c91cd017718d24226478a 100644 |
| --- a/pkg/scheduled_test/lib/src/schedule.dart |
| +++ b/pkg/scheduled_test/lib/src/schedule.dart |
| @@ -7,6 +7,7 @@ library schedule; |
| import 'dart:async'; |
| import 'dart:collection'; |
| +import 'package:stack_trace/stack_trace.dart'; |
| import 'package:unittest/unittest.dart' as unittest; |
| import 'mock_clock.dart' as mock_clock; |
| @@ -495,6 +496,8 @@ class TaskQueue { |
| if (description == null) { |
| description = "Out-of-band operation #${_totalCallbacks}"; |
| } |
| + var stackString = prefixLines(terseTraceString(new Trace.current())); |
| + description = "$description\n\nStack trace:\n$stackString"; |
| _totalCallbacks++; |
| _pendingCallbacks.add(description); |
| @@ -558,7 +561,10 @@ class TaskQueue { |
| String generateTree([Task highlight]) { |
| assert(highlight == null || highlight.queue == this); |
| return _contents.map((task) { |
| - var taskString = prefixLines(task.toString(), |
| + var taskString = prefixLines( |
| + task == highlight |
| + ? task.toStringWithStackTrace() |
| + : task.toString(), |
|
Bob Nystrom
2013/04/01 17:30:49
This expression is a bit dense. How about hoisting
nweiz
2013/04/01 20:46:03
Done.
|
| firstPrefix: task == highlight ? "> " : "* "); |
| if (task == highlight && !task.children.isEmpty) { |
| @@ -570,7 +576,10 @@ class TaskQueue { |
| prefix = "*"; |
| } |
| - return prefixLines(child.toString(), |
| + return prefixLines( |
| + prefix == "*" |
| + ? child.toString() |
| + : child.toStringWithStackTrace(), |
|
Bob Nystrom
2013/04/01 17:30:49
Ditto.
nweiz
2013/04/01 20:46:03
Done.
|
| firstPrefix: " $prefix ", prefix: " | "); |
| }).join('\n'); |
| taskString = '$taskString\n$childrenString'; |