| 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 "drt_updater.dart"; | 8 import "drt_updater.dart"; |
| 9 import "test_suite.dart"; | 9 import "test_suite.dart"; |
| 10 import "compiler_configuration.dart" show CompilerConfiguration; | 10 import "compiler_configuration.dart" show CompilerConfiguration; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 '''Specify any compilation step (if needed). | 56 '''Specify any compilation step (if needed). |
| 57 | 57 |
| 58 none: Do not compile the Dart code (run native Dart code on the VM). | 58 none: Do not compile the Dart code (run native Dart code on the VM). |
| 59 (only valid with the following runtimes: vm, drt) | 59 (only valid with the following runtimes: vm, drt) |
| 60 | 60 |
| 61 dart2dart: Compile Dart code to Dart code | 61 dart2dart: Compile Dart code to Dart code |
| 62 (only valid with the following runtimes: vm, drt) | 62 (only valid with the following runtimes: vm, drt) |
| 63 | 63 |
| 64 dart2js: Compile dart code to JavaScript by running dart2js. | 64 dart2js: Compile dart code to JavaScript by running dart2js. |
| 65 (only valid with the following runtimes: d8, drt, chrome, | 65 (only valid with the following runtimes: d8, drt, chrome, |
| 66 safari, ie9, ie10, firefox, opera, chromeOnAndroid, | 66 safari, ie9, ie10, ie11, firefox, opera, chromeOnAndroid, |
| 67 none (compile only)), | 67 none (compile only)), |
| 68 | 68 |
| 69 dartanalyzer: Perform static analysis on Dart code by running the analyzer on
Java. | 69 dartanalyzer: Perform static analysis on Dart code by running the analyzer on
Java. |
| 70 dart2analyzer: Perform static analysis on Dart code by running the analyzer o
n Dart. | 70 dart2analyzer: Perform static analysis on Dart code by running the analyzer o
n Dart. |
| 71 (only valid with the following runtimes: none)''', | 71 (only valid with the following runtimes: none)''', |
| 72 ['-c', '--compiler'], | 72 ['-c', '--compiler'], |
| 73 ['none', 'dart2dart', 'dart2js', 'dartanalyzer', 'dart2analyzer'], | 73 ['none', 'dart2dart', 'dart2js', 'dartanalyzer', 'dart2analyzer'], |
| 74 'none'), | 74 'none'), |
| 75 // TODO(antonm): fix the option drt. | 75 // TODO(antonm): fix the option drt. |
| 76 new _TestOptionSpecification( | 76 new _TestOptionSpecification( |
| 77 'runtime', | 77 'runtime', |
| 78 '''Where the tests should be run. | 78 '''Where the tests should be run. |
| 79 vm: Run Dart code on the standalone dart vm. | 79 vm: Run Dart code on the standalone dart vm. |
| 80 | 80 |
| 81 d8: Run JavaScript from the command line using v8. | 81 d8: Run JavaScript from the command line using v8. |
| 82 | 82 |
| 83 jsshell: Run JavaScript from the command line using firefox js-shell. | 83 jsshell: Run JavaScript from the command line using firefox js-shell. |
| 84 | 84 |
| 85 drt: Run Dart or JavaScript in the headless version of Chrome, | 85 drt: Run Dart or JavaScript in the headless version of Chrome, |
| 86 Content shell. | 86 Content shell. |
| 87 | 87 |
| 88 dartium: Run Dart or JavaScript in Dartium. | 88 dartium: Run Dart or JavaScript in Dartium. |
| 89 | 89 |
| 90 ContentShellOnAndroid: Run Dart or JavaScript in Dartium content shell | 90 ContentShellOnAndroid: Run Dart or JavaScript in Dartium content shell |
| 91 on Android. | 91 on Android. |
| 92 | 92 |
| 93 DartiumOnAndroid: Run Dart or Javascript in Dartium on Android. | 93 DartiumOnAndroid: Run Dart or Javascript in Dartium on Android. |
| 94 | 94 |
| 95 [ff | chrome | safari | ie9 | ie10 | opera | chromeOnAndroid]: | 95 [ff | chrome | safari | ie9 | ie10 | ie11 | opera | chromeOnAndroid]: |
| 96 Run JavaScript in the specified browser. | 96 Run JavaScript in the specified browser. |
| 97 | 97 |
| 98 none: No runtime, compile only (for example, used for dartanalyzer static | 98 none: No runtime, compile only (for example, used for dartanalyzer static |
| 99 analysis tests).''', | 99 analysis tests).''', |
| 100 ['-r', '--runtime'], | 100 ['-r', '--runtime'], |
| 101 ['vm', 'd8', 'jsshell', 'drt', 'dartium', 'ff', 'firefox', | 101 ['vm', 'd8', 'jsshell', 'drt', 'dartium', 'ff', 'firefox', |
| 102 'chrome', 'safari', 'ie9', 'ie10', 'opera', 'chromeOnAndroid', | 102 'chrome', 'safari', 'ie9', 'ie10', 'ie11', 'opera', |
| 103 'chromeOnAndroid', |
| 103 'ContentShellOnAndroid', 'DartiumOnAndroid', 'none'], | 104 'ContentShellOnAndroid', 'DartiumOnAndroid', 'none'], |
| 104 'vm'), | 105 'vm'), |
| 105 new _TestOptionSpecification( | 106 new _TestOptionSpecification( |
| 106 'arch', | 107 'arch', |
| 107 'The architecture to run tests for', | 108 'The architecture to run tests for', |
| 108 ['-a', '--arch'], | 109 ['-a', '--arch'], |
| 109 ['all', 'ia32', 'x64', 'simarm', 'simmips', 'arm', 'mips'], | 110 ['all', 'ia32', 'x64', 'simarm', 'simmips', 'arm', 'mips'], |
| 110 'ia32'), | 111 'ia32'), |
| 111 new _TestOptionSpecification( | 112 new _TestOptionSpecification( |
| 112 'system', | 113 'system', |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 bool _isValidConfig(Map config) { | 580 bool _isValidConfig(Map config) { |
| 580 bool isValid = true; | 581 bool isValid = true; |
| 581 List<String> validRuntimes; | 582 List<String> validRuntimes; |
| 582 switch (config['compiler']) { | 583 switch (config['compiler']) { |
| 583 case 'dart2js': | 584 case 'dart2js': |
| 584 // Note: by adding 'none' as a configuration, if the user | 585 // Note: by adding 'none' as a configuration, if the user |
| 585 // runs test.py -c dart2js -r drt,none the dart2js_none and | 586 // runs test.py -c dart2js -r drt,none the dart2js_none and |
| 586 // dart2js_drt will be duplicating work. If later we don't need 'none' | 587 // dart2js_drt will be duplicating work. If later we don't need 'none' |
| 587 // with dart2js, we should remove it from here. | 588 // with dart2js, we should remove it from here. |
| 588 validRuntimes = const ['d8', 'jsshell', 'drt', 'none', 'dartium', | 589 validRuntimes = const ['d8', 'jsshell', 'drt', 'none', 'dartium', |
| 589 'ff', 'chrome', 'safari', 'ie9', 'ie10', | 590 'ff', 'chrome', 'safari', 'ie9', 'ie10', 'ie11', |
| 590 'opera', 'chromeOnAndroid']; | 591 'opera', 'chromeOnAndroid']; |
| 591 break; | 592 break; |
| 592 case 'dartanalyzer': | 593 case 'dartanalyzer': |
| 593 case 'dart2analyzer': | 594 case 'dart2analyzer': |
| 594 validRuntimes = const ['none']; | 595 validRuntimes = const ['none']; |
| 595 break; | 596 break; |
| 596 case 'none': | 597 case 'none': |
| 597 case 'dart2dart': | 598 case 'dart2dart': |
| 598 validRuntimes = const ['vm', 'drt', 'dartium', | 599 validRuntimes = const ['vm', 'drt', 'dartium', |
| 599 'ContentShellOnAndroid', 'DartiumOnAndroid']; | 600 'ContentShellOnAndroid', 'DartiumOnAndroid']; |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 return option; | 806 return option; |
| 806 } | 807 } |
| 807 } | 808 } |
| 808 print('Unknown test option $name'); | 809 print('Unknown test option $name'); |
| 809 exit(1); | 810 exit(1); |
| 810 } | 811 } |
| 811 | 812 |
| 812 | 813 |
| 813 List<_TestOptionSpecification> _options; | 814 List<_TestOptionSpecification> _options; |
| 814 } | 815 } |
| OLD | NEW |