Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Unified Diff: runtime/observatory/tests/service/test_helper.dart

Issue 1217823009: Make VM event streams look like real dart streams. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Polish Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/tests/service/test_helper.dart
diff --git a/runtime/observatory/tests/service/test_helper.dart b/runtime/observatory/tests/service/test_helper.dart
index e69a257e427602dea8d89f5587c0d2bd17641276..868cd79fa3c962333d9e1cd54f421357b8b65aa3 100644
--- a/runtime/observatory/tests/service/test_helper.dart
+++ b/runtime/observatory/tests/service/test_helper.dart
@@ -141,11 +141,25 @@ typedef void ServiceEventHandler(ServiceEvent event,
StreamSubscription subscription,
Completer completer);
-Future processServiceEvents(VM vm, ServiceEventHandler handler) {
+Future processDebugEvents(VM vm, ServiceEventHandler handler) {
Completer completer = new Completer();
- var subscription;
- subscription = vm.events.stream.listen((ServiceEvent event) {
- handler(event, subscription, completer);
+ vm.getDebugEventStream().then((stream) {
+ var subscription;
+ subscription = stream.listen((ServiceEvent event) {
+ handler(event, subscription, completer);
+ });
+ });
+ return completer.future;
+}
+
+
+Future processIsolateEvents(VM vm, ServiceEventHandler handler) {
+ Completer completer = new Completer();
+ vm.getIsolateEventStream().then((stream) {
+ var subscription;
+ subscription = stream.listen((ServiceEvent event) {
+ handler(event, subscription, completer);
+ });
});
return completer.future;
}
@@ -161,13 +175,15 @@ Future<Isolate> hasStoppedAtBreakpoint(Isolate isolate) {
// Set up a listener to wait for breakpoint events.
Completer completer = new Completer();
- var subscription;
- subscription = isolate.vm.events.stream.listen((ServiceEvent event) {
- if (event.kind == ServiceEvent.kPauseBreakpoint) {
- print('Breakpoint reached');
- subscription.cancel();
- completer.complete(isolate);
- }
+ isolate.vm.getDebugEventStream().then((stream) {
+ var subscription;
+ subscription = stream.listen((ServiceEvent event) {
+ if (event.kind == ServiceEvent.kPauseBreakpoint) {
+ print('Breakpoint reached');
+ subscription.cancel();
+ completer.complete();
+ }
+ });
});
return completer.future; // Will complete when breakpoint hit.
@@ -176,12 +192,14 @@ Future<Isolate> hasStoppedAtBreakpoint(Isolate isolate) {
Future<Isolate> resumeIsolate(Isolate isolate) {
Completer completer = new Completer();
- var subscription;
- subscription = isolate.vm.events.stream.listen((ServiceEvent event) {
- if (event.kind == ServiceEvent.kResume) {
- subscription.cancel();
- completer.complete();
- }
+ isolate.vm.getDebugEventStream().then((stream) {
+ var subscription;
+ subscription = stream.listen((ServiceEvent event) {
+ if (event.kind == ServiceEvent.kResume) {
+ subscription.cancel();
+ completer.complete();
+ }
+ });
});
isolate.resume();
return completer.future;

Powered by Google App Engine
This is Rietveld 408576698