Make DM fail if no configs were successfully created
BUG=skia:5261
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957273002
Review-Url: https://codereview.chromium.org/1957273002
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 9dbd43a..e10ccea 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -923,7 +923,7 @@
return nullptr;
}
-static void gather_sinks() {
+static bool gather_sinks() {
SkCommandLineConfigArray configs;
ParseConfigs(FLAGS_config, &configs);
for (int i = 0; i < configs.count(); i++) {
@@ -952,6 +952,11 @@
push_sink(config, sink);
}
}
+
+ // If no configs were requested (just running tests, perhaps?), then we're okay.
+ // Otherwise, make sure that at least one sink was constructed correctly. This catches
+ // the case of bots without a GPU being assigned GPU configs.
+ return (configs.count() == 0) || (gSinks.count() > 0);
}
static bool dump_png(SkBitmap bitmap, const char* path, const char* md5) {
@@ -1323,7 +1328,9 @@
if (!gather_srcs()) {
return 1;
}
- gather_sinks();
+ if (!gather_sinks()) {
+ return 1;
+ }
gather_tests();
gPending = gSrcs.count() * gSinks.count() + gParallelTests.count() + gSerialTests.count();
info("%d srcs * %d sinks + %d tests == %d tasks",