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 18 matching lines...) Expand all Loading... |
29 | 29 |
30 import "compiler_configuration.dart" | 30 import "compiler_configuration.dart" |
31 show CommandArtifact, CompilerConfiguration; | 31 show CommandArtifact, CompilerConfiguration; |
32 | 32 |
33 import "runtime_configuration.dart" show RuntimeConfiguration; | 33 import "runtime_configuration.dart" show RuntimeConfiguration; |
34 | 34 |
35 import 'browser_test.dart'; | 35 import 'browser_test.dart'; |
36 | 36 |
37 RegExp multiHtmlTestGroupRegExp = new RegExp(r"\s*[^/]\s*group\('[^,']*"); | 37 RegExp multiHtmlTestGroupRegExp = new RegExp(r"\s*[^/]\s*group\('[^,']*"); |
38 RegExp multiHtmlTestRegExp = new RegExp(r"useHtmlIndividualConfiguration()"); | 38 RegExp multiHtmlTestRegExp = new RegExp(r"useHtmlIndividualConfiguration()"); |
39 // Require at least one non-space character before '///' | 39 // Require at least one non-space character before '//[/#]' |
40 RegExp multiTestRegExp = new RegExp(r"\S *" | 40 RegExp multiTestRegExp = new RegExp(r"\S *" |
41 r"/// \w+:(.*)"); | 41 r"//[#/] \w+:(.*)"); |
42 RegExp dartExtension = new RegExp(r'\.dart$'); | 42 RegExp dartExtension = new RegExp(r'\.dart$'); |
43 | 43 |
44 /** | 44 /** |
45 * A simple function that tests [arg] and returns `true` or `false`. | 45 * A simple function that tests [arg] and returns `true` or `false`. |
46 */ | 46 */ |
47 typedef bool Predicate<T>(T arg); | 47 typedef bool Predicate<T>(T arg); |
48 | 48 |
49 typedef void CreateTest(Path filePath, Path originTestPath, | 49 typedef void CreateTest(Path filePath, Path originTestPath, |
50 bool hasCompileError, bool hasRuntimeError, | 50 bool hasCompileError, bool hasRuntimeError, |
51 {bool isNegativeIfChecked, | 51 {bool isNegativeIfChecked, |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 } | 301 } |
302 // Test if the selector includes this test. | 302 // Test if the selector includes this test. |
303 RegExp pattern = configuration['selectors'][suiteName]; | 303 RegExp pattern = configuration['selectors'][suiteName]; |
304 if (!pattern.hasMatch(testCase.displayName)) { | 304 if (!pattern.hasMatch(testCase.displayName)) { |
305 return; | 305 return; |
306 } | 306 } |
307 | 307 |
308 if (configuration['hot_reload'] || configuration['hot_reload_rollback']) { | 308 if (configuration['hot_reload'] || configuration['hot_reload_rollback']) { |
309 // Handle reload special cases. | 309 // Handle reload special cases. |
310 if (expectations.contains(Expectation.COMPILETIME_ERROR) || | 310 if (expectations.contains(Expectation.COMPILETIME_ERROR) || |
311 testCase.hasCompileError || testCase.expectCompileError) { | 311 testCase.hasCompileError || |
| 312 testCase.expectCompileError) { |
312 // Running a test that expects a compilation error with hot reloading | 313 // Running a test that expects a compilation error with hot reloading |
313 // is redundant with a regular run of the test. | 314 // is redundant with a regular run of the test. |
314 return; | 315 return; |
315 } | 316 } |
316 } | 317 } |
317 | 318 |
318 // Update Summary report | 319 // Update Summary report |
319 if (configuration['report']) { | 320 if (configuration['report']) { |
320 if (testCase.expectCompileError && | 321 if (testCase.expectCompileError && |
321 TestUtils.isBrowserRuntime(configuration['runtime']) && | 322 TestUtils.isBrowserRuntime(configuration['runtime']) && |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 return testName; | 377 return testName; |
377 } | 378 } |
378 | 379 |
379 /** | 380 /** |
380 * Create a directories for generated assets (tests, html files, | 381 * Create a directories for generated assets (tests, html files, |
381 * pubspec checkouts ...). | 382 * pubspec checkouts ...). |
382 */ | 383 */ |
383 | 384 |
384 String createOutputDirectory(Path testPath, String optionsName) { | 385 String createOutputDirectory(Path testPath, String optionsName) { |
385 var checked = configuration['checked'] ? '-checked' : ''; | 386 var checked = configuration['checked'] ? '-checked' : ''; |
386 var strong = configuration['strong'] ? '-strong' : ''; | 387 var strong = configuration['strong'] ? '-strong' : ''; |
387 var minified = configuration['minified'] ? '-minified' : ''; | 388 var minified = configuration['minified'] ? '-minified' : ''; |
388 var sdk = configuration['use_sdk'] ? '-sdk' : ''; | 389 var sdk = configuration['use_sdk'] ? '-sdk' : ''; |
389 var dirName = "${configuration['compiler']}-${configuration['runtime']}" | 390 var dirName = "${configuration['compiler']}-${configuration['runtime']}" |
390 "$checked$strong$minified$sdk"; | 391 "$checked$strong$minified$sdk"; |
391 return createGeneratedTestDirectoryHelper( | 392 return createGeneratedTestDirectoryHelper( |
392 "tests", dirName, testPath, optionsName); | 393 "tests", dirName, testPath, optionsName); |
393 } | 394 } |
394 | 395 |
395 String createCompilationOutputDirectory(Path testPath) { | 396 String createCompilationOutputDirectory(Path testPath) { |
396 var checked = configuration['checked'] ? '-checked' : ''; | 397 var checked = configuration['checked'] ? '-checked' : ''; |
397 var strong = configuration['strong'] ? '-strong' : ''; | 398 var strong = configuration['strong'] ? '-strong' : ''; |
398 var minified = configuration['minified'] ? '-minified' : ''; | 399 var minified = configuration['minified'] ? '-minified' : ''; |
399 var csp = configuration['csp'] ? '-csp' : ''; | 400 var csp = configuration['csp'] ? '-csp' : ''; |
400 var sdk = configuration['use_sdk'] ? '-sdk' : ''; | 401 var sdk = configuration['use_sdk'] ? '-sdk' : ''; |
401 var dirName = "${configuration['compiler']}" | 402 var dirName = "${configuration['compiler']}" |
402 "$checked$strong$minified$csp$sdk"; | 403 "$checked$strong$minified$csp$sdk"; |
403 return createGeneratedTestDirectoryHelper( | 404 return createGeneratedTestDirectoryHelper( |
404 "compilations", dirName, testPath, ""); | 405 "compilations", dirName, testPath, ""); |
405 } | 406 } |
406 | 407 |
407 String createPubspecCheckoutDirectory(Path directoryOfPubspecYaml) { | 408 String createPubspecCheckoutDirectory(Path directoryOfPubspecYaml) { |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 enqueueTestCaseFromTestInformation(info); | 828 enqueueTestCaseFromTestInformation(info); |
828 return; | 829 return; |
829 } | 830 } |
830 if (!isTestFile(filename)) return; | 831 if (!isTestFile(filename)) return; |
831 Path filePath = new Path(filename); | 832 Path filePath = new Path(filename); |
832 | 833 |
833 var optionsFromFile = readOptionsFromFile(filePath); | 834 var optionsFromFile = readOptionsFromFile(filePath); |
834 CreateTest createTestCase = makeTestCaseCreator(optionsFromFile); | 835 CreateTest createTestCase = makeTestCaseCreator(optionsFromFile); |
835 | 836 |
836 if (optionsFromFile['isMultitest']) { | 837 if (optionsFromFile['isMultitest']) { |
837 group.add(doMultitest(filePath, | 838 group.add(doMultitest( |
838 buildDir, | 839 filePath, |
839 suiteDir, | 840 buildDir, |
840 createTestCase, | 841 suiteDir, |
841 (configuration['hot_reload'] || | 842 createTestCase, |
842 configuration['hot_reload_rollback']))); | 843 (configuration['hot_reload'] || |
| 844 configuration['hot_reload_rollback']))); |
843 } else { | 845 } else { |
844 createTestCase(filePath, filePath, optionsFromFile['hasCompileError'], | 846 createTestCase(filePath, filePath, optionsFromFile['hasCompileError'], |
845 optionsFromFile['hasRuntimeError'], | 847 optionsFromFile['hasRuntimeError'], |
846 hasStaticWarning: optionsFromFile['hasStaticWarning']); | 848 hasStaticWarning: optionsFromFile['hasStaticWarning']); |
847 } | 849 } |
848 } | 850 } |
849 | 851 |
850 static Path _findPubspecYamlFile(Path filePath) { | 852 static Path _findPubspecYamlFile(Path filePath) { |
851 final existsCache = TestUtils.existsCache; | 853 final existsCache = TestUtils.existsCache; |
852 | 854 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1126 */ | 1128 */ |
1127 void enqueueBrowserTest(List<Command> baseCommands, Path packageRoot, | 1129 void enqueueBrowserTest(List<Command> baseCommands, Path packageRoot, |
1128 Path packages, TestInformation info, String testName, expectations) { | 1130 Path packages, TestInformation info, String testName, expectations) { |
1129 RegExp badChars = new RegExp('[-=/]'); | 1131 RegExp badChars = new RegExp('[-=/]'); |
1130 List VmOptionsList = getVmOptions(info.optionsFromFile); | 1132 List VmOptionsList = getVmOptions(info.optionsFromFile); |
1131 bool multipleOptions = VmOptionsList.length > 1; | 1133 bool multipleOptions = VmOptionsList.length > 1; |
1132 for (var vmOptions in VmOptionsList) { | 1134 for (var vmOptions in VmOptionsList) { |
1133 String optionsName = | 1135 String optionsName = |
1134 multipleOptions ? vmOptions.join('-').replaceAll(badChars, '') : ''; | 1136 multipleOptions ? vmOptions.join('-').replaceAll(badChars, '') : ''; |
1135 String tempDir = createOutputDirectory(info.filePath, optionsName); | 1137 String tempDir = createOutputDirectory(info.filePath, optionsName); |
1136 enqueueBrowserTestWithOptions(baseCommands, packageRoot, packages, | 1138 enqueueBrowserTestWithOptions(baseCommands, packageRoot, packages, info, |
1137 info, testName, expectations, vmOptions, tempDir); | 1139 testName, expectations, vmOptions, tempDir); |
1138 } | 1140 } |
1139 } | 1141 } |
1140 | 1142 |
1141 void enqueueBrowserTestWithOptions( | 1143 void enqueueBrowserTestWithOptions( |
1142 List<Command> baseCommands, | 1144 List<Command> baseCommands, |
1143 Path packageRoot, | 1145 Path packageRoot, |
1144 Path packages, | 1146 Path packages, |
1145 TestInformation info, | 1147 TestInformation info, |
1146 String testName, | 1148 String testName, |
1147 expectations, | 1149 expectations, |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1394 String dir, optionsFromFile) { | 1396 String dir, optionsFromFile) { |
1395 assert(compiler == 'dart2js'); | 1397 assert(compiler == 'dart2js'); |
1396 List<String> args; | 1398 List<String> args; |
1397 if (compilerPath.endsWith('.dart')) { | 1399 if (compilerPath.endsWith('.dart')) { |
1398 // Run the compiler script via the Dart VM. | 1400 // Run the compiler script via the Dart VM. |
1399 args = [compilerPath]; | 1401 args = [compilerPath]; |
1400 } else { | 1402 } else { |
1401 args = []; | 1403 args = []; |
1402 } | 1404 } |
1403 args.addAll(TestUtils.standardOptions(configuration)); | 1405 args.addAll(TestUtils.standardOptions(configuration)); |
1404 String packages = packagesArgument(optionsFromFile['packageRoot'], | 1406 String packages = packagesArgument( |
1405 optionsFromFile['packages']); | 1407 optionsFromFile['packageRoot'], optionsFromFile['packages']); |
1406 if (packages != null) args.add(packages); | 1408 if (packages != null) args.add(packages); |
1407 args.add('--out=$outputFile'); | 1409 args.add('--out=$outputFile'); |
1408 args.add(inputFile); | 1410 args.add(inputFile); |
1409 List<String> options = optionsFromFile['sharedOptions']; | 1411 List<String> options = optionsFromFile['sharedOptions']; |
1410 if (options != null) args.addAll(options); | 1412 if (options != null) args.addAll(options); |
1411 return CommandBuilder.instance.getCompilationCommand( | 1413 return CommandBuilder.instance.getCompilationCommand( |
1412 compiler, | 1414 compiler, |
1413 outputFile, | 1415 outputFile, |
1414 !useSdk, | 1416 !useSdk, |
1415 dart2JsBootstrapDependencies, | 1417 dart2JsBootstrapDependencies, |
1416 compilerPath, | 1418 compilerPath, |
1417 args, | 1419 args, |
1418 environmentOverrides); | 1420 environmentOverrides); |
1419 } | 1421 } |
1420 | 1422 |
1421 /** Helper to create a Polymer deploy command for a single HTML file. */ | 1423 /** Helper to create a Polymer deploy command for a single HTML file. */ |
1422 Command _polymerDeployCommand( | 1424 Command _polymerDeployCommand( |
1423 String inputFile, String outputDir, optionsFromFile) { | 1425 String inputFile, String outputDir, optionsFromFile) { |
1424 List<String> args = []; | 1426 List<String> args = []; |
1425 String packages = packagesArgument(optionsFromFile['packageRoot'], | 1427 String packages = packagesArgument( |
1426 optionsFromFile['packages']); | 1428 optionsFromFile['packageRoot'], optionsFromFile['packages']); |
1427 if (packages != null) args.add(packages); | 1429 if (packages != null) args.add(packages); |
1428 args | 1430 args |
1429 ..add('package:polymer/deploy.dart') | 1431 ..add('package:polymer/deploy.dart') |
1430 ..add('--test') | 1432 ..add('--test') |
1431 ..add(inputFile) | 1433 ..add(inputFile) |
1432 ..add('--out') | 1434 ..add('--out') |
1433 ..add(outputDir) | 1435 ..add(outputDir) |
1434 ..add('--file-filter') | 1436 ..add('--file-filter') |
1435 ..add('.svn'); | 1437 ..add('.svn'); |
1436 if (configuration['csp']) args.add('--csp'); | 1438 if (configuration['csp']) args.add('--csp'); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 final path = dartDir.append( | 1473 final path = dartDir.append( |
1472 '/client/tests/drt/Content Shell.app/Contents/MacOS/Content Shell'); | 1474 '/client/tests/drt/Content Shell.app/Contents/MacOS/Content Shell'); |
1473 return path.toNativePath(); | 1475 return path.toNativePath(); |
1474 } | 1476 } |
1475 return dartDir.append('client/tests/drt/content_shell').toNativePath(); | 1477 return dartDir.append('client/tests/drt/content_shell').toNativePath(); |
1476 } | 1478 } |
1477 | 1479 |
1478 List<String> commonArgumentsFromFile(Path filePath, Map optionsFromFile) { | 1480 List<String> commonArgumentsFromFile(Path filePath, Map optionsFromFile) { |
1479 List args = TestUtils.standardOptions(configuration); | 1481 List args = TestUtils.standardOptions(configuration); |
1480 | 1482 |
1481 String packages = packagesArgument(optionsFromFile['packageRoot'], | 1483 String packages = packagesArgument( |
1482 optionsFromFile['packages']); | 1484 optionsFromFile['packageRoot'], optionsFromFile['packages']); |
1483 if (packages != null) { | 1485 if (packages != null) { |
1484 args.add(packages); | 1486 args.add(packages); |
1485 } | 1487 } |
1486 args.addAll(additionalOptions(filePath)); | 1488 args.addAll(additionalOptions(filePath)); |
1487 if (configuration['analyzer']) { | 1489 if (configuration['analyzer']) { |
1488 args.add('--format=machine'); | 1490 args.add('--format=machine'); |
1489 args.add('--no-hints'); | 1491 args.add('--no-hints'); |
1490 } | 1492 } |
1491 | 1493 |
1492 if (configuration["compiler"] == "dart2analyzer" && | 1494 if (configuration["compiler"] == "dart2analyzer" && |
1493 (filePath.filename.contains("dart2js") || | 1495 (filePath.filename.contains("dart2js") || |
1494 filePath.directoryPath.segments().last.contains('html_common'))) { | 1496 filePath.directoryPath.segments().last.contains('html_common'))) { |
1495 args.add("--use-dart2js-libraries"); | 1497 args.add("--use-dart2js-libraries"); |
1496 } | 1498 } |
1497 | 1499 |
1498 bool isMultitest = optionsFromFile["isMultitest"]; | 1500 bool isMultitest = optionsFromFile["isMultitest"]; |
1499 List<String> dartOptions = optionsFromFile["dartOptions"]; | 1501 List<String> dartOptions = optionsFromFile["dartOptions"]; |
1500 | 1502 |
1501 assert(!isMultitest || dartOptions == null); | 1503 assert(!isMultitest || dartOptions == null); |
1502 args.add(filePath.toNativePath()); | 1504 args.add(filePath.toNativePath()); |
1503 if (dartOptions != null) { | 1505 if (dartOptions != null) { |
1504 args.addAll(dartOptions); | 1506 args.addAll(dartOptions); |
1505 } | 1507 } |
1506 | 1508 |
1507 return args; | 1509 return args; |
1508 } | 1510 } |
1509 | 1511 |
1510 String packagesArgument(String packageRootFromFile, | 1512 String packagesArgument(String packageRootFromFile, String packagesFromFile) { |
1511 String packagesFromFile) { | 1513 if (packageRootFromFile == 'none' || packagesFromFile == 'none') { |
1512 if (packageRootFromFile == 'none' || | |
1513 packagesFromFile == 'none') { | |
1514 return null; | 1514 return null; |
1515 } else if (packagesFromFile != null) { | 1515 } else if (packagesFromFile != null) { |
1516 return '--packages=$packagesFromFile'; | 1516 return '--packages=$packagesFromFile'; |
1517 } else if (packageRootFromFile != null) { | 1517 } else if (packageRootFromFile != null) { |
1518 return '--package-root=$packageRootFromFile'; | 1518 return '--package-root=$packageRootFromFile'; |
1519 } else { | 1519 } else { |
1520 return null; | 1520 return null; |
1521 } | 1521 } |
1522 } | 1522 } |
1523 | 1523 |
1524 /** | 1524 /** |
1525 * Special options for individual tests are currently specified in various | 1525 * Special options for individual tests are currently specified in various |
1526 * ways: with comments directly in test files, by using certain imports, or by | 1526 * ways: with comments directly in test files, by using certain imports, or by |
1527 * creating additional files in the test directories. | 1527 * creating additional files in the test directories. |
1528 * | 1528 * |
1529 * Here is a list of options that are used by 'test.dart' today: | 1529 * Here is a list of options that are used by 'test.dart' today: |
1530 * - Flags can be passed to the vm or dartium process that runs the test by | 1530 * - Flags can be passed to the vm or dartium process that runs the test by |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1710 "isMultitest": isMultitest, | 1710 "isMultitest": isMultitest, |
1711 "isMultiHtmlTest": isMultiHtmlTest, | 1711 "isMultiHtmlTest": isMultiHtmlTest, |
1712 "subtestNames": subtestNames, | 1712 "subtestNames": subtestNames, |
1713 "isolateStubs": isolateStubs, | 1713 "isolateStubs": isolateStubs, |
1714 "containsDomImport": containsDomImport | 1714 "containsDomImport": containsDomImport |
1715 }; | 1715 }; |
1716 } | 1716 } |
1717 | 1717 |
1718 Map optionsFromKernelFile() { | 1718 Map optionsFromKernelFile() { |
1719 return const { | 1719 return const { |
1720 "vmOptions": const [ const []], | 1720 "vmOptions": const [const []], |
1721 "sharedOptions": const [], | 1721 "sharedOptions": const [], |
1722 "dartOptions": null, | 1722 "dartOptions": null, |
1723 "packageRoot": null, | 1723 "packageRoot": null, |
1724 "packages": null, | 1724 "packages": null, |
1725 "hasCompileError": false, | 1725 "hasCompileError": false, |
1726 "hasRuntimeError": false, | 1726 "hasRuntimeError": false, |
1727 "hasStaticWarning": false, | 1727 "hasStaticWarning": false, |
1728 "otherScripts": const [], | 1728 "otherScripts": const [], |
1729 "isMultitest": false, | 1729 "isMultitest": false, |
1730 "isMultiHtmlTest": false, | 1730 "isMultiHtmlTest": false, |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1926 var checkoutDir = | 1926 var checkoutDir = |
1927 createPubPackageBuildsDirectory(absoluteDirectoryPath); | 1927 createPubPackageBuildsDirectory(absoluteDirectoryPath); |
1928 var cacheDir = new Path(checkoutDir).append("pub-cache").toNativePath(); | 1928 var cacheDir = new Path(checkoutDir).append("pub-cache").toNativePath(); |
1929 | 1929 |
1930 // Build all commands | 1930 // Build all commands |
1931 // In order to debug timeouts on the buildbots, We run `pub get` with | 1931 // In order to debug timeouts on the buildbots, We run `pub get` with |
1932 // "--verbose". See https://github.com/dart-lang/sdk/issues/28734. | 1932 // "--verbose". See https://github.com/dart-lang/sdk/issues/28734. |
1933 var commands = [ | 1933 var commands = [ |
1934 CommandBuilder.instance.getCopyCommand(directory, checkoutDir), | 1934 CommandBuilder.instance.getCopyCommand(directory, checkoutDir), |
1935 CommandBuilder.instance.getPubCommand( | 1935 CommandBuilder.instance.getPubCommand( |
1936 "get", pubPath, checkoutDir, cacheDir, arguments: ['--verbose']) | 1936 "get", pubPath, checkoutDir, cacheDir, |
| 1937 arguments: ['--verbose']) |
1937 ]; | 1938 ]; |
1938 | 1939 |
1939 bool containsWebDirectory = dirExists(directoryPath.append('web')); | 1940 bool containsWebDirectory = dirExists(directoryPath.append('web')); |
1940 bool containsBuildDartFile = | 1941 bool containsBuildDartFile = |
1941 fileExists(directoryPath.append('build.dart')); | 1942 fileExists(directoryPath.append('build.dart')); |
1942 if (containsBuildDartFile) { | 1943 if (containsBuildDartFile) { |
1943 var dartBinary = new File(dartVmBinaryFileName).absolute.path; | 1944 var dartBinary = new File(dartVmBinaryFileName).absolute.path; |
1944 | 1945 |
1945 commands.add(CommandBuilder.instance.getProcessCommand( | 1946 commands.add(CommandBuilder.instance.getProcessCommand( |
1946 "custom_build", | 1947 "custom_build", |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2135 var dir = new Directory(path); | 2136 var dir = new Directory(path); |
2136 return dir.delete(recursive: true); | 2137 return dir.delete(recursive: true); |
2137 } | 2138 } |
2138 } | 2139 } |
2139 | 2140 |
2140 static deleteTempSnapshotDirectory(Map configuration) { | 2141 static deleteTempSnapshotDirectory(Map configuration) { |
2141 if (configuration['compiler'] == 'dart2app' || | 2142 if (configuration['compiler'] == 'dart2app' || |
2142 configuration['compiler'] == 'dart2appjit' || | 2143 configuration['compiler'] == 'dart2appjit' || |
2143 configuration['compiler'] == 'precompiler') { | 2144 configuration['compiler'] == 'precompiler') { |
2144 var checked = configuration['checked'] ? '-checked' : ''; | 2145 var checked = configuration['checked'] ? '-checked' : ''; |
2145 var strong = configuration['strong'] ? '-strong' : ''; | 2146 var strong = configuration['strong'] ? '-strong' : ''; |
2146 var minified = configuration['minified'] ? '-minified' : ''; | 2147 var minified = configuration['minified'] ? '-minified' : ''; |
2147 var csp = configuration['csp'] ? '-csp' : ''; | 2148 var csp = configuration['csp'] ? '-csp' : ''; |
2148 var sdk = configuration['use_sdk'] ? '-sdk' : ''; | 2149 var sdk = configuration['use_sdk'] ? '-sdk' : ''; |
2149 var dirName = "${configuration['compiler']}" | 2150 var dirName = "${configuration['compiler']}" |
2150 "$checked$strong$minified$csp$sdk"; | 2151 "$checked$strong$minified$csp$sdk"; |
2151 String generatedPath = "${TestUtils.buildDir(configuration)}" | 2152 String generatedPath = "${TestUtils.buildDir(configuration)}" |
2152 "/generated_compilations/$dirName"; | 2153 "/generated_compilations/$dirName"; |
2153 TestUtils.deleteDirectory(generatedPath); | 2154 TestUtils.deleteDirectory(generatedPath); |
2154 } | 2155 } |
2155 } | 2156 } |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2337 .where((s) => s.isNotEmpty) | 2338 .where((s) => s.isNotEmpty) |
2338 .toList(); | 2339 .toList(); |
2339 } | 2340 } |
2340 | 2341 |
2341 /** | 2342 /** |
2342 * Gets extra vm options passed to the testing script. | 2343 * Gets extra vm options passed to the testing script. |
2343 */ | 2344 */ |
2344 static List<String> getExtraVmOptions(Map configuration) => | 2345 static List<String> getExtraVmOptions(Map configuration) => |
2345 getExtraOptions(configuration, 'vm_options'); | 2346 getExtraOptions(configuration, 'vm_options'); |
2346 | 2347 |
2347 static int shortNameCounter = 0; // Make unique short file names on Windows. | 2348 static int shortNameCounter = 0; // Make unique short file names on Windows. |
2348 | 2349 |
2349 static String getShortName(String path) { | 2350 static String getShortName(String path) { |
2350 final PATH_REPLACEMENTS = const { | 2351 final PATH_REPLACEMENTS = const { |
2351 "pkg_polymer_e2e_test_bad_import_test": "polymer_bi", | 2352 "pkg_polymer_e2e_test_bad_import_test": "polymer_bi", |
2352 "pkg_polymer_e2e_test_canonicalization_test": "polymer_c16n", | 2353 "pkg_polymer_e2e_test_canonicalization_test": "polymer_c16n", |
2353 "pkg_polymer_e2e_test_experimental_boot_test": "polymer_boot", | 2354 "pkg_polymer_e2e_test_experimental_boot_test": "polymer_boot", |
2354 "pkg_polymer_e2e_test_good_import_test": "polymer_gi", | 2355 "pkg_polymer_e2e_test_good_import_test": "polymer_gi", |
2355 "tests_co19_src_Language_12_Expressions_14_Function_Invocation_": | 2356 "tests_co19_src_Language_12_Expressions_14_Function_Invocation_": |
2356 "co19_fn_invoke_", | 2357 "co19_fn_invoke_", |
2357 "tests_co19_src_LayoutTests_fast_css_getComputedStyle_getComputedStyle-": | 2358 "tests_co19_src_LayoutTests_fast_css_getComputedStyle_getComputedStyle-": |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2420 } | 2421 } |
2421 if (path.length > WINDOWS_SHORTEN_PATH_LIMIT) { | 2422 if (path.length > WINDOWS_SHORTEN_PATH_LIMIT) { |
2422 ++shortNameCounter; | 2423 ++shortNameCounter; |
2423 var pathEnd = path.substring(path.length - WINDOWS_PATH_END_LENGTH); | 2424 var pathEnd = path.substring(path.length - WINDOWS_PATH_END_LENGTH); |
2424 path = "short${shortNameCounter}_$pathEnd"; | 2425 path = "short${shortNameCounter}_$pathEnd"; |
2425 } | 2426 } |
2426 } | 2427 } |
2427 return path; | 2428 return path; |
2428 } | 2429 } |
2429 } | 2430 } |
OLD | NEW |