1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "gpu/command_buffer/service/gpu_service_test.h"
7 #include "gpu/command_buffer/service/test_helper.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/gl/gl_context_stub_with_extensions.h"
10 #include "ui/gl/gl_implementation.h"
11 #include "ui/gl/gl_mock.h"
12 #include "ui/gl/gl_surface.h"
17 GpuServiceTest::GpuServiceTest() : ran_setup_(false), ran_teardown_(false) {
20 GpuServiceTest::~GpuServiceTest() {
21 DCHECK(ran_teardown_
);
24 void GpuServiceTest::SetUpWithGLVersion(const char* gl_version
,
25 const char* gl_extensions
) {
26 testing::Test::SetUp();
28 gfx::SetGLGetProcAddressProc(gfx::MockGLInterface::GetGLProcAddress
);
29 gfx::GLSurface::InitializeOneOffWithMockBindingsForTests();
30 gl_
.reset(new ::testing::StrictMock
< ::gfx::MockGLInterface
>());
31 ::gfx::MockGLInterface::SetGLInterface(gl_
.get());
33 context_
= new gfx::GLContextStubWithExtensions
;
34 context_
->AddExtensionsString(gl_extensions
);
35 context_
->SetGLVersionString(gl_version
);
36 gfx::GLSurface::InitializeDynamicMockBindingsForTests(context_
.get());
40 void GpuServiceTest::SetUp() {
41 SetUpWithGLVersion("2.0", "GL_EXT_framebuffer_object");
44 void GpuServiceTest::TearDown() {
46 ::gfx::MockGLInterface::SetGLInterface(NULL
);
48 gfx::ClearGLBindings();
51 testing::Test::TearDown();
54 gfx::GLContext
* GpuServiceTest::GetGLContext() {
55 return context_
.get();