OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "base/thread.h" | 5 #include "base/thread.h" |
6 #include "gpu/command_buffer/service/command_buffer_service.h" | 6 #include "gpu/command_buffer/service/command_buffer_service.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
9 | 9 |
10 using base::SharedMemory; | 10 using base::SharedMemory; |
11 using testing::_; | 11 using testing::_; |
12 using testing::DoAll; | 12 using testing::DoAll; |
13 using testing::Return; | 13 using testing::Return; |
14 using testing::SetArgumentPointee; | 14 using testing::SetArgumentPointee; |
15 using testing::StrictMock; | 15 using testing::StrictMock; |
16 | 16 |
17 namespace command_buffer { | 17 namespace gpu { |
18 | 18 |
19 class CommandBufferServiceTest : public testing::Test { | 19 class CommandBufferServiceTest : public testing::Test { |
20 protected: | 20 protected: |
21 virtual void SetUp() { | 21 virtual void SetUp() { |
22 command_buffer_.reset(new CommandBufferService); | 22 command_buffer_.reset(new CommandBufferService); |
23 } | 23 } |
24 | 24 |
25 scoped_ptr<CommandBufferService> command_buffer_; | 25 scoped_ptr<CommandBufferService> command_buffer_; |
26 }; | 26 }; |
27 | 27 |
28 TEST_F(CommandBufferServiceTest, NullRingBufferByDefault) { | 28 TEST_F(CommandBufferServiceTest, NullRingBufferByDefault) { |
29 EXPECT_TRUE(NULL == command_buffer_->GetRingBuffer()); | 29 EXPECT_TRUE(NULL == command_buffer_->GetRingBuffer()); |
30 } | 30 } |
31 | 31 |
32 TEST_F(CommandBufferServiceTest, InitializesCommandBuffer) { | 32 TEST_F(CommandBufferServiceTest, InitializesCommandBuffer) { |
33 SharedMemory* ring_buffer = new SharedMemory; | 33 base::SharedMemory* ring_buffer = command_buffer_->Initialize(1024); |
34 EXPECT_TRUE(ring_buffer->Create(std::wstring(), false, false, 1024)); | 34 EXPECT_TRUE(NULL != ring_buffer); |
35 EXPECT_TRUE(command_buffer_->Initialize(ring_buffer)); | 35 EXPECT_EQ(ring_buffer, command_buffer_->GetRingBuffer()); |
36 EXPECT_TRUE(ring_buffer == command_buffer_->GetRingBuffer()); | 36 EXPECT_GT(command_buffer_->GetSize(), 0); |
37 EXPECT_EQ(256, command_buffer_->GetSize()); | |
38 } | 37 } |
39 | 38 |
40 TEST_F(CommandBufferServiceTest, InitializeFailsSecondTime) { | 39 TEST_F(CommandBufferServiceTest, InitializeFailsSecondTime) { |
41 SharedMemory* ring_buffer = new SharedMemory; | 40 SharedMemory* ring_buffer = new SharedMemory; |
42 EXPECT_TRUE(command_buffer_->Initialize(ring_buffer)); | 41 EXPECT_TRUE(NULL != command_buffer_->Initialize(1024)); |
43 EXPECT_FALSE(command_buffer_->Initialize(ring_buffer)); | 42 EXPECT_TRUE(NULL == command_buffer_->Initialize(1024)); |
44 } | 43 } |
45 | 44 |
46 TEST_F(CommandBufferServiceTest, GetAndPutOffsetsDefaultToZero) { | 45 TEST_F(CommandBufferServiceTest, GetAndPutOffsetsDefaultToZero) { |
47 EXPECT_EQ(0, command_buffer_->GetGetOffset()); | 46 EXPECT_EQ(0, command_buffer_->GetGetOffset()); |
48 EXPECT_EQ(0, command_buffer_->GetPutOffset()); | 47 EXPECT_EQ(0, command_buffer_->GetPutOffset()); |
49 } | 48 } |
50 | 49 |
51 class MockCallback : public CallbackRunner<Tuple0> { | 50 class MockCallback : public CallbackRunner<Tuple0> { |
52 public: | 51 public: |
53 MOCK_METHOD1(RunWithParams, void(const Tuple0&)); | 52 MOCK_METHOD1(RunWithParams, void(const Tuple0&)); |
54 }; | 53 }; |
55 | 54 |
56 TEST_F(CommandBufferServiceTest, CanSyncGetAndPutOffset) { | 55 TEST_F(CommandBufferServiceTest, CanSyncGetAndPutOffset) { |
57 SharedMemory* ring_buffer = new SharedMemory; | 56 command_buffer_->Initialize(1024); |
58 ring_buffer->Create(std::wstring(), false, false, 1024); | |
59 | |
60 EXPECT_TRUE(command_buffer_->Initialize(ring_buffer)); | |
61 | 57 |
62 StrictMock<MockCallback>* put_offset_change_callback = | 58 StrictMock<MockCallback>* put_offset_change_callback = |
63 new StrictMock<MockCallback>; | 59 new StrictMock<MockCallback>; |
64 command_buffer_->SetPutOffsetChangeCallback(put_offset_change_callback); | 60 command_buffer_->SetPutOffsetChangeCallback(put_offset_change_callback); |
65 | 61 |
66 EXPECT_CALL(*put_offset_change_callback, RunWithParams(_)); | 62 EXPECT_CALL(*put_offset_change_callback, RunWithParams(_)); |
67 EXPECT_EQ(0, command_buffer_->SyncOffsets(2)); | 63 EXPECT_EQ(0, command_buffer_->SyncOffsets(2)); |
68 EXPECT_EQ(2, command_buffer_->GetPutOffset()); | 64 EXPECT_EQ(2, command_buffer_->GetPutOffset()); |
69 | 65 |
70 EXPECT_CALL(*put_offset_change_callback, RunWithParams(_)); | 66 EXPECT_CALL(*put_offset_change_callback, RunWithParams(_)); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 | 164 |
169 TEST_F(CommandBufferServiceTest, DefaultErrorStatusIsFalse) { | 165 TEST_F(CommandBufferServiceTest, DefaultErrorStatusIsFalse) { |
170 EXPECT_FALSE(command_buffer_->GetErrorStatus()); | 166 EXPECT_FALSE(command_buffer_->GetErrorStatus()); |
171 } | 167 } |
172 | 168 |
173 TEST_F(CommandBufferServiceTest, CanRaiseErrorStatus) { | 169 TEST_F(CommandBufferServiceTest, CanRaiseErrorStatus) { |
174 command_buffer_->RaiseErrorStatus(); | 170 command_buffer_->RaiseErrorStatus(); |
175 EXPECT_TRUE(command_buffer_->GetErrorStatus()); | 171 EXPECT_TRUE(command_buffer_->GetErrorStatus()); |
176 } | 172 } |
177 | 173 |
178 } // namespace command_buffer | 174 } // namespace gpu |
OLD | NEW |