Unverified Commit c32d1387 authored by Paul Berry's avatar Paul Berry Committed by GitHub

Fix overly specific detection of non-UTF8 files in analyzer bot. (#56295)

An upcoming Dart SDK change
(https://github.com/dart-lang/sdk/commit/fa2fd41166db35afa4777e63f900e83d25709c5c)
changes the precise text of the exception generated by `utf8.decode`
if a non-UTF8 file is found.  This is causing a breakage in the Dart
team's `flutter-analyze` bot (and will presumably cause a breakage in
the corresponding Flutter bot as soon as this change is rolled into
Flutter).  To avoid this breakage, the bot shouldn't rely on the exact
exception text; it is sufficient to simply catch a FormatException.
parent 8f1cd8fd
......@@ -1086,13 +1086,9 @@ Future<void> verifyNoBinaries(String workingDirectory, { Set<Hash256> grandfathe
try {
utf8.decode(bytes);
} on FormatException catch (error) {
if (error.message.startsWith('Bad UTF-8 encoding ')) {
final Digest digest = sha256.convert(bytes);
if (!grandfatheredBinaries.contains(Hash256.fromDigest(digest)))
problems.add('${file.path}:${error.offset}: file is not valid UTF-8');
} else {
rethrow;
}
final Digest digest = sha256.convert(bytes);
if (!grandfatheredBinaries.contains(Hash256.fromDigest(digest)))
problems.add('${file.path}:${error.offset}: file is not valid UTF-8');
}
}
if (problems.isNotEmpty) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment