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