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

Side by Side Diff: runtime/observatory/tests/service/metrics_test.dart

Issue 1120133002: Rework error handling in the service protocol and in Observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix tests Created 5 years, 7 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 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 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:profiler'; 10 import 'dart:profiler';
11 11
12 void script() { 12 void script() {
13 var counter = new Counter('a.b.c', 'description'); 13 var counter = new Counter('a.b.c', 'description');
14 Metrics.register(counter); 14 Metrics.register(counter);
15 counter.value = 1234.5; 15 counter.value = 1234.5;
16 } 16 }
17 17
18 var tests = [ 18 var tests = [
19 19
20 (Isolate isolate) => 20 (Isolate isolate) async {
21 isolate.refreshDartMetrics().then((Map metrics) { 21 Map metrics = await isolate.refreshDartMetrics();
22 expect(metrics.length, equals(1)); 22 expect(metrics.length, equals(1));
23 var counter = metrics['metrics/a.b.c']; 23 var counter = metrics['metrics/a.b.c'];
24 expect(counter.name, equals('a.b.c')); 24 expect(counter.name, equals('a.b.c'));
25 expect(counter.value, equals(1234.5)); 25 expect(counter.value, equals(1234.5));
26 }), 26 },
27 27
28 (Isolate isolate) => 28 (Isolate isolate) async {
29 isolate.invokeRpc('getIsolateMetric', { 'metricId': 'metrics/a.b.c' }) 29 var params = { 'metricId': 'metrics/a.b.c' };
30 .then((ServiceMetric counter) { 30 ServiceMetric counter =
31 await isolate.invokeRpc('getIsolateMetric', params);
31 expect(counter.name, equals('a.b.c')); 32 expect(counter.name, equals('a.b.c'));
32 expect(counter.value, equals(1234.5)); 33 expect(counter.value, equals(1234.5));
33 }), 34 },
34 35
35 (Isolate isolate) => 36 (Isolate isolate) async {
36 isolate.invokeRpc('getIsolateMetric', { 'metricId': 'metrics/a.b.d' }) 37 bool caughtException;
37 .then((DartError err) { 38 try {
38 expect(err is DartError, isTrue); 39 await isolate.invokeRpc('getIsolateMetric',
39 }), 40 { 'metricId': 'metrics/a.b.d' });
41 expect(false, isTrue, reason:'Unreachable');
42 } on ServerRpcException catch (e) {
43 caughtException = true;
44 expect(e.code, equals(ServerRpcException.kInvalidParams));
45 expect(e.message,
46 "getIsolateMetric: invalid 'metricId' parameter: metrics/a.b.d");
47 }
48 expect(caughtException, isTrue);
49 },
40 ]; 50 ];
41 51
42 main(args) => runIsolateTests(args, tests, testeeBefore: script); 52 main(args) => runIsolateTests(args, tests, testeeBefore: script);
OLDNEW
« no previous file with comments | « runtime/observatory/tests/service/malformed_test.dart ('k') | runtime/observatory/tests/service/native_metrics_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698