in tool/stats.dart [214:255]
Future<void> _printFriendly(
String testPrefix,
SplayTreeMap<String, SplayTreeMap<int, CompareLevel>> scores,
bool updateFiles) async {
var totalValid = 0;
var totalStrict = 0;
var totalExamples = 0;
IOSink sink;
if (updateFiles) {
var path = p.join(toolDir, '${testPrefix}_stats.txt');
print('Updating $path');
var file = File(path);
sink = file.openWrite();
} else {
sink = stdout;
}
scores.forEach((section, Map<int, CompareLevel> map) {
var total = map.values.length;
totalExamples += total;
var sectionStrictCount =
map.values.where((val) => val == CompareLevel.strict).length;
var sectionLooseCount =
map.values.where((val) => val == CompareLevel.loose).length;
var sectionValidCount = sectionStrictCount + sectionLooseCount;
totalStrict += sectionStrictCount;
totalValid += sectionValidCount;
sink.writeln(_pct(sectionValidCount, total, section));
});
sink.writeln(_pct(totalValid, totalExamples, 'TOTAL'));
sink.writeln(_pct(totalStrict, totalValid, 'TOTAL Strict'));
await sink.flush();
await sink.close();
}