Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: gpu/command_buffer/service/buffer_manager_unittest.cc

Issue 332303002: gpu: Add base class for gpu service tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update gpu/build.GN Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/buffer_manager.h" 5 #include "gpu/command_buffer/service/buffer_manager.h"
6 #include "gpu/command_buffer/service/error_state_mock.h" 6 #include "gpu/command_buffer/service/error_state_mock.h"
7 #include "gpu/command_buffer/service/feature_info.h" 7 #include "gpu/command_buffer/service/feature_info.h"
8 #include "gpu/command_buffer/service/gpu_service_test.h"
8 #include "gpu/command_buffer/service/mocks.h" 9 #include "gpu/command_buffer/service/mocks.h"
9 #include "gpu/command_buffer/service/test_helper.h" 10 #include "gpu/command_buffer/service/test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/gl/gl_mock.h" 12 #include "ui/gl/gl_mock.h"
12 13
13 using ::testing::_; 14 using ::testing::_;
14 using ::testing::Return; 15 using ::testing::Return;
15 using ::testing::StrictMock; 16 using ::testing::StrictMock;
16 17
17 namespace gpu { 18 namespace gpu {
18 namespace gles2 { 19 namespace gles2 {
19 20
20 class BufferManagerTestBase : public testing::Test { 21 class BufferManagerTestBase : public GpuServiceTest {
21 protected: 22 protected:
22 void SetUpBase( 23 void SetUpBase(
23 MemoryTracker* memory_tracker, 24 MemoryTracker* memory_tracker,
24 FeatureInfo* feature_info, 25 FeatureInfo* feature_info,
25 const char* extensions) { 26 const char* extensions) {
26 gl_.reset(new ::testing::StrictMock< ::gfx::MockGLInterface>()); 27 GpuServiceTest::SetUp();
27 ::gfx::MockGLInterface::SetGLInterface(gl_.get());
28 if (feature_info) { 28 if (feature_info) {
29 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), extensions); 29 TestHelper::SetupFeatureInfoInitExpectations(gl_.get(), extensions);
30 feature_info->Initialize(); 30 feature_info->Initialize();
31 } 31 }
32 error_state_.reset(new MockErrorState()); 32 error_state_.reset(new MockErrorState());
33 manager_.reset(new BufferManager(memory_tracker, feature_info)); 33 manager_.reset(new BufferManager(memory_tracker, feature_info));
34 } 34 }
35 35
36 virtual void TearDown() { 36 virtual void TearDown() {
37 manager_->Destroy(false); 37 manager_->Destroy(false);
38 manager_.reset(); 38 manager_.reset();
39 ::gfx::MockGLInterface::SetGLInterface(NULL);
40 error_state_.reset(); 39 error_state_.reset();
41 gl_.reset(); 40 GpuServiceTest::TearDown();
42 } 41 }
43 42
44 GLenum GetTarget(const Buffer* buffer) const { 43 GLenum GetTarget(const Buffer* buffer) const {
45 return buffer->target(); 44 return buffer->target();
46 } 45 }
47 46
48 void DoBufferData( 47 void DoBufferData(
49 Buffer* buffer, GLsizeiptr size, GLenum usage, const GLvoid* data, 48 Buffer* buffer, GLsizeiptr size, GLenum usage, const GLvoid* data,
50 GLenum error) { 49 GLenum error) {
51 TestHelper::DoBufferData( 50 TestHelper::DoBufferData(
(...skipping 14 matching lines...) Expand all
66 EXPECT_CALL(*gl_, BufferSubData( 65 EXPECT_CALL(*gl_, BufferSubData(
67 buffer->target(), offset, size, _)) 66 buffer->target(), offset, size, _))
68 .Times(1) 67 .Times(1)
69 .RetiresOnSaturation(); 68 .RetiresOnSaturation();
70 } 69 }
71 manager_->DoBufferSubData( 70 manager_->DoBufferSubData(
72 error_state_.get(), buffer, offset, size, data); 71 error_state_.get(), buffer, offset, size, data);
73 return success; 72 return success;
74 } 73 }
75 74
76 // Use StrictMock to make 100% sure we know how GL will be called.
77 scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_;
78 scoped_ptr<BufferManager> manager_; 75 scoped_ptr<BufferManager> manager_;
79 scoped_ptr<MockErrorState> error_state_; 76 scoped_ptr<MockErrorState> error_state_;
80 }; 77 };
81 78
82 class BufferManagerTest : public BufferManagerTestBase { 79 class BufferManagerTest : public BufferManagerTestBase {
83 protected: 80 protected:
84 virtual void SetUp() { 81 virtual void SetUp() {
85 SetUpBase(NULL, NULL, ""); 82 SetUpBase(NULL, NULL, "");
86 } 83 }
87 }; 84 };
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR); 414 DoBufferData(buffer, sizeof(data3), GL_STATIC_DRAW, data3, GL_NO_ERROR);
418 EXPECT_TRUE( 415 EXPECT_TRUE(
419 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value)); 416 buffer->GetMaxValueForRange(0, 3, GL_UNSIGNED_INT, &max_value));
420 EXPECT_EQ(30u, max_value); 417 EXPECT_EQ(30u, max_value);
421 } 418 }
422 419
423 } // namespace gles2 420 } // namespace gles2
424 } // namespace gpu 421 } // namespace gpu
425 422
426 423
OLDNEW
« no previous file with comments | « gpu/command_buffer/common/unittest_main.cc ('k') | gpu/command_buffer/service/context_group_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698