| Index: dm/DMTestTask.h
|
| diff --git a/dm/DMTestTask.h b/dm/DMTestTask.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4be57a9f86c4d666d10c4558a977567f38eae7bd
|
| --- /dev/null
|
| +++ b/dm/DMTestTask.h
|
| @@ -0,0 +1,66 @@
|
| +#ifndef DMTestTask_DEFINED
|
| +#define DMTestTask_DEFINED
|
| +
|
| +#include "DMReporter.h"
|
| +#include "DMJsonWriter.h"
|
| +#include "DMTask.h"
|
| +#include "DMTaskRunner.h"
|
| +#include "SkString.h"
|
| +#include "SkTemplates.h"
|
| +#include "Test.h"
|
| +
|
| +// Runs a unit test.
|
| +namespace DM {
|
| +
|
| +class TestReporter : public skiatest::Reporter {
|
| +public:
|
| + TestReporter() {}
|
| +
|
| + const SkTArray<SkString>& failures() const { return fFailures; }
|
| +
|
| +private:
|
| + bool allowExtendedTest() const SK_OVERRIDE;
|
| + bool verbose() const SK_OVERRIDE;
|
| +
|
| + void onReportFailed(const skiatest::Failure& failure) SK_OVERRIDE {
|
| + JsonWriter::AddTestFailure(failure);
|
| +
|
| + SkString newFailure;
|
| + failure.getFailureString(&newFailure);
|
| + fFailures.push_back(newFailure);
|
| + }
|
| +
|
| + SkTArray<SkString> fFailures;
|
| +};
|
| +
|
| +class CpuTestTask : public CpuTask {
|
| +public:
|
| + CpuTestTask(Reporter*, TaskRunner*, skiatest::TestRegistry::Factory);
|
| +
|
| + void draw() SK_OVERRIDE;
|
| + bool shouldSkip() const SK_OVERRIDE { return false; }
|
| + SkString name() const SK_OVERRIDE { return fName; }
|
| +
|
| +private:
|
| + TestReporter fTestReporter;
|
| + SkAutoTDelete<skiatest::Test> fTest;
|
| + const SkString fName;
|
| +};
|
| +
|
| +class GpuTestTask : public GpuTask {
|
| +public:
|
| + GpuTestTask(Reporter*, TaskRunner*, skiatest::TestRegistry::Factory);
|
| +
|
| + void draw(GrContextFactory*) SK_OVERRIDE;
|
| + bool shouldSkip() const SK_OVERRIDE;
|
| + SkString name() const SK_OVERRIDE { return fName; }
|
| +
|
| +private:
|
| + TestReporter fTestReporter;
|
| + SkAutoTDelete<skiatest::Test> fTest;
|
| + const SkString fName;
|
| +};
|
| +
|
| +} // namespace DM
|
| +
|
| +#endif // DMTestTask_DEFINED
|
|
|