OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 /** | 5 /** |
6 * Classes and methods for enumerating and preparing tests. | 6 * Classes and methods for enumerating and preparing tests. |
7 * | 7 * |
8 * This library includes: | 8 * This library includes: |
9 * | 9 * |
10 * - Creating tests by listing all the Dart files in certain directories, | 10 * - Creating tests by listing all the Dart files in certain directories, |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 enqueueTestCaseFromTestInformation(info); | 510 enqueueTestCaseFromTestInformation(info); |
511 } | 511 } |
512 }); | 512 }); |
513 } | 513 } |
514 }).then((_) { | 514 }).then((_) { |
515 if (onDone != null) onDone(); | 515 if (onDone != null) onDone(); |
516 }); | 516 }); |
517 } | 517 } |
518 | 518 |
519 /** | 519 /** |
520 * If DumpRenderTree/Dartium is required, and not yet updated, waits for | 520 * If Content shell/Dartium is required, and not yet updated, waits for |
521 * the update then completes. Otherwise completes immediately. | 521 * the update then completes. Otherwise completes immediately. |
522 */ | 522 */ |
523 Future updateDartium() { | 523 Future updateDartium() { |
524 var completer = new Completer(); | 524 var completer = new Completer(); |
525 var updater = runtimeUpdater(configuration); | 525 var updater = runtimeUpdater(configuration); |
526 if (updater == null || updater.updated) { | 526 if (updater == null || updater.updated) { |
527 return new Future.immediate(null); | 527 return new Future.immediate(null); |
528 } | 528 } |
529 | 529 |
530 assert(updater.isActive); | 530 assert(updater.isActive); |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1011 args.add('--force-refresh'); | 1011 args.add('--force-refresh'); |
1012 } | 1012 } |
1013 commandSet.add(new Command('python', args)); | 1013 commandSet.add(new Command('python', args)); |
1014 } else { | 1014 } else { |
1015 if (runtime != "drt") { | 1015 if (runtime != "drt") { |
1016 print("Unknown runtime $runtime"); | 1016 print("Unknown runtime $runtime"); |
1017 exit(1); | 1017 exit(1); |
1018 } | 1018 } |
1019 | 1019 |
1020 var dartFlags = []; | 1020 var dartFlags = []; |
1021 var dumpRenderTreeOptions = []; | 1021 var contentShellOptions = []; |
1022 | 1022 |
1023 dumpRenderTreeOptions.add('--no-timeout'); | 1023 contentShellOptions.add('--no-timeout'); |
| 1024 contentShellOptions.add('--dump-render-tree'); |
1024 | 1025 |
1025 if (compiler == 'none' || compiler == 'dart2dart') { | 1026 if (compiler == 'none' || compiler == 'dart2dart') { |
1026 dartFlags.add('--ignore-unrecognized-flags'); | 1027 dartFlags.add('--ignore-unrecognized-flags'); |
1027 if (configuration["checked"]) { | 1028 if (configuration["checked"]) { |
1028 dartFlags.add('--enable_asserts'); | 1029 dartFlags.add('--enable_asserts'); |
1029 dartFlags.add("--enable_type_checks"); | 1030 dartFlags.add("--enable_type_checks"); |
1030 } | 1031 } |
1031 dartFlags.addAll(vmOptions); | 1032 dartFlags.addAll(vmOptions); |
1032 } | 1033 } |
1033 | 1034 |
1034 if (expectedOutput != null) { | 1035 if (expectedOutput != null) { |
1035 if (expectedOutput.toNativePath().endsWith('.png')) { | 1036 if (expectedOutput.toNativePath().endsWith('.png')) { |
1036 // pixel tests are specified by running DRT "foo.html'-p" | 1037 // pixel tests are specified by running DRT "foo.html'-p" |
1037 dumpRenderTreeOptions.add('--notree'); | 1038 contentShellOptions.add('--notree'); |
1038 fullHtmlPath = "${fullHtmlPath}'-p"; | 1039 fullHtmlPath = "${fullHtmlPath}'-p"; |
1039 } | 1040 } |
1040 } | 1041 } |
1041 commandSet.add(new DumpRenderTreeCommand(dumpRenderTreeFilename, | 1042 commandSet.add(new ContentShellCommand(contentShellFilename, |
1042 fullHtmlPath, | 1043 fullHtmlPath, |
1043 dumpRenderTreeOptions, | 1044 contentShellOptions, |
1044 dartFlags, | 1045 dartFlags, |
1045 expectedOutput)); | 1046 expectedOutput)); |
1046 } | 1047 } |
1047 | 1048 |
1048 // Create BrowserTestCase and queue it. | 1049 // Create BrowserTestCase and queue it. |
1049 String testDisplayName = '$suiteName/$testName'; | 1050 String testDisplayName = '$suiteName/$testName'; |
1050 var testCase; | 1051 var testCase; |
1051 if (info.optionsFromFile['isMultiHtmlTest']) { | 1052 if (info.optionsFromFile['isMultiHtmlTest']) { |
1052 testDisplayName = '$testDisplayName/${subtestNames[subtestIndex]}'; | 1053 testDisplayName = '$testDisplayName/${subtestNames[subtestIndex]}'; |
1053 testCase = new BrowserTestCase(testDisplayName, | 1054 testCase = new BrowserTestCase(testDisplayName, |
1054 commandSet, configuration, completeHandler, | 1055 commandSet, configuration, completeHandler, |
1055 expectations['$testName/${subtestNames[subtestIndex]}'], | 1056 expectations['$testName/${subtestNames[subtestIndex]}'], |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1165 | 1166 |
1166 bool get hasRuntime { | 1167 bool get hasRuntime { |
1167 switch(configuration['runtime']) { | 1168 switch(configuration['runtime']) { |
1168 case 'none': | 1169 case 'none': |
1169 return false; | 1170 return false; |
1170 default: | 1171 default: |
1171 return true; | 1172 return true; |
1172 } | 1173 } |
1173 } | 1174 } |
1174 | 1175 |
1175 String get dumpRenderTreeFilename { | 1176 String get contentShellFilename { |
1176 if (configuration['drt'] != '') { | 1177 if (configuration['drt'] != '') { |
1177 return configuration['drt']; | 1178 return configuration['drt']; |
1178 } | 1179 } |
1179 if (Platform.operatingSystem == 'macos') { | 1180 if (Platform.operatingSystem == 'macos') { |
1180 return dartDir.append('/client/tests/drt/DumpRenderTree.app/Contents/' | 1181 return dartDir.append('/client/tests/drt/Content Shell.app/Contents/' |
1181 'MacOS/DumpRenderTree').toNativePath(); | 1182 'MacOS/Content Shell').toNativePath(); |
1182 } | 1183 } |
1183 return dartDir.append('client/tests/drt/DumpRenderTree').toNativePath(); | 1184 return dartDir.append('client/tests/drt/content_shell').toNativePath(); |
1184 } | 1185 } |
1185 | 1186 |
1186 String get dartiumFilename { | 1187 String get dartiumFilename { |
1187 if (configuration['dartium'] != '') { | 1188 if (configuration['dartium'] != '') { |
1188 return configuration['dartium']; | 1189 return configuration['dartium']; |
1189 } | 1190 } |
1190 if (Platform.operatingSystem == 'macos') { | 1191 if (Platform.operatingSystem == 'macos') { |
1191 return dartDir.append('client/tests/dartium/Chromium.app/Contents/' | 1192 return dartDir.append('client/tests/dartium/Chromium.app/Contents/' |
1192 'MacOS/Chromium').toNativePath(); | 1193 'MacOS/Chromium').toNativePath(); |
1193 } | 1194 } |
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1929 * $pass tests are expected to pass | 1930 * $pass tests are expected to pass |
1930 * $failOk tests are expected to fail that we won't fix | 1931 * $failOk tests are expected to fail that we won't fix |
1931 * $fail tests are expected to fail that we should fix | 1932 * $fail tests are expected to fail that we should fix |
1932 * $crash tests are expected to crash that we should fix | 1933 * $crash tests are expected to crash that we should fix |
1933 * $timeout tests are allowed to timeout | 1934 * $timeout tests are allowed to timeout |
1934 * $compileErrorSkip tests are skipped on browsers due to compile-time error | 1935 * $compileErrorSkip tests are skipped on browsers due to compile-time error |
1935 """; | 1936 """; |
1936 print(report); | 1937 print(report); |
1937 } | 1938 } |
1938 } | 1939 } |
OLD | NEW |