OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 | 4 |
5 // VMOptions=--verbose-debug | 5 // VMOptions=--verbose-debug |
6 | 6 |
7 import 'package:observatory/service_io.dart'; | 7 import 'package:observatory/service_io.dart'; |
8 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
9 import 'test_helper.dart'; | 9 import 'test_helper.dart'; |
10 import 'dart:async'; | 10 import 'dart:async'; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 var bp4 = await isolate.addBreakpoint(script, 21); | 59 var bp4 = await isolate.addBreakpoint(script, 21); |
60 expect(bp4, isNotNull); | 60 expect(bp4, isNotNull); |
61 expect(bp4 is Breakpoint, isTrue); | 61 expect(bp4 is Breakpoint, isTrue); |
62 var bp5 = await isolate.addBreakpoint(script, 39); | 62 var bp5 = await isolate.addBreakpoint(script, 39); |
63 expect(bp5, isNotNull); | 63 expect(bp5, isNotNull); |
64 expect(bp5 is Breakpoint, isTrue); | 64 expect(bp5 is Breakpoint, isTrue); |
65 | 65 |
66 var hits = []; | 66 var hits = []; |
67 | 67 |
68 isolate.eval(isolate.rootLib, 'testerReady = true;') | 68 isolate.eval(isolate.rootLib, 'testerReady = true;') |
69 .then((ServiceObject result) { | 69 .then((Instance result) { |
70 expect(result.valueAsString, equals('true')); | 70 expect(result.valueAsString, equals('true')); |
71 }); | 71 }); |
72 | 72 |
73 await for (ServiceEvent event in isolate.vm.events.stream) { | 73 await for (ServiceEvent event in isolate.vm.events.stream) { |
74 if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 74 if (event.eventType == ServiceEvent.kPauseBreakpoint) { |
75 var bp = event.breakpoint; | 75 var bp = event.breakpoint; |
76 print('Hit $bp'); | 76 print('Hit $bp'); |
77 hits.add(bp); | 77 hits.add(bp); |
78 isolate.resume(); | 78 isolate.resume(); |
79 | 79 |
80 if (hits.length == 5) break; | 80 if (hits.length == 5) break; |
81 } | 81 } |
82 } | 82 } |
83 | 83 |
84 expect(hits, equals([bp1, bp5, bp4, bp2, bp3])); | 84 expect(hits, equals([bp1, bp5, bp4, bp2, bp3])); |
85 } | 85 } |
86 | 86 |
87 var tests = [testAsync]; | 87 var tests = [testAsync]; |
88 | 88 |
89 main(args) => runIsolateTests(args, tests, testeeConcurrent: testeeDo); | 89 main(args) => runIsolateTests(args, tests, testeeConcurrent: testeeDo); |
OLD | NEW |