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=--error_on_bad_type --error_on_bad_override --complete_timeline | 4 // VMOptions=--error_on_bad_type --error_on_bad_override --complete_timeline |
5 | 5 |
6 import 'dart:developer'; | 6 import 'dart:developer'; |
7 import 'package:observatory/service_io.dart'; | 7 import 'package:observatory/service_io.dart'; |
8 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
9 | 9 |
10 import 'test_helper.dart'; | 10 import 'test_helper.dart'; |
(...skipping 28 matching lines...) Expand all Loading... |
39 continue; | 39 continue; |
40 } | 40 } |
41 if (event['name'] == 'Runnable' && event['ph'] == 'i') { | 41 if (event['name'] == 'Runnable' && event['ph'] == 'i') { |
42 // Skip Runnable events which don't have an isolate. | 42 // Skip Runnable events which don't have an isolate. |
43 continue; | 43 continue; |
44 } | 44 } |
45 if (event['cat'] == 'VM') { | 45 if (event['cat'] == 'VM') { |
46 // Skip VM category events which don't have an isolate. | 46 // Skip VM category events which don't have an isolate. |
47 continue; | 47 continue; |
48 } | 48 } |
| 49 if (event['cat'] == 'API') { |
| 50 // Skip API category events which sometimes don't have an isolate. |
| 51 continue; |
| 52 } |
49 Map arguments = event['args']; | 53 Map arguments = event['args']; |
50 expect(arguments, new isInstanceOf<Map>()); | 54 expect(arguments, new isInstanceOf<Map>()); |
51 expect(arguments['isolateNumber'], new isInstanceOf<String>()); | 55 expect(arguments['isolateNumber'], new isInstanceOf<String>()); |
52 } | 56 } |
53 } | 57 } |
54 | 58 |
55 var tests = [ | 59 var tests = [ |
56 (VM vm) async { | 60 (VM vm) async { |
57 Map result = await vm.invokeRpcNoUpgrade('_getVMTimeline', {}); | 61 Map result = await vm.invokeRpcNoUpgrade('_getVMTimeline', {}); |
58 expect(result['type'], equals('_Timeline')); | 62 expect(result['type'], equals('_Timeline')); |
59 expect(result['traceEvents'], new isInstanceOf<List>()); | 63 expect(result['traceEvents'], new isInstanceOf<List>()); |
60 List<Map> dartEvents = filterForDartEvents(result['traceEvents']); | 64 List<Map> dartEvents = filterForDartEvents(result['traceEvents']); |
61 expect(dartEvents.length, equals(5)); | 65 expect(dartEvents.length, equals(5)); |
62 allEventsHaveIsolateNumber(dartEvents); | 66 allEventsHaveIsolateNumber(dartEvents); |
63 allEventsHaveIsolateNumber(result['traceEvents']); | 67 allEventsHaveIsolateNumber(result['traceEvents']); |
64 expect(eventsContains(dartEvents, 'I', 'ISYNC'), isTrue); | 68 expect(eventsContains(dartEvents, 'I', 'ISYNC'), isTrue); |
65 expect(eventsContains(dartEvents, 'X', 'apple'), isTrue); | 69 expect(eventsContains(dartEvents, 'X', 'apple'), isTrue); |
66 expect(eventsContains(dartEvents, 'b', 'TASK1'), isTrue); | 70 expect(eventsContains(dartEvents, 'b', 'TASK1'), isTrue); |
67 expect(eventsContains(dartEvents, 'e', 'TASK1'), isTrue); | 71 expect(eventsContains(dartEvents, 'e', 'TASK1'), isTrue); |
68 expect(eventsContains(dartEvents, 'n', 'ITASK'), isTrue); | 72 expect(eventsContains(dartEvents, 'n', 'ITASK'), isTrue); |
69 expect(eventsContains(dartEvents, 'q', 'ITASK'), isFalse); | 73 expect(eventsContains(dartEvents, 'q', 'ITASK'), isFalse); |
70 }, | 74 }, |
71 ]; | 75 ]; |
72 | 76 |
73 main(args) async => runVMTests(args, tests, testeeBefore: primeTimeline); | 77 main(args) async => runVMTests(args, tests, testeeBefore: primeTimeline); |
OLD | NEW |