| Index: tests/compiler/dart2js/warnings_checker.dart
|
| diff --git a/tests/compiler/dart2js/warnings_checker.dart b/tests/compiler/dart2js/warnings_checker.dart
|
| index 3e50eaec9366e74cd5249b5f15c4cacc6dee9d81..fdbd12cba50e07bc42bcd48f88de616f364e2208 100644
|
| --- a/tests/compiler/dart2js/warnings_checker.dart
|
| +++ b/tests/compiler/dart2js/warnings_checker.dart
|
| @@ -23,61 +23,62 @@ void checkWarnings(Map<String, dynamic> tests, [List<String> arguments]) {
|
| bool warningsMismatch = false;
|
| bool verbose = arguments != null && arguments.contains('-v');
|
| asyncTest(() => Future.forEach(tests.keys, (String test) async {
|
| - Uri uri = script.resolve('../../$test');
|
| - String source = UTF8.decode(readAll(uriPathToNative(uri.path)));
|
| - SourceFile file = new StringSourceFile(
|
| - uri, relativize(currentDirectory, uri, isWindows), source);
|
| - Map<int,String> expectedWarnings = {};
|
| - int lineNo = 0;
|
| - for (String line in source.split('\n')) {
|
| - if (line.contains('///') &&
|
| - (line.contains('static type warning') ||
|
| - line.contains('static warning'))) {
|
| - expectedWarnings[lineNo] = line;
|
| - }
|
| - lineNo++;
|
| - }
|
| - Set<int> unseenWarnings = new Set<int>.from(expectedWarnings.keys);
|
| - DiagnosticCollector collector = new DiagnosticCollector();
|
| - await runCompiler(
|
| - entryPoint: uri,
|
| - diagnosticHandler: collector,
|
| - options: [Flags.analyzeOnly],
|
| - showDiagnostics: verbose);
|
| - Map<String, List<int>> statusMap = tests[test];
|
| - // Line numbers with known unexpected warnings.
|
| - List<int> unexpectedStatus = [];
|
| - if (statusMap != null && statusMap.containsKey('unexpected')) {
|
| - unexpectedStatus = statusMap['unexpected'];
|
| - }
|
| - // Line numbers with known missing warnings.
|
| - List<int> missingStatus = [];
|
| - if (statusMap != null && statusMap.containsKey('missing')) {
|
| - missingStatus = statusMap['missing'];
|
| - }
|
| - for (CollectedMessage message in collector.warnings) {
|
| - Expect.equals(uri, message.uri);
|
| - int lineNo = file.getLine(message.begin);
|
| - if (expectedWarnings.containsKey(lineNo)) {
|
| - unseenWarnings.remove(lineNo);
|
| - } else if (!unexpectedStatus.contains(lineNo+1)) {
|
| - warningsMismatch = true;
|
| - print(file.getLocationMessage(
|
| - 'Unexpected warning: ${message.message}',
|
| - message.begin, message.end));
|
| - }
|
| - }
|
| - if (!unseenWarnings.isEmpty) {
|
| - for (int lineNo in unseenWarnings) {
|
| - if (!missingStatus.contains(lineNo+1)) {
|
| - warningsMismatch = true;
|
| - String line = expectedWarnings[lineNo];
|
| - print('$uri [${lineNo+1}]: Missing static type warning.');
|
| - print(line);
|
| + Uri uri = script.resolve('../../$test');
|
| + String source = UTF8.decode(readAll(uriPathToNative(uri.path)));
|
| + SourceFile file = new StringSourceFile(
|
| + uri, relativize(currentDirectory, uri, isWindows), source);
|
| + Map<int, String> expectedWarnings = {};
|
| + int lineNo = 0;
|
| + for (String line in source.split('\n')) {
|
| + if (line.contains('///') &&
|
| + (line.contains('static type warning') ||
|
| + line.contains('static warning'))) {
|
| + expectedWarnings[lineNo] = line;
|
| + }
|
| + lineNo++;
|
| }
|
| - }
|
| - }
|
| - }).then((_) {
|
| - Expect.isFalse(warningsMismatch);
|
| - }));
|
| + Set<int> unseenWarnings = new Set<int>.from(expectedWarnings.keys);
|
| + DiagnosticCollector collector = new DiagnosticCollector();
|
| + await runCompiler(
|
| + entryPoint: uri,
|
| + diagnosticHandler: collector,
|
| + options: [Flags.analyzeOnly],
|
| + showDiagnostics: verbose);
|
| + Map<String, List<int>> statusMap = tests[test];
|
| + // Line numbers with known unexpected warnings.
|
| + List<int> unexpectedStatus = [];
|
| + if (statusMap != null && statusMap.containsKey('unexpected')) {
|
| + unexpectedStatus = statusMap['unexpected'];
|
| + }
|
| + // Line numbers with known missing warnings.
|
| + List<int> missingStatus = [];
|
| + if (statusMap != null && statusMap.containsKey('missing')) {
|
| + missingStatus = statusMap['missing'];
|
| + }
|
| + for (CollectedMessage message in collector.warnings) {
|
| + Expect.equals(uri, message.uri);
|
| + int lineNo = file.getLine(message.begin);
|
| + if (expectedWarnings.containsKey(lineNo)) {
|
| + unseenWarnings.remove(lineNo);
|
| + } else if (!unexpectedStatus.contains(lineNo + 1)) {
|
| + warningsMismatch = true;
|
| + print(file.getLocationMessage(
|
| + 'Unexpected warning: ${message.message}',
|
| + message.begin,
|
| + message.end));
|
| + }
|
| + }
|
| + if (!unseenWarnings.isEmpty) {
|
| + for (int lineNo in unseenWarnings) {
|
| + if (!missingStatus.contains(lineNo + 1)) {
|
| + warningsMismatch = true;
|
| + String line = expectedWarnings[lineNo];
|
| + print('$uri [${lineNo+1}]: Missing static type warning.');
|
| + print(line);
|
| + }
|
| + }
|
| + }
|
| + }).then((_) {
|
| + Expect.isFalse(warningsMismatch);
|
| + }));
|
| }
|
|
|