Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Side by Side Diff: runtime/bin/vmservice/observatory/test/metrics_test.dart

Issue 460523002: Even easier observatory testing. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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);
OLDNEW
« no previous file with comments | « runtime/bin/vmservice/observatory/test/metrics_script.dart ('k') | runtime/bin/vmservice/observatory/test/test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698