OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 test_options_parser; | 5 library test_options_parser; |
6 | 6 |
7 import "dart:io"; | 7 import "dart:io"; |
8 import "dart:math"; | 8 import "dart:math"; |
9 import "drt_updater.dart"; | 9 import "drt_updater.dart"; |
10 import "test_suite.dart"; | 10 import "test_suite.dart"; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 dart2dart: Compile Dart code to Dart code | 72 dart2dart: Compile Dart code to Dart code |
73 (only valid with the following runtimes: vm, drt) | 73 (only valid with the following runtimes: vm, drt) |
74 | 74 |
75 dart2js: Compile dart code to JavaScript by running dart2js. | 75 dart2js: Compile dart code to JavaScript by running dart2js. |
76 (only valid with the following runtimes: d8, drt, chrome, | 76 (only valid with the following runtimes: d8, drt, chrome, |
77 safari, ie9, ie10, firefox, opera, none (compile only)), | 77 safari, ie9, ie10, firefox, opera, none (compile only)), |
78 | 78 |
79 dartc: Perform static analysis on Dart code by running dartc. | 79 dartc: Perform static analysis on Dart code by running dartc. |
80 (only valid with the following runtimes: none), | 80 (only valid with the following runtimes: none), |
81 | 81 |
82 new_analyzer: Perform static analysis on Dart code by running the analyzer. | 82 dartanalyzer: Perform static analysis on Dart code by running the analyzer. |
83 (only valid with the following runtimes: none)''', | 83 (only valid with the following runtimes: none)''', |
84 ['-c', '--compiler'], | 84 ['-c', '--compiler'], |
85 ['none', 'dart2dart', 'dart2js', 'dartc', 'new_analyzer'], | 85 ['none', 'dart2dart', 'dart2js', 'dartc', 'dartanalyzer'], |
86 'none'), | 86 'none'), |
87 new _TestOptionSpecification( | 87 new _TestOptionSpecification( |
88 'runtime', | 88 'runtime', |
89 '''Where the tests should be run. | 89 '''Where the tests should be run. |
90 vm: Run Dart code on the standalone dart vm. | 90 vm: Run Dart code on the standalone dart vm. |
91 | 91 |
92 d8: Run JavaScript from the command line using v8. | 92 d8: Run JavaScript from the command line using v8. |
93 | 93 |
94 jsshell: Run JavaScript from the command line using firefox js-shell. | 94 jsshell: Run JavaScript from the command line using firefox js-shell. |
95 | 95 |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 case 'dart2js': | 435 case 'dart2js': |
436 // Note: by adding 'none' as a configuration, if the user | 436 // Note: by adding 'none' as a configuration, if the user |
437 // runs test.py -c dart2js -r drt,none the dart2js_none and | 437 // runs test.py -c dart2js -r drt,none the dart2js_none and |
438 // dart2js_drt will be duplicating work. If later we don't need 'none' | 438 // dart2js_drt will be duplicating work. If later we don't need 'none' |
439 // with dart2js, we should remove it from here. | 439 // with dart2js, we should remove it from here. |
440 validRuntimes = const ['d8', 'jsshell', 'drt', 'none', 'dartium', | 440 validRuntimes = const ['d8', 'jsshell', 'drt', 'none', 'dartium', |
441 'ff', 'chrome', 'safari', 'ie9', 'ie10', | 441 'ff', 'chrome', 'safari', 'ie9', 'ie10', |
442 'opera']; | 442 'opera']; |
443 break; | 443 break; |
444 case 'dartc': | 444 case 'dartc': |
445 case 'new_analyzer': | 445 case 'dartanalyzer': |
446 validRuntimes = const ['none']; | 446 validRuntimes = const ['none']; |
447 break; | 447 break; |
448 case 'none': | 448 case 'none': |
449 case 'dart2dart': | 449 case 'dart2dart': |
450 validRuntimes = const ['vm', 'drt', 'dartium']; | 450 validRuntimes = const ['vm', 'drt', 'dartium']; |
451 break; | 451 break; |
452 } | 452 } |
453 if (!validRuntimes.contains(config['runtime'])) { | 453 if (!validRuntimes.contains(config['runtime'])) { |
454 isValid = false; | 454 isValid = false; |
455 print("Warning: combination of compiler '${config['compiler']}' and " | 455 print("Warning: combination of compiler '${config['compiler']}' and " |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 if (updater != null) { | 584 if (updater != null) { |
585 updater.update(); | 585 updater.update(); |
586 } | 586 } |
587 } | 587 } |
588 | 588 |
589 // Adjust default timeout based on mode, compiler, and sometimes runtime. | 589 // Adjust default timeout based on mode, compiler, and sometimes runtime. |
590 if (configuration['timeout'] == -1) { | 590 if (configuration['timeout'] == -1) { |
591 var timeout = 60; | 591 var timeout = 60; |
592 switch (configuration['compiler']) { | 592 switch (configuration['compiler']) { |
593 case 'dartc': | 593 case 'dartc': |
594 case 'new_analyzer': | 594 case 'dartanalyzer': |
595 timeout *= 4; | 595 timeout *= 4; |
596 break; | 596 break; |
597 case 'dart2js': | 597 case 'dart2js': |
598 // TODO(ahe): Restore the timeout of 30 seconds when dart2js | 598 // TODO(ahe): Restore the timeout of 30 seconds when dart2js |
599 // compile-time performance has improved. | 599 // compile-time performance has improved. |
600 timeout = 60; | 600 timeout = 60; |
601 if (configuration['mode'] == 'debug') { | 601 if (configuration['mode'] == 'debug') { |
602 timeout *= 8; | 602 timeout *= 8; |
603 } | 603 } |
604 if (configuration['host_checked']) { | 604 if (configuration['host_checked']) { |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 return option; | 699 return option; |
700 } | 700 } |
701 } | 701 } |
702 print('Unknown test option $name'); | 702 print('Unknown test option $name'); |
703 exit(1); | 703 exit(1); |
704 } | 704 } |
705 | 705 |
706 | 706 |
707 List<_TestOptionSpecification> _options; | 707 List<_TestOptionSpecification> _options; |
708 } | 708 } |
OLD | NEW |