Avoid timeouts in stack_trace's chain_test.
R=rnystrom@google.com
BUG=18142
Review URL: https://codereview.chromium.org//232783008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/stack_trace@34940 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/stack_trace/test/chain_test.dart b/pkgs/stack_trace/test/chain_test.dart
index 683544f..3347deb 100644
--- a/pkgs/stack_trace/test/chain_test.dart
+++ b/pkgs/stack_trace/test/chain_test.dart
@@ -92,16 +92,20 @@
inMicrotask(() => throw 'first error');
inPeriodicTimer(() => throw 'second error');
}, onError: (error, chain) {
- if (first) {
- expect(error, equals('first error'));
- expect(chain.traces[1].frames,
- contains(frameMember(startsWith('inMicrotask'))));
- first = false;
- } else {
- expect(error, equals('second error'));
- expect(chain.traces[1].frames,
- contains(frameMember(startsWith('inPeriodicTimer'))));
- completer.complete();
+ try {
+ if (first) {
+ expect(error, equals('first error'));
+ expect(chain.traces[1].frames,
+ contains(frameMember(startsWith('inMicrotask'))));
+ first = false;
+ } else {
+ expect(error, equals('second error'));
+ expect(chain.traces[1].frames,
+ contains(frameMember(startsWith('inPeriodicTimer'))));
+ completer.complete();
+ }
+ } catch (error, stackTrace) {
+ completer.completeError(error, stackTrace);
}
});
@@ -121,11 +125,15 @@
throw error;
});
}, onError: (error, chain) {
- expect(error, equals('error'));
- expect(chain, new isInstanceOf<Chain>());
- expect(chain.traces[1].frames,
- contains(frameMember(startsWith('inMicrotask'))));
- completer.complete();
+ try {
+ expect(error, equals('error'));
+ expect(chain, new isInstanceOf<Chain>());
+ expect(chain.traces[1].frames,
+ contains(frameMember(startsWith('inMicrotask'))));
+ completer.complete();
+ } catch (error, stackTrace) {
+ completer.completeError(error, stackTrace);
+ }
});
return completer.future;
@@ -138,11 +146,15 @@
runZoned(() {
Chain.capture(() => inMicrotask(() => throw 'error'));
}, onError: (error, chain) {
- expect(error, equals('error'));
- expect(chain, new isInstanceOf<Chain>());
- expect(chain.traces[1].frames,
- contains(frameMember(startsWith('inMicrotask'))));
- completer.complete();
+ try {
+ expect(error, equals('error'));
+ expect(chain, new isInstanceOf<Chain>());
+ expect(chain.traces[1].frames,
+ contains(frameMember(startsWith('inMicrotask'))));
+ completer.complete();
+ } catch (error, stackTrace) {
+ completer.completeError(error, stackTrace);
+ }
});
return completer.future;