| 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,
|
|
|