| 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 |