10dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org#include "DMTestTask.h" 20dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org#include "DMUtil.h" 30dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org#include "SkCommandLineFlags.h" 459598b0a9b29302fb9c38d445695b9b9fde8bfeehalcanary#include "SkCommonFlags.h" 50dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 6406654be7a930b484159f5bca107d3b11d8a9edemtkleinDEFINE_bool2(pathOpsExtended, x, false, "Run extended pathOps tests."); 70dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 80dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.orgnamespace DM { 90dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 10ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgbool TestReporter::allowExtendedTest() const { return FLAGS_pathOpsExtended; } 1159598b0a9b29302fb9c38d445695b9b9fde8bfeehalcanarybool TestReporter::verbose() const { return FLAGS_veryVerbose; } 12ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org 1338aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.orgstatic SkString test_name(const char* name) { 1438aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org SkString result("test "); 1538aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org result.append(name); 1638aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org return result; 1738aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org} 1838aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org 19ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgCpuTestTask::CpuTestTask(Reporter* reporter, 20ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org TaskRunner* taskRunner, 21ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org skiatest::TestRegistry::Factory factory) 22ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org : CpuTask(reporter, taskRunner) 230dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org , fTest(factory(NULL)) 2438aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org , fName(test_name(fTest->getName())) {} 250dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 26ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgGpuTestTask::GpuTestTask(Reporter* reporter, 27ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org TaskRunner* taskRunner, 28ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org skiatest::TestRegistry::Factory factory) 29ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org : GpuTask(reporter, taskRunner) 30ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org , fTest(factory(NULL)) 31ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org , fName(test_name(fTest->getName())) {} 32ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org 33ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org 34ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgvoid CpuTestTask::draw() { 350dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org fTest->setReporter(&fTestReporter); 360dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org fTest->run(); 370dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org if (!fTest->passed()) { 380dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org this->fail(fTestReporter.failure()); 390dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org } 400dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org} 410dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 42ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.orgvoid GpuTestTask::draw(GrContextFactory* grFactory) { 43ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org fTest->setGrContextFactory(grFactory); 44ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org fTest->setReporter(&fTestReporter); 45ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org fTest->run(); 46ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org if (!fTest->passed()) { 47ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org this->fail(fTestReporter.failure()); 48ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org } 49ef57b7e65330d5f794a513630517907500f1c1d0commit-bot@chromium.org} 500dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org 51787227d3560bd8021394b76ada2cb184ecf5c919commit-bot@chromium.orgbool GpuTestTask::shouldSkip() const { 52787227d3560bd8021394b76ada2cb184ecf5c919commit-bot@chromium.org return kGPUDisabled; 53787227d3560bd8021394b76ada2cb184ecf5c919commit-bot@chromium.org} 54787227d3560bd8021394b76ada2cb184ecf5c919commit-bot@chromium.org 550dc5bd149a8b69e8dc6d3b4713b827659c9b0a6bcommit-bot@chromium.org} // namespace DM 56