blob: 7a5f8cf9f98d606d07d78f290c7f698484910040 [file] [log] [blame]
commit-bot@chromium.org0dc5bd12014-02-26 16:31:22 +00001#include "DMTestTask.h"
2#include "DMUtil.h"
3#include "SkCommandLineFlags.h"
4
5DEFINE_bool2(pathOpsExtended, x, false, "Run extended pathOps tests.");
6DEFINE_bool2(pathOpsSingleThread, z, false, "Disallow pathOps tests from using threads.");
7DEFINE_bool2(pathOpsVerbose, V, false, "Tell pathOps tests to be verbose.");
8
9namespace DM {
10
11TestTask::TestTask(Reporter* reporter,
12 TaskRunner* taskRunner,
13 skiatest::TestRegistry::Factory factory)
14 : Task(reporter, taskRunner)
15 , fTaskRunner(taskRunner)
16 , fTest(factory(NULL))
17 , fName(UnderJoin("test", fTest->getName())) {}
18
19void TestTask::draw() {
20 if (this->usesGpu()) {
21 fTest->setGrContextFactory(fTaskRunner->getGrContextFactory());
22 }
23 fTest->setReporter(&fTestReporter);
24 fTest->run();
25 if (!fTest->passed()) {
26 this->fail(fTestReporter.failure());
27 }
28}
29
30bool TestTask::TestReporter::allowExtendedTest() const { return FLAGS_pathOpsExtended; }
31bool TestTask::TestReporter::allowThreaded() const { return !FLAGS_pathOpsSingleThread; }
32bool TestTask::TestReporter::verbose() const { return FLAGS_pathOpsVerbose; }
33
34} // namespace DM