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

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

Issue 2980213002: Re-land beginning Dart 2.0 test migration. (Closed)
Patch Set: Created 3 years, 5 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
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 1554 matching lines...) Expand 10 before | Expand all | Expand 10 after
1565 var isolateStubs = isolateMatch != null ? isolateMatch[1] : ''; 1565 var isolateStubs = isolateMatch != null ? isolateMatch[1] : '';
1566 var containsDomImport = domImportRegExp.hasMatch(contents); 1566 var containsDomImport = domImportRegExp.hasMatch(contents);
1567 1567
1568 var subtestNames = <String>[]; 1568 var subtestNames = <String>[];
1569 var matchesIter = multiHtmlTestGroupRegExp.allMatches(contents).iterator; 1569 var matchesIter = multiHtmlTestGroupRegExp.allMatches(contents).iterator;
1570 while (matchesIter.moveNext() && isMultiHtmlTest) { 1570 while (matchesIter.moveNext() && isMultiHtmlTest) {
1571 var fullMatch = matchesIter.current.group(0); 1571 var fullMatch = matchesIter.current.group(0);
1572 subtestNames.add(fullMatch.substring(fullMatch.indexOf("'") + 1)); 1572 subtestNames.add(fullMatch.substring(fullMatch.indexOf("'") + 1));
1573 } 1573 }
1574 1574
1575 // TODO(rnystrom): During the migration of the existing tests to Dart 2.0,
1576 // we have a number of tests that used to both generate static type warnings
1577 // and also validate some runtime behavior in an implementation that
1578 // ignores those warnings. Those warnings are now errors. The test code
1579 // validates the runtime behavior can and should be removed, but the code
1580 // that causes the static warning should still be preserved since that is
1581 // part of our coverage of the static type system.
1582 //
1583 // The test needs to indicate that it should have a static error. We could
1584 // put that in the status file, but that makes it confusing because it
1585 // would look like implementations that *don't* report the error are more
1586 // correct. Eventually, we want to have a notation similar to what front_end
1587 // is using for the inference tests where we can put a comment inside the
1588 // test that says "This specific static error should be reported right by
1589 // this token."
1590 //
1591 // That system isn't in place yet, so we do a crude approximation here in
1592 // test.dart. If a test contains `/*@compile-error=`, which matches the
1593 // beginning of the tag syntax that front_end uses, then we assume that
1594 // this test must have a static error somewhere in it.
1595 //
1596 // Redo this code once we have a more precise test framework for detecting
1597 // and locating these errors.
1598 var hasCompileError = contents.contains("/*@compile-error=");
1599
1575 return { 1600 return {
1576 "vmOptions": result, 1601 "vmOptions": result,
1577 "sharedOptions": sharedOptions ?? [], 1602 "sharedOptions": sharedOptions ?? [],
1578 "dartOptions": dartOptions, 1603 "dartOptions": dartOptions,
1579 "packageRoot": packageRoot, 1604 "packageRoot": packageRoot,
1580 "packages": packages, 1605 "packages": packages,
1581 "hasCompileError": false, 1606 "hasCompileError": hasCompileError,
1582 "hasRuntimeError": false, 1607 "hasRuntimeError": false,
1583 "hasStaticWarning": false, 1608 "hasStaticWarning": false,
1584 "otherScripts": otherScripts, 1609 "otherScripts": otherScripts,
1585 "otherResources": otherResources, 1610 "otherResources": otherResources,
1586 "isMultitest": isMultitest, 1611 "isMultitest": isMultitest,
1587 "isMultiHtmlTest": isMultiHtmlTest, 1612 "isMultiHtmlTest": isMultiHtmlTest,
1588 "subtestNames": subtestNames, 1613 "subtestNames": subtestNames,
1589 "isolateStubs": isolateStubs, 1614 "isolateStubs": isolateStubs,
1590 "containsDomImport": containsDomImport 1615 "containsDomImport": containsDomImport
1591 }; 1616 };
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 1790
1766 bool isTestFile(String filename) { 1791 bool isTestFile(String filename) {
1767 // NOTE: We exclude tests and patch files for now. 1792 // NOTE: We exclude tests and patch files for now.
1768 return filename.endsWith(".dart") && 1793 return filename.endsWith(".dart") &&
1769 !filename.endsWith("_test.dart") && 1794 !filename.endsWith("_test.dart") &&
1770 !filename.contains("_internal/js_runtime/lib"); 1795 !filename.contains("_internal/js_runtime/lib");
1771 } 1796 }
1772 1797
1773 bool get listRecursively => true; 1798 bool get listRecursively => true;
1774 } 1799 }
OLDNEW
« tests/language_2/language_2.status ('K') | « tools/testing/dart/test_configurations.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698