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

Side by Side Diff: pkg/analysis_server/benchmark/perf/analysis_timing_tests.dart

Issue 2344933002: Fix recently introduced strong-mode errors (Closed)
Patch Set: Created 4 years, 3 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
OLDNEW
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 4
5 library server.performance.analysis.timing; 5 library server.performance.analysis.timing;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 9
10 import 'package:analysis_server/plugin/protocol/protocol.dart'; 10 import 'package:analysis_server/plugin/protocol/protocol.dart';
(...skipping 26 matching lines...) Expand all
37 unittestConfiguration.timeout = new Duration(minutes: 20); 37 unittestConfiguration.timeout = new Duration(minutes: 20);
38 38
39 var test; 39 var test;
40 40
41 if (metricNames.isEmpty) { 41 if (metricNames.isEmpty) {
42 test = new AnalysisTimingTest(); 42 test = new AnalysisTimingTest();
43 } else { 43 } else {
44 test = new SubscriptionTimingTest(); 44 test = new SubscriptionTimingTest();
45 } 45 }
46 46
47 Future.wait([test.test_timing()]); 47 Future.wait(<Future>[test.test_timing()]);
Jennifer Messerly 2016/09/15 21:00:33 maybe put a type on "var test" above? Then it woul
Brian Wilkerson 2016/09/15 21:37:26 The superclass of those two classes doesn't define
48 } 48 }
49 49
50 const DEFAULT_METRIC = 'analysis'; 50 const DEFAULT_METRIC = 'analysis';
51 const METRIC_NAME_OPTION = 'metric'; 51 const METRIC_NAME_OPTION = 'metric';
52 const PRIORITY_FILE_OPTION = 'priority'; 52 const PRIORITY_FILE_OPTION = 'priority';
53 const SOURCE_OPTION = 'source'; 53 const SOURCE_OPTION = 'source';
54 54
55 final metricNames = <String>[]; 55 final metricNames = <String>[];
56 String priorityFile; 56 String priorityFile;
57 String source; 57 String source;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 * SubscriptionTimingTest measures the time taken by the analysis server to retu rn 96 * SubscriptionTimingTest measures the time taken by the analysis server to retu rn
97 * information for navigation, semantic highlighting, outline, get occurances, 97 * information for navigation, semantic highlighting, outline, get occurances,
98 * overrides, folding and implemented. These timings are wrt to the specified pr iority file 98 * overrides, folding and implemented. These timings are wrt to the specified pr iority file
99 * - the file that is currently opened and has focus in the editor. Measure the time from 99 * - the file that is currently opened and has focus in the editor. Measure the time from
100 * when the client subscribes for the notifications till there is a response fro m the server. 100 * when the client subscribes for the notifications till there is a response fro m the server.
101 * Does not wait for analysis to be complete before subscribing for notification s. 101 * Does not wait for analysis to be complete before subscribing for notification s.
102 */ 102 */
103 class SubscriptionTimingTest extends AbstractTimingTest { 103 class SubscriptionTimingTest extends AbstractTimingTest {
104 List<Metric> _metrics; 104 List<Metric> _metrics;
105 105
106 List<Metric> get metrics => 106 List<Metric> get metrics => _metrics ??=
107 _metrics ??= metricNames.map((name) => getMetric(name)).toList(); 107 new List<Metric>.from(metricNames.map((name) => getMetric(name)));
Jennifer Messerly 2016/09/15 21:00:33 any idea what happened here? it doesn't look like
Brian Wilkerson 2016/09/15 21:37:26 Nope. I tried to reproduce the error and couldn't,
108 108
109 Metric getMetric(String name) { 109 Metric getMetric(String name) {
110 switch (name) { 110 switch (name) {
111 case 'folding': 111 case 'folding':
112 return new Metric(name, AnalysisService.FOLDING, onAnalysisFolding); 112 return new Metric(name, AnalysisService.FOLDING, onAnalysisFolding);
113 case 'highlighting': 113 case 'highlighting':
114 return new Metric( 114 return new Metric(
115 name, AnalysisService.HIGHLIGHTS, onAnalysisHighlights); 115 name, AnalysisService.HIGHLIGHTS, onAnalysisHighlights);
116 case 'implemented': 116 case 'implemented':
117 return new Metric( 117 return new Metric(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 158
159 sendAnalysisSetPriorityFiles([priorityFile]); 159 sendAnalysisSetPriorityFiles([priorityFile]);
160 160
161 await analysisFinished; 161 await analysisFinished;
162 print('analysis completed in ${stopwatch.elapsed}'); 162 print('analysis completed in ${stopwatch.elapsed}');
163 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}')); 163 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}'));
164 164
165 await shutdown(); 165 await shutdown();
166 } 166 }
167 } 167 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analysis_server/test/context_manager_test.dart » ('j') | pkg/analyzer/test/src/task/dart_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698