Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(996)

Side by Side Diff: tools/testing/dart/test_suite.dart

Issue 2240193002: Add --packages flag to test.py, to specify a package spec file. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/testing/dart/test_options.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 955 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 if (optionsFromFile['packageRoot'] == null || 966 if (optionsFromFile['packageRoot'] == null ||
967 optionsFromFile['packageRoot'] == "") { 967 optionsFromFile['packageRoot'] == "") {
968 optionsFromFile['packageRoot'] = packageRoot.toNativePath(); 968 optionsFromFile['packageRoot'] = packageRoot.toNativePath();
969 } 969 }
970 } 970 }
971 } 971 }
972 if (configuration['package_root'] != null) { 972 if (configuration['package_root'] != null) {
973 packageRoot = new Path(configuration['package_root']); 973 packageRoot = new Path(configuration['package_root']);
974 optionsFromFile['packageRoot'] = packageRoot.toNativePath(); 974 optionsFromFile['packageRoot'] = packageRoot.toNativePath();
975 } 975 }
976 if (configuration['packages'] != null) {
977 Path packages = new Path(configuration['packages']);
978 optionsFromFile['packages'] = packages.toNativePath();
979 }
976 980
977 if (new CompilerConfiguration(configuration).hasCompiler && 981 if (new CompilerConfiguration(configuration).hasCompiler &&
978 expectCompileError(info)) { 982 expectCompileError(info)) {
979 // If a compile-time error is expected, and we're testing a 983 // If a compile-time error is expected, and we're testing a
980 // compiler, we never need to attempt to run the program (in a 984 // compiler, we never need to attempt to run the program (in a
981 // browser or otherwise). 985 // browser or otherwise).
982 enqueueStandardTest(baseCommands, info, testName, expectations); 986 enqueueStandardTest(baseCommands, info, testName, expectations);
983 } else if (TestUtils.isBrowserRuntime(configuration['runtime'])) { 987 } else if (TestUtils.isBrowserRuntime(configuration['runtime'])) {
984 if (info.optionsFromFile['isMultiHtmlTest']) { 988 if (info.optionsFromFile['isMultiHtmlTest']) {
985 // A browser multi-test has multiple expectations for one test file. 989 // A browser multi-test has multiple expectations for one test file.
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1464 String dir, optionsFromFile) { 1468 String dir, optionsFromFile) {
1465 assert(compiler == 'dart2js'); 1469 assert(compiler == 'dart2js');
1466 List<String> args; 1470 List<String> args;
1467 if (compilerPath.endsWith('.dart')) { 1471 if (compilerPath.endsWith('.dart')) {
1468 // Run the compiler script via the Dart VM. 1472 // Run the compiler script via the Dart VM.
1469 args = [compilerPath]; 1473 args = [compilerPath];
1470 } else { 1474 } else {
1471 args = []; 1475 args = [];
1472 } 1476 }
1473 args.addAll(TestUtils.standardOptions(configuration)); 1477 args.addAll(TestUtils.standardOptions(configuration));
1474 String packageRoot = packageRootArgument(optionsFromFile['packageRoot']); 1478 String packages = packagesArgument(optionsFromFile['packageRoot'],
1475 if (packageRoot != null) args.add(packageRoot); 1479 optionsFromFile['packages']);
1476 String packages = packagesArgument(optionsFromFile['packages']);
1477 if (packages != null) args.add(packages); 1480 if (packages != null) args.add(packages);
1478 args.add('--out=$outputFile'); 1481 args.add('--out=$outputFile');
1479 args.add(inputFile); 1482 args.add(inputFile);
1480 List<String> options = optionsFromFile['sharedOptions']; 1483 List<String> options = optionsFromFile['sharedOptions'];
1481 if (options != null) args.addAll(options); 1484 if (options != null) args.addAll(options);
1482 return CommandBuilder.instance.getCompilationCommand( 1485 return CommandBuilder.instance.getCompilationCommand(
1483 compiler, 1486 compiler,
1484 outputFile, 1487 outputFile,
1485 !useSdk, 1488 !useSdk,
1486 dart2JsBootstrapDependencies, 1489 dart2JsBootstrapDependencies,
1487 compilerPath, 1490 compilerPath,
1488 args, 1491 args,
1489 environmentOverrides); 1492 environmentOverrides);
1490 } 1493 }
1491 1494
1492 /** Helper to create a Polymer deploy command for a single HTML file. */ 1495 /** Helper to create a Polymer deploy command for a single HTML file. */
1493 Command _polymerDeployCommand( 1496 Command _polymerDeployCommand(
1494 String inputFile, String outputDir, optionsFromFile) { 1497 String inputFile, String outputDir, optionsFromFile) {
1495 List<String> args = []; 1498 List<String> args = [];
1496 String packageRoot = packageRootArgument(optionsFromFile['packageRoot']); 1499 String packages = packagesArgument(optionsFromFile['packageRoot'],
1497 if (packageRoot != null) args.add(packageRoot); 1500 optionsFromFile['packages']);
1498 String packages = packagesArgument(optionsFromFile['packages']);
1499 if (packages != null) args.add(packages); 1501 if (packages != null) args.add(packages);
1500 args 1502 args
1501 ..add('package:polymer/deploy.dart') 1503 ..add('package:polymer/deploy.dart')
1502 ..add('--test') 1504 ..add('--test')
1503 ..add(inputFile) 1505 ..add(inputFile)
1504 ..add('--out') 1506 ..add('--out')
1505 ..add(outputDir) 1507 ..add(outputDir)
1506 ..add('--file-filter') 1508 ..add('--file-filter')
1507 ..add('.svn'); 1509 ..add('.svn');
1508 if (configuration['csp']) args.add('--csp'); 1510 if (configuration['csp']) args.add('--csp');
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 final path = dartDir.append( 1545 final path = dartDir.append(
1544 '/client/tests/drt/Content Shell.app/Contents/MacOS/Content Shell'); 1546 '/client/tests/drt/Content Shell.app/Contents/MacOS/Content Shell');
1545 return path.toNativePath(); 1547 return path.toNativePath();
1546 } 1548 }
1547 return dartDir.append('client/tests/drt/content_shell').toNativePath(); 1549 return dartDir.append('client/tests/drt/content_shell').toNativePath();
1548 } 1550 }
1549 1551
1550 List<String> commonArgumentsFromFile(Path filePath, Map optionsFromFile) { 1552 List<String> commonArgumentsFromFile(Path filePath, Map optionsFromFile) {
1551 List args = TestUtils.standardOptions(configuration); 1553 List args = TestUtils.standardOptions(configuration);
1552 1554
1553 String packageRoot = packageRootArgument(optionsFromFile['packageRoot']); 1555 String packages = packagesArgument(optionsFromFile['packageRoot'],
1554 if (packageRoot != null) { 1556 optionsFromFile['packages']);
1555 args.add(packageRoot);
1556 }
1557 String packages = packagesArgument(optionsFromFile['packages']);
1558 if (packages != null) { 1557 if (packages != null) {
1559 args.add(packages); 1558 args.add(packages);
1560 } 1559 }
1561 args.addAll(additionalOptions(filePath)); 1560 args.addAll(additionalOptions(filePath));
1562 if (configuration['analyzer']) { 1561 if (configuration['analyzer']) {
1563 args.add('--machine'); 1562 args.add('--machine');
1564 args.add('--no-hints'); 1563 args.add('--no-hints');
1565 } 1564 }
1566 1565
1567 if (configuration["compiler"] == "dart2analyzer" && 1566 if (configuration["compiler"] == "dart2analyzer" &&
1568 (filePath.filename.contains("dart2js") || 1567 (filePath.filename.contains("dart2js") ||
1569 filePath.directoryPath.segments().last.contains('html_common'))) { 1568 filePath.directoryPath.segments().last.contains('html_common'))) {
1570 args.add("--use-dart2js-libraries"); 1569 args.add("--use-dart2js-libraries");
1571 } 1570 }
1572 1571
1573 bool isMultitest = optionsFromFile["isMultitest"]; 1572 bool isMultitest = optionsFromFile["isMultitest"];
1574 List<String> dartOptions = optionsFromFile["dartOptions"]; 1573 List<String> dartOptions = optionsFromFile["dartOptions"];
1575 1574
1576 assert(!isMultitest || dartOptions == null); 1575 assert(!isMultitest || dartOptions == null);
1577 args.add(filePath.toNativePath()); 1576 args.add(filePath.toNativePath());
1578 if (dartOptions != null) { 1577 if (dartOptions != null) {
1579 args.addAll(dartOptions); 1578 args.addAll(dartOptions);
1580 } 1579 }
1581 1580
1582 return args; 1581 return args;
1583 } 1582 }
1584 1583
1585 String packageRoot(String packageRootFromFile) { 1584 String packagesArgument(String packageRootFromFile,
1585 String packagesFromFile) {
Søren Gjesse 2016/08/15 06:12:58 Indentation.
1586 if (packagesFromFile != null) {
1587 return "--packages=$packagesFromFile";
1588 }
1586 if (packageRootFromFile == "none") { 1589 if (packageRootFromFile == "none") {
1587 return null; 1590 return null;
1588 } 1591 }
1589 String packageRoot = packageRootFromFile; 1592 packageRootFromFile ??= "$buildDir/packages/";
1590 if (packageRootFromFile == null) { 1593 return "--package-root=$packageRootFromFile";
1591 packageRoot = "$buildDir/packages/";
1592 }
1593 return packageRoot;
1594 }
1595
1596 String packageRootArgument(String packageRootFromFile) {
1597 var packageRootPath = packageRoot(packageRootFromFile);
1598 if (packageRootPath == null) {
1599 return null;
1600 }
1601 return "--package-root=$packageRootPath";
1602 }
1603
1604 String packagesArgument(String packagesFromFile) {
1605 if (packagesFromFile == null || packagesFromFile == "none") {
1606 return null;
1607 }
1608 return "--packages=$packagesFromFile";
1609 } 1594 }
1610 1595
1611 /** 1596 /**
1612 * Special options for individual tests are currently specified in various 1597 * Special options for individual tests are currently specified in various
1613 * ways: with comments directly in test files, by using certain imports, or by 1598 * ways: with comments directly in test files, by using certain imports, or by
1614 * creating additional files in the test directories. 1599 * creating additional files in the test directories.
1615 * 1600 *
1616 * Here is a list of options that are used by 'test.dart' today: 1601 * Here is a list of options that are used by 'test.dart' today:
1617 * - Flags can be passed to the vm or dartium process that runs the test by 1602 * - Flags can be passed to the vm or dartium process that runs the test by
1618 * adding a comment to the test file: 1603 * adding a comment to the test file:
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
2487 } 2472 }
2488 if (path.length > WINDOWS_SHORTEN_PATH_LIMIT) { 2473 if (path.length > WINDOWS_SHORTEN_PATH_LIMIT) {
2489 ++shortNameCounter; 2474 ++shortNameCounter;
2490 var pathEnd = path.substring(path.length - WINDOWS_PATH_END_LENGTH); 2475 var pathEnd = path.substring(path.length - WINDOWS_PATH_END_LENGTH);
2491 path = "short${shortNameCounter}_$pathEnd"; 2476 path = "short${shortNameCounter}_$pathEnd";
2492 } 2477 }
2493 } 2478 }
2494 return path; 2479 return path;
2495 } 2480 }
2496 } 2481 }
OLDNEW
« no previous file with comments | « tools/testing/dart/test_options.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698