| 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 53520c443187ced1eb7e3ab8e7109bdc86e84c42..4da611afb922c58271e3d45806f5a78e93295f48 100644
|
| --- a/runtime/observatory/tests/service/test_helper.dart
|
| +++ b/runtime/observatory/tests/service/test_helper.dart
|
| @@ -237,6 +237,30 @@ Future<Isolate> resumeIsolate(Isolate isolate) {
|
| }
|
|
|
|
|
| +Future resumeAndAwaitEvent(Isolate isolate, stream, onEvent) async {
|
| + Completer completer = new Completer();
|
| + var sub;
|
| + sub = await isolate.vm.listenEventStream(
|
| + stream,
|
| + (ServiceEvent event) {
|
| + var r = onEvent(event);
|
| + if (r is! Future) {
|
| + r = new Future.value(r);
|
| + }
|
| + r.then((x) => sub.cancel().then((_) {
|
| + completer.complete();
|
| + }));
|
| + });
|
| + await isolate.resume();
|
| + return completer.future;
|
| +}
|
| +
|
| +IsolateTest resumeIsolateAndAwaitEvent(stream, onEvent) {
|
| + return (Isolate isolate) async =>
|
| + resumeAndAwaitEvent(isolate, stream, onEvent);
|
| +}
|
| +
|
| +
|
| Future<Class> getClassFromRootLib(Isolate isolate, String className) async {
|
| Library rootLib = await isolate.rootLibrary.load();
|
| for (var i = 0; i < rootLib.classes.length; i++) {
|
|
|