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;