diff options
Diffstat (limited to 'tests/Test.h')
-rw-r--r-- | tests/Test.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/tests/Test.h b/tests/Test.h index 0a9c306b15..4d2cf2b639 100644 --- a/tests/Test.h +++ b/tests/Test.h @@ -62,9 +62,11 @@ namespace skiatest { static SkString GetTmpDir(); + static void SetResourcePath(const char*); static SkString GetResourcePath(); virtual bool isGPUTest() const { return false; } + virtual void setGrContextFactory(GrContextFactory* factory) {} protected: virtual void onGetName(SkString*) = 0; @@ -79,11 +81,15 @@ namespace skiatest { class GpuTest : public Test{ public: - GpuTest() : Test() {} - static GrContextFactory* GetGrContextFactory(); - static void DestroyContexts(); + GpuTest() : Test(), fGrContextFactory(NULL) {} + virtual bool isGPUTest() const { return true; } - private: + virtual void setGrContextFactory(GrContextFactory* factory) { + fGrContextFactory = factory; + } + + protected: + GrContextFactory* fGrContextFactory; // Unowned. }; typedef SkTRegistry<Test*(*)(void*)> TestRegistry; @@ -162,7 +168,7 @@ namespace skiatest { name->set(#name); \ } \ virtual void onRun(Reporter* r) SK_OVERRIDE { \ - name(r, GetGrContextFactory()); \ + name(r, fGrContextFactory); \ } \ }; \ static TestRegistry gReg_##name##Class(name##Class::Factory); \ |