Generate list of GPU contexts outside tests

Use DEF_GPUTEST_FOR_*_CONTEXT macros to obtain the
test GPU context.

Makes changing the context -related classes easier,
since not all tests need to be changed.

BUG=skia:2992

Review URL: https://codereview.chromium.org/1448873002
diff --git a/tests/GrSurfaceTest.cpp b/tests/GrSurfaceTest.cpp
index bc24d1c..4b7dbd3 100644
--- a/tests/GrSurfaceTest.cpp
+++ b/tests/GrSurfaceTest.cpp
@@ -10,7 +10,6 @@
 #if SK_SUPPORT_GPU
 
 #include "GrContext.h"
-#include "GrContextFactory.h"
 #include "GrGpu.h"
 #include "GrRenderTarget.h"
 #include "GrTexture.h"
@@ -19,58 +18,55 @@
 
 // Tests that GrSurface::asTexture(), GrSurface::asRenderTarget(), and static upcasting of texture
 // and render targets to GrSurface all work as expected.
-DEF_GPUTEST(GrSurface, reporter, factory) {
-    GrContext* context = factory->get(GrContextFactory::kNull_GLContextType);
-    if (context) {
-        GrSurfaceDesc desc;
-        desc.fConfig = kSkia8888_GrPixelConfig;
-        desc.fFlags = kRenderTarget_GrSurfaceFlag;
-        desc.fWidth = 256;
-        desc.fHeight = 256;
-        desc.fSampleCnt = 0;
-        GrSurface* texRT1 = context->textureProvider()->createTexture(desc, false, nullptr, 0);
+DEF_GPUTEST_FOR_NULL_CONTEXT(GrSurface, reporter, context) {
+    GrSurfaceDesc desc;
+    desc.fConfig = kSkia8888_GrPixelConfig;
+    desc.fFlags = kRenderTarget_GrSurfaceFlag;
+    desc.fWidth = 256;
+    desc.fHeight = 256;
+    desc.fSampleCnt = 0;
+    GrSurface* texRT1 = context->textureProvider()->createTexture(desc, false, nullptr, 0);
 
-        REPORTER_ASSERT(reporter, texRT1 == texRT1->asRenderTarget());
-        REPORTER_ASSERT(reporter, texRT1 == texRT1->asTexture());
-        REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT1->asRenderTarget()) ==
-                                  texRT1->asTexture());
-        REPORTER_ASSERT(reporter, texRT1->asRenderTarget() ==
-                                  static_cast<GrSurface*>(texRT1->asTexture()));
-        REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT1->asRenderTarget()) ==
-                                  static_cast<GrSurface*>(texRT1->asTexture()));
+    REPORTER_ASSERT(reporter, texRT1 == texRT1->asRenderTarget());
+    REPORTER_ASSERT(reporter, texRT1 == texRT1->asTexture());
+    REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT1->asRenderTarget()) ==
+                    texRT1->asTexture());
+    REPORTER_ASSERT(reporter, texRT1->asRenderTarget() ==
+                    static_cast<GrSurface*>(texRT1->asTexture()));
+    REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT1->asRenderTarget()) ==
+                    static_cast<GrSurface*>(texRT1->asTexture()));
 
-        desc.fFlags = kNone_GrSurfaceFlags;
-        GrSurface* tex1 = context->textureProvider()->createTexture(desc, false, nullptr, 0);
-        REPORTER_ASSERT(reporter, nullptr == tex1->asRenderTarget());
-        REPORTER_ASSERT(reporter, tex1 == tex1->asTexture());
-        REPORTER_ASSERT(reporter, static_cast<GrSurface*>(tex1) == tex1->asTexture());
+    desc.fFlags = kNone_GrSurfaceFlags;
+    GrSurface* tex1 = context->textureProvider()->createTexture(desc, false, nullptr, 0);
+    REPORTER_ASSERT(reporter, nullptr == tex1->asRenderTarget());
+    REPORTER_ASSERT(reporter, tex1 == tex1->asTexture());
+    REPORTER_ASSERT(reporter, static_cast<GrSurface*>(tex1) == tex1->asTexture());
 
-        GrBackendObject backendTex = context->getGpu()->createTestingOnlyBackendTexture(
-            nullptr, 256, 256, kSkia8888_GrPixelConfig);
+    GrBackendObject backendTex = context->getGpu()->createTestingOnlyBackendTexture(
+        nullptr, 256, 256, kSkia8888_GrPixelConfig);
 
-        GrBackendTextureDesc backendDesc;
-        backendDesc.fConfig = kSkia8888_GrPixelConfig;
-        backendDesc.fFlags = kRenderTarget_GrBackendTextureFlag;
-        backendDesc.fWidth = 256;
-        backendDesc.fHeight = 256;
-        backendDesc.fSampleCnt = 0;
-        backendDesc.fTextureHandle = backendTex;
-        GrSurface* texRT2 = context->textureProvider()->wrapBackendTexture(
-            backendDesc, kBorrow_GrWrapOwnership);
-        REPORTER_ASSERT(reporter, texRT2 == texRT2->asRenderTarget());
-        REPORTER_ASSERT(reporter, texRT2 == texRT2->asTexture());
-        REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT2->asRenderTarget()) ==
-                                  texRT2->asTexture());
-        REPORTER_ASSERT(reporter, texRT2->asRenderTarget() ==
-                                  static_cast<GrSurface*>(texRT2->asTexture()));
-        REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT2->asRenderTarget()) ==
-                                  static_cast<GrSurface*>(texRT2->asTexture()));
+    GrBackendTextureDesc backendDesc;
+    backendDesc.fConfig = kSkia8888_GrPixelConfig;
+    backendDesc.fFlags = kRenderTarget_GrBackendTextureFlag;
+    backendDesc.fWidth = 256;
+    backendDesc.fHeight = 256;
+    backendDesc.fSampleCnt = 0;
+    backendDesc.fTextureHandle = backendTex;
+    GrSurface* texRT2 = context->textureProvider()->wrapBackendTexture(
+        backendDesc, kBorrow_GrWrapOwnership);
+    REPORTER_ASSERT(reporter, texRT2 == texRT2->asRenderTarget());
+    REPORTER_ASSERT(reporter, texRT2 == texRT2->asTexture());
+    REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT2->asRenderTarget()) ==
+                    texRT2->asTexture());
+    REPORTER_ASSERT(reporter, texRT2->asRenderTarget() ==
+                    static_cast<GrSurface*>(texRT2->asTexture()));
+    REPORTER_ASSERT(reporter, static_cast<GrSurface*>(texRT2->asRenderTarget()) ==
+                    static_cast<GrSurface*>(texRT2->asTexture()));
 
-        texRT1->unref();
-        texRT2->unref();
-        tex1->unref();
-        context->getGpu()->deleteTestingOnlyBackendTexture(backendTex);
-    }
+    texRT1->unref();
+    texRT2->unref();
+    tex1->unref();
+    context->getGpu()->deleteTestingOnlyBackendTexture(backendTex);
 }
 
 #endif