1 /*
2  * Copyright 2015 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #include "Test.h"
9 
10 #if SK_SUPPORT_GPU
11 #include "GrContext.h"
12 #include "gl/SkGLContext.h"
13 #endif
14 
15 
16 // This is an example of a normal test.
DEF_TEST(TestNormal,reporter)17 DEF_TEST(TestNormal, reporter) {
18     REPORTER_ASSERT(reporter, reporter);
19 }
20 
21 // This is an example of a GPU test that uses common GrContextFactory factory to do the test.
22 #if SK_SUPPORT_GPU
DEF_GPUTEST(TestGpuFactory,reporter,factory)23 DEF_GPUTEST(TestGpuFactory, reporter, factory) {
24     REPORTER_ASSERT(reporter, reporter);
25     REPORTER_ASSERT(reporter, factory);
26 }
27 #endif
28 
29 // This is an example of a GPU test that tests a property that should work for all GPU contexts.
30 // Note: Some of the contexts might not produce a rendering output.
31 #if SK_SUPPORT_GPU
DEF_GPUTEST_FOR_ALL_CONTEXTS(TestGpuAllContexts,reporter,context)32 DEF_GPUTEST_FOR_ALL_CONTEXTS(TestGpuAllContexts, reporter, context) {
33     REPORTER_ASSERT(reporter, reporter);
34     REPORTER_ASSERT(reporter, context);
35 }
36 #endif
37 
38 // This is an example of a GPU test that tests a property that should work for all GPU contexts that
39 // produce a rendering output.
40 #if SK_SUPPORT_GPU
DEF_GPUTEST_FOR_RENDERING_CONTEXTS(TestGpuRenderingContexts,reporter,context)41 DEF_GPUTEST_FOR_RENDERING_CONTEXTS(TestGpuRenderingContexts, reporter, context) {
42     REPORTER_ASSERT(reporter, reporter);
43     REPORTER_ASSERT(reporter, context);
44 }
45 #endif
46 
47 // This is an example of a GPU test that tests a property that should work at least for the native
48 // GPU context. If the test takes a long time to run, it may be appropriate to test only the native
49 // context.
50 #if SK_SUPPORT_GPU
DEF_GPUTEST_FOR_NATIVE_CONTEXT(TestGpuNativeContext,reporter,context)51 DEF_GPUTEST_FOR_NATIVE_CONTEXT(TestGpuNativeContext, reporter, context) {
52     REPORTER_ASSERT(reporter, reporter);
53     REPORTER_ASSERT(reporter, context);
54 }
55 #endif
56 
57 // This is an example of a GPU test that tests a property that uses the null GPU context.  It should
58 // be used if the test tests some behavior that is mocked with the null context.
59 #if SK_SUPPORT_GPU
DEF_GPUTEST_FOR_NULL_CONTEXT(TestGpuNullContext,reporter,context)60 DEF_GPUTEST_FOR_NULL_CONTEXT(TestGpuNullContext, reporter, context) {
61     REPORTER_ASSERT(reporter, reporter);
62     REPORTER_ASSERT(reporter, context);
63 }
64 #endif
65 
66 // This is an example of a GPU test that tests a property that should work for all GPU contexts.
67 // It uses the additional SkGLContext* glContext to implement the test.
68 #if SK_SUPPORT_GPU
DEF_GPUTEST_FOR_ALL_CONTEXTS(TestGpuGrContextAndGLContext,reporter,context,glContext)69 DEF_GPUTEST_FOR_ALL_CONTEXTS(TestGpuGrContextAndGLContext, reporter, context, glContext) {
70     REPORTER_ASSERT(reporter, reporter);
71     REPORTER_ASSERT(reporter, context);
72     REPORTER_ASSERT(reporter, glContext);
73 }
74 #endif
75 
76