| 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 | 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'; |
| 11 import 'package:args/args.dart'; | 11 import 'package:args/args.dart'; |
| 12 import 'package:test/test.dart'; | 12 import 'package:test/test.dart'; |
| 13 | 13 |
| 14 import '../../test/utils.dart'; | |
| 15 import 'performance_tests.dart'; | 14 import 'performance_tests.dart'; |
| 16 | 15 |
| 17 /** | 16 /** |
| 18 * Pass in the directory of the source to be analyzed as option `--source`, | 17 * Pass in the directory of the source to be analyzed as option `--source`, |
| 19 * optionally specify a priority file with `--priority` and the specific | 18 * optionally specify a priority file with `--priority` and the specific |
| 20 * test to run with `--metric`. If no test is specified, the default is | 19 * test to run with `--metric`. If no test is specified, the default is |
| 21 * `analysis`. | 20 * `analysis`. |
| 22 */ | 21 */ |
| 23 main(List<String> arguments) { | 22 main(List<String> arguments) { |
| 24 initializeTestEnvironment(); | |
| 25 ArgParser parser = _createArgParser(); | 23 ArgParser parser = _createArgParser(); |
| 26 var args = parser.parse(arguments); | 24 var args = parser.parse(arguments); |
| 27 if (args[SOURCE_OPTION] == null) { | 25 if (args[SOURCE_OPTION] == null) { |
| 28 print('path to source directory must be specified'); | 26 print('path to source directory must be specified'); |
| 29 exit(1); | 27 exit(1); |
| 30 } | 28 } |
| 31 source = args[SOURCE_OPTION]; | 29 source = args[SOURCE_OPTION]; |
| 32 priorityFile = args[PRIORITY_FILE_OPTION]; | 30 priorityFile = args[PRIORITY_FILE_OPTION]; |
| 33 List names = args[METRIC_NAME_OPTION] as List; | 31 List names = args[METRIC_NAME_OPTION] as List; |
| 34 for (var name in names) { | 32 for (var name in names) { |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 | 154 |
| 157 sendAnalysisSetPriorityFiles([priorityFile]); | 155 sendAnalysisSetPriorityFiles([priorityFile]); |
| 158 | 156 |
| 159 await analysisFinished; | 157 await analysisFinished; |
| 160 print('analysis completed in ${stopwatch.elapsed}'); | 158 print('analysis completed in ${stopwatch.elapsed}'); |
| 161 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}')); | 159 metrics.forEach((Metric m) => print('${m.name} timings: ${m.timings}')); |
| 162 | 160 |
| 163 await shutdown(); | 161 await shutdown(); |
| 164 } | 162 } |
| 165 } | 163 } |
| OLD | NEW |