| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 library allocations_test; | |
| 6 | |
| 7 import 'test_helper.dart'; | |
| 8 import 'package:observatory/service_io.dart'; | 1 import 'package:observatory/service_io.dart'; |
| 9 import 'package:unittest/unittest.dart'; | 2 import 'package:unittest/unittest.dart'; |
| 3 import 'test_helper.dart'; |
| 10 | 4 |
| 11 import 'dart:io'; | 5 import 'dart:profiler'; |
| 12 | 6 |
| 13 main() { | 7 void script() { |
| 14 String script = 'metrics_script.dart'; | 8 var counter = new Counter('a.b.c', 'description'); |
| 15 var process = new TestLauncher(script); | 9 Metrics.register(counter); |
| 16 process.launch().then((port) { | 10 counter.value = 1234.5; |
| 17 String addr = 'ws://localhost:$port/ws'; | |
| 18 new WebSocketVM(new WebSocketVMTarget(addr)).get('vm') | |
| 19 .then((VM vm) => vm.isolates.first.load()) | |
| 20 .then((Isolate isolate) => | |
| 21 isolate.get('metrics').then((ServiceMap metrics) { | |
| 22 expect(metrics['type'], equals('MetricList')); | |
| 23 var members = metrics['members']; | |
| 24 expect(members, isList); | |
| 25 expect(members.length, equals(1)); | |
| 26 var counter = members[0]; | |
| 27 expect(counter['name'], equals('a.b.c')); | |
| 28 expect(counter['value'], equals(1234.5)); | |
| 29 return isolate; | |
| 30 })) | |
| 31 .then((Isolate isolate) => | |
| 32 isolate.get('metrics/a.b.c').then((ServiceMap counter) { | |
| 33 expect(counter['name'], equals('a.b.c')); | |
| 34 expect(counter['value'], equals(1234.5)); | |
| 35 return isolate; | |
| 36 })) | |
| 37 .then((Isolate isolate) => | |
| 38 isolate.get('metrics/a.b.c.d').then((DartError err) { | |
| 39 expect(err is DartError, isTrue); | |
| 40 return isolate; | |
| 41 })) | |
| 42 .then((Isolate isolate) => exit(0)); | |
| 43 }); | |
| 44 } | 11 } |
| 12 |
| 13 var tests = [ |
| 14 |
| 15 (Isolate isolate) => |
| 16 isolate.get('metrics').then((ServiceMap metrics) { |
| 17 expect(metrics['type'], equals('MetricList')); |
| 18 var members = metrics['members']; |
| 19 expect(members, isList); |
| 20 expect(members.length, equals(1)); |
| 21 var counter = members[0]; |
| 22 expect(counter['name'], equals('a.b.c')); |
| 23 expect(counter['value'], equals(1234.5)); |
| 24 }), |
| 25 |
| 26 (Isolate isolate) => |
| 27 isolate.get('metrics/a.b.c').then((ServiceMap counter) { |
| 28 expect(counter['name'], equals('a.b.c')); |
| 29 expect(counter['value'], equals(1234.5)); |
| 30 }), |
| 31 |
| 32 (Isolate isolate) => |
| 33 isolate.get('metrics/a.b.d').then((DartError err) { |
| 34 expect(err is DartError, isTrue); |
| 35 }), |
| 36 |
| 37 ]; |
| 38 |
| 39 main(args) => runIsolateTests(args, tests, testeeBefore: script); |
| OLD | NEW |