Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / dm / DMTestTask.cpp
1 #include "DMTestTask.h"
2 #include "DMUtil.h"
3 #include "SkCommandLineFlags.h"
4 #include "SkCommonFlags.h"
5
6 DEFINE_bool2(pathOpsExtended, x, false, "Run extended pathOps tests.");
7
8 namespace DM {
9
10 bool TestReporter::allowExtendedTest() const { return FLAGS_pathOpsExtended; }
11 bool TestReporter::verbose()           const { return FLAGS_veryVerbose; }
12
13 static SkString test_name(const char* name) {
14     SkString result("test ");
15     result.append(name);
16     return result;
17 }
18
19 CpuTestTask::CpuTestTask(Reporter* reporter,
20                          TaskRunner* taskRunner,
21                          skiatest::TestRegistry::Factory factory)
22     : CpuTask(reporter, taskRunner)
23     , fTest(factory(NULL))
24     , fName(test_name(fTest->getName())) {}
25
26 GpuTestTask::GpuTestTask(Reporter* reporter,
27                          TaskRunner* taskRunner,
28                          skiatest::TestRegistry::Factory factory)
29     : GpuTask(reporter, taskRunner)
30     , fTest(factory(NULL))
31     , fName(test_name(fTest->getName())) {}
32
33
34 void CpuTestTask::draw() {
35     fTest->setReporter(&fTestReporter);
36     fTest->run();
37     if (!fTest->passed()) {
38         this->fail(fTestReporter.failure());
39     }
40 }
41
42 void GpuTestTask::draw(GrContextFactory* grFactory) {
43     fTest->setGrContextFactory(grFactory);
44     fTest->setReporter(&fTestReporter);
45     fTest->run();
46     if (!fTest->passed()) {
47         this->fail(fTestReporter.failure());
48     }
49 }
50
51 bool GpuTestTask::shouldSkip() const {
52     return kGPUDisabled;
53 }
54
55 }  // namespace DM