| // Copyright (c) 2017, 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. |
| |
| /// Tests that every .status file in the Dart repository can be successfully |
| /// parsed. |
| import 'dart:io'; |
| import 'package:status_file/canonical_status_file.dart'; |
| |
| final Uri repoRoot = Platform.script.resolve("../../../"); |
| |
| void main() { |
| // Parse every status file in the repository. |
| for (var directory in ["tests", "runtime/tests"]) { |
| for (var entry in new Directory.fromUri(repoRoot.resolve(directory)) |
| .listSync(recursive: true)) { |
| if (!entry.path.endsWith(".status")) continue; |
| try { |
| var statusFile = new StatusFile.read(entry.path); |
| statusFile.toString(); |
| } catch (err, st) { |
| print(err); |
| print(st); |
| throw new Exception("Could not parse '${entry.path}'.\n$err"); |
| } |
| } |
| } |
| } |