| 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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 72   expect(math.sqrt(4), equals(2)); | 72   expect(math.sqrt(4), equals(2)); | 
| 73   Library rootLib = await isolate.rootLibrary.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.debugEvents.listen((ServiceEvent event) async { | 82   sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 
| 83     print("Event $event"); | 83     print("Event $event"); | 
| 84     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 84     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 
| 85       var frameNumber = 1, r; | 85       var frameNumber = 1, r; | 
| 86       r = await isolate.evalFrame(frameNumber, '123');  /// instance: ok | 86       r = await isolate.evalFrame(frameNumber, '123');  /// instance: ok | 
| 87       expect(r.valueAsString, equals('123'));  /// instance: continued | 87       expect(r.valueAsString, equals('123'));  /// instance: continued | 
| 88       r = await isolate.evalFrame(frameNumber, 'this');  /// scope: ok | 88       r = await isolate.evalFrame(frameNumber, 'this');  /// scope: ok | 
| 89       expect(r.clazz.name, equals('C'));  /// scope: continued | 89       expect(r.clazz.name, equals('C'));  /// scope: continued | 
| 90       r = await isolate.evalFrame(frameNumber, 'instVar');  /// instance: contin
     ued | 90       r = await isolate.evalFrame(frameNumber, 'instVar');  /// instance: contin
     ued | 
| 91       expect(r.valueAsString, equals('1'));  /// instance: continued | 91       expect(r.valueAsString, equals('1'));  /// instance: continued | 
| 92       r = await isolate.evalFrame(frameNumber, 'classVar'); /// instance: contin
     ued | 92       r = await isolate.evalFrame(frameNumber, 'classVar'); /// instance: contin
     ued | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 120 testMethod2(Isolate isolate) async { | 120 testMethod2(Isolate isolate) async { | 
| 121   Library rootLib = await isolate.rootLibrary.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.debugEvents.listen((ServiceEvent event) async { | 130   sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 
| 131     print("Event $event"); | 131     print("Event $event"); | 
| 132     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 132     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 
| 133       var frameNumber = 1, r; | 133       var frameNumber = 1, r; | 
| 134       r = await isolate.evalFrame(frameNumber, '123'); | 134       r = await isolate.evalFrame(frameNumber, '123'); | 
| 135       expect(r.valueAsString, equals('123')); | 135       expect(r.valueAsString, equals('123')); | 
| 136       r = await isolate.evalFrame(frameNumber, 'this'); | 136       r = await isolate.evalFrame(frameNumber, 'this'); | 
| 137       expect(r is DartError, isTrue); | 137       expect(r is DartError, isTrue); | 
| 138       r = await isolate.evalFrame(frameNumber, 'instVar'); | 138       r = await isolate.evalFrame(frameNumber, 'instVar'); | 
| 139       expect(r is DartError, isTrue); | 139       expect(r is DartError, isTrue); | 
| 140       r = await isolate.evalFrame(frameNumber, 'classVar'); | 140       r = await isolate.evalFrame(frameNumber, 'classVar'); | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 168 testMethod3(Isolate isolate) async { | 168 testMethod3(Isolate isolate) async { | 
| 169   Library rootLib = await isolate.rootLibrary.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.debugEvents.listen((ServiceEvent event) async { | 178   sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 
| 179     print("Event $event"); | 179     print("Event $event"); | 
| 180     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 180     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 
| 181       var frameNumber = 1, r; | 181       var frameNumber = 1, r; | 
| 182       r = await isolate.evalFrame(frameNumber, '123'); | 182       r = await isolate.evalFrame(frameNumber, '123'); | 
| 183       expect(r.valueAsString, equals('123')); | 183       expect(r.valueAsString, equals('123')); | 
| 184       r = await isolate.evalFrame(frameNumber, 'this'); | 184       r = await isolate.evalFrame(frameNumber, 'this'); | 
| 185       expect(r.clazz.name, equals('C')); | 185       expect(r.clazz.name, equals('C')); | 
| 186       r = await isolate.evalFrame(frameNumber, 'instVar'); | 186       r = await isolate.evalFrame(frameNumber, 'instVar'); | 
| 187       expect(r.valueAsString, equals('1')); | 187       expect(r.valueAsString, equals('1')); | 
| 188       r = await isolate.evalFrame(frameNumber, 'classVar'); | 188       r = await isolate.evalFrame(frameNumber, 'classVar'); | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 209 testMethod4(Isolate isolate) async { | 209 testMethod4(Isolate isolate) async { | 
| 210   Library rootLib = await isolate.rootLibrary.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.debugEvents.listen((ServiceEvent event) async { | 219   sub = isolate.vm.events.stream.listen((ServiceEvent event) async { | 
| 220     print("Event $event"); | 220     print("Event $event"); | 
| 221     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 221     if (event.eventType == ServiceEvent.kPauseBreakpoint) { | 
| 222       var frameNumber = 1, r; | 222       var frameNumber = 1, r; | 
| 223       r = await isolate.evalFrame(frameNumber, '123');  /// instance: continued | 223       r = await isolate.evalFrame(frameNumber, '123');  /// instance: continued | 
| 224       expect(r.valueAsString, equals('123'));  /// instance: continued | 224       expect(r.valueAsString, equals('123'));  /// instance: continued | 
| 225       r = await isolate.evalFrame(frameNumber, 'this');  /// scope: continued | 225       r = await isolate.evalFrame(frameNumber, 'this');  /// scope: continued | 
| 226       expect(r.clazz.name, equals('C'));  /// scope: continued | 226       expect(r.clazz.name, equals('C'));  /// scope: continued | 
| 227       r = await isolate.evalFrame(frameNumber, 'instVar');  /// instance: contin
     ued | 227       r = await isolate.evalFrame(frameNumber, 'instVar');  /// instance: contin
     ued | 
| 228       expect(r.valueAsString, equals('1'));  /// instance: continued | 228       expect(r.valueAsString, equals('1'));  /// instance: continued | 
| 229       r = await isolate.evalFrame(frameNumber, 'classVar');  /// instance: conti
     nued | 229       r = await isolate.evalFrame(frameNumber, 'classVar');  /// instance: conti
     nued | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 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 | 
|---|