Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Unified Diff: dm/DM.cpp

Issue 108963002: DM: Add support for reading a directory of images with --expectations (-r). (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: comments etc Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | dm/DMChecksumTask.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dm/DM.cpp
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 274ec2a815eb89f8aa6ab40d478da116f9df9050..65fccc761177893b1f1f49609533c076f0e7fb36 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -14,18 +14,18 @@
#include "DMTaskRunner.h"
#include "DMCpuTask.h"
#include "DMGpuTask.h"
+#include "DMWriteTask.h"
#include <string.h>
using skiagm::GM;
using skiagm::GMRegistry;
-using skiagm::Expectations;
-using skiagm::ExpectationsSource;
-using skiagm::JsonExpectationsSource;
DEFINE_int32(cpuThreads, -1, "Threads for CPU work. Default NUM_CPUS.");
DEFINE_int32(gpuThreads, 1, "Threads for GPU work.");
-DEFINE_string(expectations, "", "Compare generated images against JSON expectations at this path.");
+DEFINE_string2(expectations, r, "",
+ "If a directory, compare generated images against images under this path. "
+ "If a file, compare generated images against JSON expectations at this path.");
DEFINE_string(resources, "resources", "Path to resources directory.");
DEFINE_string(match, "", "[~][^]substring[$] [...] of GM name to run.\n"
"Multiple matches may be separated by spaces.\n"
@@ -50,7 +50,7 @@ static SkString lowercase(SkString s) {
static void kick_off_tasks(const SkTDArray<GMRegistry::Factory>& gms,
const SkTArray<SkString>& configs,
- const ExpectationsSource& expectations,
+ const DM::Expectations& expectations,
DM::Reporter* reporter,
DM::TaskRunner* tasks) {
const SkBitmap::Config _565 = SkBitmap::kRGB_565_Config;
@@ -107,13 +107,6 @@ static void report_failures(const DM::Reporter& reporter) {
}
}
-class NoExpectations : public ExpectationsSource {
-public:
- Expectations get(const char* /*testName*/) const SK_OVERRIDE {
- return Expectations();
- }
-};
-
int tool_main(int argc, char** argv);
int tool_main(int argc, char** argv) {
SkGraphics::Init();
@@ -134,9 +127,14 @@ int tool_main(int argc, char** argv) {
}
SkDebugf("%d GMs x %d configs\n", gms.count(), configs.count());
- SkAutoTUnref<ExpectationsSource> expectations(SkNEW(NoExpectations));
+ SkAutoTDelete<DM::Expectations> expectations(SkNEW(DM::NoExpectations));
if (FLAGS_expectations.count() > 0) {
- expectations.reset(SkNEW_ARGS(JsonExpectationsSource, (FLAGS_expectations[0])));
+ const char* path = FLAGS_expectations[0];
+ if (sk_isdir(path)) {
+ expectations.reset(SkNEW_ARGS(DM::WriteTask::Expectations, (path)));
+ } else {
+ expectations.reset(SkNEW_ARGS(DM::JsonExpectations, (path)));
+ }
}
DM::Reporter reporter;
« no previous file with comments | « no previous file | dm/DMChecksumTask.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698