1 #include "DMTestTask.h"
3 #include "SkCommandLineFlags.h"
4 #include "SkCommonFlags.h"
6 // When PathOps threaded tests get going, they're briefly a big consumer of lots of RAM.
7 // We disable the internal threading there by default on 32-bit builds.
8 static const bool is32Bit = sizeof(void*) == 4;
10 DEFINE_bool2(pathOpsExtended, x, false, "Run extended pathOps tests.");
11 DEFINE_bool2(pathOpsSingleThread, z, is32Bit, "Disallow pathOps tests from using threads.");
15 bool TestReporter::allowExtendedTest() const { return FLAGS_pathOpsExtended; }
16 bool TestReporter::allowThreaded() const { return !FLAGS_pathOpsSingleThread; }
17 bool TestReporter::verbose() const { return FLAGS_veryVerbose; }
19 static SkString test_name(const char* name) {
20 SkString result("test ");
25 CpuTestTask::CpuTestTask(Reporter* reporter,
26 TaskRunner* taskRunner,
27 skiatest::TestRegistry::Factory factory)
28 : CpuTask(reporter, taskRunner)
29 , fTest(factory(NULL))
30 , fName(test_name(fTest->getName())) {}
32 GpuTestTask::GpuTestTask(Reporter* reporter,
33 TaskRunner* taskRunner,
34 skiatest::TestRegistry::Factory factory)
35 : GpuTask(reporter, taskRunner)
36 , fTest(factory(NULL))
37 , fName(test_name(fTest->getName())) {}
40 void CpuTestTask::draw() {
41 fTest->setReporter(&fTestReporter);
43 if (!fTest->passed()) {
44 this->fail(fTestReporter.failure());
48 void GpuTestTask::draw(GrContextFactory* grFactory) {
49 fTest->setGrContextFactory(grFactory);
50 fTest->setReporter(&fTestReporter);
52 if (!fTest->passed()) {
53 this->fail(fTestReporter.failure());
57 bool GpuTestTask::shouldSkip() const {