| OLD | NEW | 
|    1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |    1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|    2 // for details. All rights reserved. Use of this source code is governed by a |    2 // for details. All rights reserved. Use of this source code is governed by a | 
|    3 // BSD-style license that can be found in the LICENSE file. |    3 // BSD-style license that can be found in the LICENSE file. | 
|    4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override --checked |    4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override --checked | 
|    5  |    5  | 
|    6 library test_helper; |    6 library test_helper; | 
|    7  |    7  | 
|    8 import 'dart:async'; |    8 import 'dart:async'; | 
|    9 import 'dart:convert'; |    9 import 'dart:convert'; | 
|   10 import 'dart:io'; |   10 import 'dart:io'; | 
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  131   } |  131   } | 
|  132 } |  132 } | 
|  133  |  133  | 
|  134  |  134  | 
|  135 // Cancel the subscription and complete the completer when finished processing |  135 // Cancel the subscription and complete the completer when finished processing | 
|  136 // events. |  136 // events. | 
|  137 typedef void ServiceEventHandler(ServiceEvent event, |  137 typedef void ServiceEventHandler(ServiceEvent event, | 
|  138                                  StreamSubscription subscription, |  138                                  StreamSubscription subscription, | 
|  139                                  Completer completer); |  139                                  Completer completer); | 
|  140  |  140  | 
|  141 Future processServiceEvents(VM vm, |  141 Future processServiceEvents(VM vm, ServiceEventHandler handler) { | 
|  142                             String streamId, |  | 
|  143                             ServiceEventHandler handler) { |  | 
|  144   Completer completer = new Completer(); |  142   Completer completer = new Completer(); | 
|  145   var subscription; |  143   var subscription; | 
|  146   subscription = vm.getEventStream(streamId).listen((ServiceEvent event) { |  144   subscription = vm.events.stream.listen((ServiceEvent event) { | 
|  147     handler(event, subscription, completer); |  145     handler(event, subscription, completer); | 
|  148   }); |  146   }); | 
|  149   return completer.future; |  147   return completer.future; | 
|  150 } |  148 } | 
|  151  |  149  | 
|  152  |  150  | 
|  153 Future<Isolate> hasStoppedAtBreakpoint(Isolate isolate) { |  151 Future<Isolate> hasStoppedAtBreakpoint(Isolate isolate) { | 
|  154   if ((isolate.pauseEvent != null) && |  152   if ((isolate.pauseEvent != null) && | 
|  155       (isolate.pauseEvent.eventType == ServiceEvent.kPauseBreakpoint)) { |  153       (isolate.pauseEvent.eventType == ServiceEvent.kPauseBreakpoint)) { | 
|  156     // Already waiting at a breakpoint. |  154     // Already waiting at a breakpoint. | 
|  157     print('Breakpoint reached'); |  155     print('Breakpoint reached'); | 
|  158     return new Future.value(isolate); |  156     return new Future.value(isolate); | 
|  159   } |  157   } | 
|  160  |  158  | 
|  161   // Set up a listener to wait for breakpoint events. |  159   // Set up a listener to wait for breakpoint events. | 
|  162   Completer completer = new Completer(); |  160   Completer completer = new Completer(); | 
|  163   var subscription; |  161   var subscription; | 
|  164   subscription = isolate.vm.debugEvents.listen((ServiceEvent event) { |  162   subscription = isolate.vm.events.stream.listen((ServiceEvent event) { | 
|  165     if (event.eventType == ServiceEvent.kPauseBreakpoint) { |  163     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 
|  166       print('Breakpoint reached'); |  164       print('Breakpoint reached'); | 
|  167       subscription.cancel(); |  165       subscription.cancel(); | 
|  168       completer.complete(isolate); |  166       completer.complete(isolate); | 
|  169     } |  167     } | 
|  170   }); |  168   }); | 
|  171  |  169  | 
|  172   return completer.future;  // Will complete when breakpoint hit. |  170   return completer.future;  // Will complete when breakpoint hit. | 
|  173 } |  171 } | 
|  174  |  172  | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  208       }, onError: (e, st) { |  206       }, onError: (e, st) { | 
|  209         process.requestExit(); |  207         process.requestExit(); | 
|  210         if (!_isWebSocketDisconnect(e)) { |  208         if (!_isWebSocketDisconnect(e)) { | 
|  211           print('Unexpected exception in service tests: $e $st'); |  209           print('Unexpected exception in service tests: $e $st'); | 
|  212           throw e; |  210           throw e; | 
|  213         } |  211         } | 
|  214       }); |  212       }); | 
|  215     }); |  213     }); | 
|  216   } |  214   } | 
|  217 } |  215 } | 
| OLD | NEW |