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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: tools/testing/dart/test_suite.dart
diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart
index 39a4844ed1e89febe94440d65f96d51b71e570b8..2e95a664bd2377dd58211a27d0d1bb1d808ad1a8 100644
--- a/tools/testing/dart/test_suite.dart
+++ b/tools/testing/dart/test_suite.dart
@@ -1572,13 +1572,38 @@ class StandardTestSuite extends TestSuite {
subtestNames.add(fullMatch.substring(fullMatch.indexOf("'") + 1));
}
+ // TODO(rnystrom): During the migration of the existing tests to Dart 2.0,
+ // we have a number of tests that used to both generate static type warnings
+ // and also validate some runtime behavior in an implementation that
+ // ignores those warnings. Those warnings are now errors. The test code
+ // validates the runtime behavior can and should be removed, but the code
+ // that causes the static warning should still be preserved since that is
+ // part of our coverage of the static type system.
+ //
+ // The test needs to indicate that it should have a static error. We could
+ // put that in the status file, but that makes it confusing because it
+ // would look like implementations that *don't* report the error are more
+ // correct. Eventually, we want to have a notation similar to what front_end
+ // is using for the inference tests where we can put a comment inside the
+ // test that says "This specific static error should be reported right by
+ // this token."
+ //
+ // That system isn't in place yet, so we do a crude approximation here in
+ // test.dart. If a test contains `/*@compile-error=`, which matches the
+ // beginning of the tag syntax that front_end uses, then we assume that
+ // this test must have a static error somewhere in it.
+ //
+ // Redo this code once we have a more precise test framework for detecting
+ // and locating these errors.
+ var hasCompileError = contents.contains("/*@compile-error=");
+
return {
"vmOptions": result,
"sharedOptions": sharedOptions ?? [],
"dartOptions": dartOptions,
"packageRoot": packageRoot,
"packages": packages,
- "hasCompileError": false,
+ "hasCompileError": hasCompileError,
"hasRuntimeError": false,
"hasStaticWarning": false,
"otherScripts": otherScripts,
« 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