| 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 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override | 4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override |
| 5 | 5 |
| 6 import 'package:observatory/service_io.dart'; | 6 import 'package:observatory/service_io.dart'; |
| 7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
| 8 import 'test_helper.dart'; | 8 import 'test_helper.dart'; |
| 9 | 9 |
| 10 import 'dart:math' as math; | 10 import 'dart:math' as math; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 use(innerTemp); | 63 use(innerTemp); |
| 64 breakHere(); | 64 breakHere(); |
| 65 }; | 65 }; |
| 66 }); | 66 }); |
| 67 } | 67 } |
| 68 } | 68 } |
| 69 | 69 |
| 70 testMethod(Isolate isolate) async { | 70 testMethod(Isolate isolate) async { |
| 71 // silence analyzer. | 71 // silence analyzer. |
| 72 expect(math.sqrt(4), equals(2)); | 72 expect(math.sqrt(4), equals(2)); |
| 73 Library rootLib = await isolate.rootLib.load(); | 73 Library rootLib = await isolate.rootLibrary.load(); |
| 74 ServiceFunction function = | 74 ServiceFunction function = |
| 75 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); | 75 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); |
| 76 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); | 76 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); |
| 77 print("Breakpoint: $bpt"); | 77 print("Breakpoint: $bpt"); |
| 78 expect(bpt is Breakpoint, isTrue); // I.e, not null. | 78 expect(bpt is Breakpoint, isTrue); // I.e, not null. |
| 79 | 79 |
| 80 bool hitBreakpoint = false; | 80 bool hitBreakpoint = false; |
| 81 var sub; | 81 var sub; |
| 82 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 82 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { |
| 83 print("Event $event"); | 83 print("Event $event"); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 105 expect(r.valueAsString, equals('8')); /// instance: continued | 105 expect(r.valueAsString, equals('8')); /// instance: continued |
| 106 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); /// instance: cont
inued | 106 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); /// instance: cont
inued |
| 107 expect(r.isClosure, isTrue); /// instance: continued | 107 expect(r.isClosure, isTrue); /// instance: continued |
| 108 | 108 |
| 109 hitBreakpoint = true; | 109 hitBreakpoint = true; |
| 110 sub.cancel(); // Do not handle events for the other tests. | 110 sub.cancel(); // Do not handle events for the other tests. |
| 111 isolate.resume(); | 111 isolate.resume(); |
| 112 } | 112 } |
| 113 }); | 113 }); |
| 114 | 114 |
| 115 var result = await isolate.eval(rootLib, 'new C().method(3);'); | 115 var result = await rootLib.evaluate('new C().method(3);'); |
| 116 print("Result $result"); | 116 print("Result $result"); |
| 117 expect(hitBreakpoint, isTrue); | 117 expect(hitBreakpoint, isTrue); |
| 118 } | 118 } |
| 119 | 119 |
| 120 testMethod2(Isolate isolate) async { | 120 testMethod2(Isolate isolate) async { |
| 121 Library rootLib = await isolate.rootLib.load(); | 121 Library rootLib = await isolate.rootLibrary.load(); |
| 122 ServiceFunction function = | 122 ServiceFunction function = |
| 123 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); | 123 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); |
| 124 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); | 124 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); |
| 125 print("Breakpoint: $bpt"); | 125 print("Breakpoint: $bpt"); |
| 126 expect(bpt is Breakpoint, isTrue); // I.e, not null. | 126 expect(bpt is Breakpoint, isTrue); // I.e, not null. |
| 127 | 127 |
| 128 bool hitBreakpoint = false; | 128 bool hitBreakpoint = false; |
| 129 var sub; | 129 var sub; |
| 130 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 130 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { |
| 131 print("Event $event"); | 131 print("Event $event"); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 153 expect(r.valueAsString, equals('8')); | 153 expect(r.valueAsString, equals('8')); |
| 154 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); | 154 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); |
| 155 expect(r.isClosure, isTrue); | 155 expect(r.isClosure, isTrue); |
| 156 | 156 |
| 157 hitBreakpoint = true; | 157 hitBreakpoint = true; |
| 158 sub.cancel(); // Do not handle events for the other tests. | 158 sub.cancel(); // Do not handle events for the other tests. |
| 159 isolate.resume(); | 159 isolate.resume(); |
| 160 } | 160 } |
| 161 }); | 161 }); |
| 162 | 162 |
| 163 var result = await isolate.eval(rootLib, 'C.method2(3);'); | 163 var result = await rootLib.evaluate('C.method2(3);'); |
| 164 print("Result $result"); | 164 print("Result $result"); |
| 165 expect(hitBreakpoint, isTrue); | 165 expect(hitBreakpoint, isTrue); |
| 166 } | 166 } |
| 167 | 167 |
| 168 testMethod3(Isolate isolate) async { | 168 testMethod3(Isolate isolate) async { |
| 169 Library rootLib = await isolate.rootLib.load(); | 169 Library rootLib = await isolate.rootLibrary.load(); |
| 170 ServiceFunction function = | 170 ServiceFunction function = |
| 171 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); | 171 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); |
| 172 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); | 172 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); |
| 173 print("Breakpoint: $bpt"); | 173 print("Breakpoint: $bpt"); |
| 174 expect(bpt is Breakpoint, isTrue); // I.e, not null. | 174 expect(bpt is Breakpoint, isTrue); // I.e, not null. |
| 175 | 175 |
| 176 bool hitBreakpoint = false; | 176 bool hitBreakpoint = false; |
| 177 var sub; | 177 var sub; |
| 178 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 178 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { |
| 179 print("Event $event"); | 179 print("Event $event"); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 193 expect(r.valueAsString, equals('4')); | 193 expect(r.valueAsString, equals('4')); |
| 194 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); | 194 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); |
| 195 expect(r.isClosure, isTrue); | 195 expect(r.isClosure, isTrue); |
| 196 | 196 |
| 197 hitBreakpoint = true; | 197 hitBreakpoint = true; |
| 198 sub.cancel(); // Do not handle events for the other tests. | 198 sub.cancel(); // Do not handle events for the other tests. |
| 199 isolate.resume(); | 199 isolate.resume(); |
| 200 } | 200 } |
| 201 }); | 201 }); |
| 202 | 202 |
| 203 var result = await isolate.eval(rootLib, 'new C().method3(3);'); | 203 var result = await rootLib.evaluate('new C().method3(3);'); |
| 204 print("Result $result"); | 204 print("Result $result"); |
| 205 expect(hitBreakpoint, isTrue); | 205 expect(hitBreakpoint, isTrue); |
| 206 } | 206 } |
| 207 | 207 |
| 208 | 208 |
| 209 testMethod4(Isolate isolate) async { | 209 testMethod4(Isolate isolate) async { |
| 210 Library rootLib = await isolate.rootLib.load(); | 210 Library rootLib = await isolate.rootLibrary.load(); |
| 211 ServiceFunction function = | 211 ServiceFunction function = |
| 212 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); | 212 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); |
| 213 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); | 213 Breakpoint bpt = await isolate.addBreakpointAtEntry(function); |
| 214 print("Breakpoint: $bpt"); | 214 print("Breakpoint: $bpt"); |
| 215 expect(bpt is Breakpoint, isTrue); // I.e, not null. | 215 expect(bpt is Breakpoint, isTrue); // I.e, not null. |
| 216 | 216 |
| 217 bool hitBreakpoint = false; | 217 bool hitBreakpoint = false; |
| 218 var sub; | 218 var sub; |
| 219 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 219 sub = isolate.vm.events.stream.listen((ServiceEvent event) async { |
| 220 print("Event $event"); | 220 print("Event $event"); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 242 expect(r.valueAsString, equals('8')); /// instance: continued | 242 expect(r.valueAsString, equals('8')); /// instance: continued |
| 243 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); /// instance: cont
inued | 243 r = await isolate.evalFrame(frameNumber, 'math.sqrt'); /// instance: cont
inued |
| 244 expect(r.isClosure, isTrue); /// instance: continued | 244 expect(r.isClosure, isTrue); /// instance: continued |
| 245 | 245 |
| 246 hitBreakpoint = true; | 246 hitBreakpoint = true; |
| 247 sub.cancel(); // Do not handle events for the other tests. | 247 sub.cancel(); // Do not handle events for the other tests. |
| 248 isolate.resume(); | 248 isolate.resume(); |
| 249 } | 249 } |
| 250 }); | 250 }); |
| 251 | 251 |
| 252 var result = await isolate.eval(rootLib, | 252 var result = await rootLib.evaluate( |
| 253 '(){ new C().method4(3); C.closureWithReturnedHome(7); }()'); | 253 '(){ new C().method4(3); C.closureWithReturnedHome(7); }()'); |
| 254 print("Result $result"); | 254 print("Result $result"); |
| 255 expect(hitBreakpoint, isTrue); | 255 expect(hitBreakpoint, isTrue); |
| 256 } | 256 } |
| 257 | 257 |
| 258 var tests = [ | 258 var tests = [ |
| 259 testMethod, | 259 testMethod, |
| 260 testMethod2, | 260 testMethod2, |
| 261 testMethod3, | 261 testMethod3, |
| 262 testMethod4, | 262 testMethod4, |
| 263 ]; | 263 ]; |
| 264 | 264 |
| 265 main(args) => runIsolateTests(args, tests); | 265 main(args) => runIsolateTests(args, tests); |
| OLD | NEW |