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 #ifndef GrBatchTest_DEFINED 9 #define GrBatchTest_DEFINED 10 11 #include "GrTestUtils.h" 12 13 #ifdef GR_TEST_UTILS 14 15 class GrBatch; 16 class GrContext; 17 class SkRandom; 18 19 /* 20 * This file defines some macros for testing batches, and also declares functions / objects which 21 * are generally useful for GrBatch testing 22 */ 23 24 // Batches should define test functions using BATCH_TEST_DEFINE. The other macros defined below 25 // are used exclusively by the test harness. 26 typedef GrBatch* (*BatchTestFunc)(SkRandom* random, GrContext* context); 27 #define BATCH_TEST_DEFINE(Batch) \ 28 GrBatch* Batch##__Test(SkRandom* random, GrContext* context) 29 #define BATCH_TEST_EXTERN(Batch) \ 30 extern GrBatch* Batch##__Test(SkRandom*, GrContext* context); 31 #define BATCH_TEST_ENTRY(Batch) \ 32 Batch##__Test 33 #define BATCH_TEST_FRIEND(Batch) \ 34 friend GrBatch* Batch##__Test(SkRandom* random, GrContext* context); 35 36 GrBatch* GrRandomBatch(SkRandom*, GrContext*); 37 38 #endif 39 #endif 40