| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /** |
| * Tool for identifying stale test lines. Used when updating co19. |
| * |
| * Usage: |
| * [: ./tools/testing/bin/$OS/dart tools/testing/dart/scrub_status_file.dart :] |
| */ |
| |
| // TODO(ahe): Consider generalizing this. |
| |
| import 'dart:io'; |
| |
| import 'status_file_parser.dart'; |
| |
| const List<String> CO19_STATUS_FILES = const <String>[ |
| 'tests/co19/co19-compiler.status', |
| 'tests/co19/co19-dart2dart.status', |
| 'tests/co19/co19-dart2js.status', |
| 'tests/co19/co19-runtime.status']; |
| |
| void onSectionsRead(String statusFile, List sections) { |
| for (var section in sections) { |
| for (var rule in section.testRules) { |
| String name = rule.name; |
| if (name == '*') continue; |
| String path = 'tests/co19/src/$name.dart'; |
| File file = new File(path); |
| if (!file.existsSync()) { |
| print('$statusFile: $path: no such file'); |
| } |
| } |
| } |
| } |
| |
| void readStatusFile(String path) { |
| var sections = []; |
| ReadConfigurationInto(path, |
| sections, |
| () => onSectionsRead(path, sections)); |
| } |
| |
| void main() { |
| CO19_STATUS_FILES.forEach(readStatusFile); |
| } |