print only once per source in FM

This does mean we won't print the name of a failing source, but that
shouldn't be needed so much given how FM runs on the bots... should be
obvious what failed without it.

On the flip side, this means each log line will print out atomically,
which might be nice when reading through TSAN runs with async threads.

Change-Id: Ib971416f255e60ea6d900ea687abb8404d799dfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377916
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This commit is contained in:
Mike Klein 2021-03-01 11:09:22 -06:00 committed by Skia Commit-Bot
parent 8e4031d1d1
commit 4636ac68de

View File

@ -548,8 +548,6 @@ int main(int argc, char** argv) {
AutoreleasePool pool;
for (auto source : sources) {
const auto start = std::chrono::steady_clock::now();
fprintf(stdout, "%50s", source.name.c_str());
fflush(stdout);
const SkImageInfo info = SkImageInfo::Make(source.size, color_info);
@ -589,7 +587,8 @@ int main(int argc, char** argv) {
}
if (!image && !blob) {
fprintf(stdout, "\tskipped\n");
fprintf(stdout, "%50s skipped\n", source.name.c_str());
fflush(stdout);
continue;
}
@ -635,9 +634,11 @@ int main(int argc, char** argv) {
}
const auto elapsed = std::chrono::steady_clock::now() - start;
fprintf(stdout, "\t%s\t%7dms\n",
fprintf(stdout, "%50s %s %7dms\n",
source.name.c_str(),
md5.c_str(),
(int)std::chrono::duration_cast<std::chrono::milliseconds>(elapsed).count());
fflush(stdout);
pool.drain();
}