/* This file is meant to be included by .cpp files, so it can spew out a customized class + global definition. e.g. #include "TestClassDef.h" DEFINE_TESTCLASS("MyTest", MyTestClass, MyTestFunction) where MyTestFunction is declared as void MyTestFunction(skiatest::Reporter*) */ #define DEFINE_TESTCLASS(uiname, classname, function) \ namespace skiatest { \ class classname : public Test { \ public: \ static Test* Factory(void*) { return SkNEW(classname); } \ protected: \ virtual void onGetName(SkString* name) { name->set(uiname); } \ virtual void onRun(Reporter* reporter) { function(reporter); } \ }; \ static TestRegistry gReg(classname::Factory); \ }