This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/gpu/tests/gpu_testing.hh

48 lines
930 B
C++

/* SPDX-License-Identifier: Apache-2.0 */
#include "testing/testing.h"
#include "GHOST_C-api.h"
struct GPUContext;
namespace blender::gpu {
/* Test class that setups a GPUContext for test cases.
*
* Usage:
* TEST_F(GPUTest, my_gpu_test) {
* ...
* }
*/
class GPUTest : public ::testing::Test {
private:
GHOST_TDrawingContextType draw_context_type = GHOST_kDrawingContextTypeNone;
GHOST_SystemHandle ghost_system;
GHOST_ContextHandle ghost_context;
struct GPUContext *context;
protected:
GPUTest(GHOST_TDrawingContextType draw_context_type) : draw_context_type(draw_context_type)
{
}
void SetUp() override;
void TearDown() override;
};
class GPUOpenGLTest : public GPUTest {
public:
GPUOpenGLTest() : GPUTest(GHOST_kDrawingContextTypeOpenGL)
{
}
};
#define GPU_TEST(test_name) \
TEST_F(GPUOpenGLTest, test_name) \
{ \
test_##test_name(); \
}
} // namespace blender::gpu