Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
|
no sievers
2016/04/05 19:02:40
#include <memory>
Mostyn Bramley-Moore
2016/04/05 21:35:31
Done.
| |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| 11 #include "gpu/command_buffer/common/cmd_buffer_common.h" | 11 #include "gpu/command_buffer/common/cmd_buffer_common.h" |
| 12 #include "gpu/command_buffer/service/command_buffer_service.h" | 12 #include "gpu/command_buffer/service/command_buffer_service.h" |
| 13 #include "gpu/command_buffer/service/transfer_buffer_manager.h" | 13 #include "gpu/command_buffer/service/transfer_buffer_manager.h" |
| 14 #include "testing/gmock/include/gmock/gmock.h" | 14 #include "testing/gmock/include/gmock/gmock.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 16 | 16 |
| 17 using base::SharedMemory; | 17 using base::SharedMemory; |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 46 | 46 |
| 47 bool Initialize(size_t size) { | 47 bool Initialize(size_t size) { |
| 48 int32_t id; | 48 int32_t id; |
| 49 command_buffer_->CreateTransferBuffer(size, &id); | 49 command_buffer_->CreateTransferBuffer(size, &id); |
| 50 EXPECT_GT(id, 0); | 50 EXPECT_GT(id, 0); |
| 51 command_buffer_->SetGetBuffer(id); | 51 command_buffer_->SetGetBuffer(id); |
| 52 return true; | 52 return true; |
| 53 } | 53 } |
| 54 | 54 |
| 55 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_; | 55 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_; |
| 56 scoped_ptr<CommandBufferService> command_buffer_; | 56 std::unique_ptr<CommandBufferService> command_buffer_; |
| 57 }; | 57 }; |
| 58 | 58 |
| 59 TEST_F(CommandBufferServiceTest, InitializesCommandBuffer) { | 59 TEST_F(CommandBufferServiceTest, InitializesCommandBuffer) { |
| 60 EXPECT_TRUE(Initialize(1024)); | 60 EXPECT_TRUE(Initialize(1024)); |
| 61 CommandBuffer::State state = command_buffer_->GetLastState(); | 61 CommandBuffer::State state = command_buffer_->GetLastState(); |
| 62 EXPECT_EQ(0, state.get_offset); | 62 EXPECT_EQ(0, state.get_offset); |
| 63 EXPECT_EQ(0, command_buffer_->GetPutOffset()); | 63 EXPECT_EQ(0, command_buffer_->GetPutOffset()); |
| 64 EXPECT_EQ(0, state.token); | 64 EXPECT_EQ(0, state.token); |
| 65 EXPECT_EQ(error::kNoError, state.error); | 65 EXPECT_EQ(error::kNoError, state.error); |
| 66 } | 66 } |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 77 public: | 77 public: |
| 78 MOCK_METHOD0(PutOffsetChanged, void()); | 78 MOCK_METHOD0(PutOffsetChanged, void()); |
| 79 MOCK_METHOD1(GetBufferChanged, bool(int32_t)); | 79 MOCK_METHOD1(GetBufferChanged, bool(int32_t)); |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 } // anonymous namespace | 82 } // anonymous namespace |
| 83 | 83 |
| 84 TEST_F(CommandBufferServiceTest, CanSyncGetAndPutOffset) { | 84 TEST_F(CommandBufferServiceTest, CanSyncGetAndPutOffset) { |
| 85 Initialize(1024); | 85 Initialize(1024); |
| 86 | 86 |
| 87 scoped_ptr<StrictMock<MockCallbackTest> > change_callback( | 87 std::unique_ptr<StrictMock<MockCallbackTest>> change_callback( |
| 88 new StrictMock<MockCallbackTest>); | 88 new StrictMock<MockCallbackTest>); |
| 89 command_buffer_->SetPutOffsetChangeCallback( | 89 command_buffer_->SetPutOffsetChangeCallback( |
| 90 base::Bind( | 90 base::Bind( |
| 91 &CallbackTest::PutOffsetChanged, | 91 &CallbackTest::PutOffsetChanged, |
| 92 base::Unretained(change_callback.get()))); | 92 base::Unretained(change_callback.get()))); |
| 93 | 93 |
| 94 EXPECT_CALL(*change_callback, PutOffsetChanged()); | 94 EXPECT_CALL(*change_callback, PutOffsetChanged()); |
| 95 command_buffer_->Flush(2); | 95 command_buffer_->Flush(2); |
| 96 EXPECT_EQ(0, GetGetOffset()); | 96 EXPECT_EQ(0, GetGetOffset()); |
| 97 EXPECT_EQ(2, GetPutOffset()); | 97 EXPECT_EQ(2, GetPutOffset()); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 110 EXPECT_NE(error::kNoError, GetError()); | 110 EXPECT_NE(error::kNoError, GetError()); |
| 111 command_buffer_->Flush(1024); | 111 command_buffer_->Flush(1024); |
| 112 EXPECT_NE(error::kNoError, GetError()); | 112 EXPECT_NE(error::kNoError, GetError()); |
| 113 } | 113 } |
| 114 | 114 |
| 115 TEST_F(CommandBufferServiceTest, SetGetBuffer) { | 115 TEST_F(CommandBufferServiceTest, SetGetBuffer) { |
| 116 int32_t ring_buffer_id; | 116 int32_t ring_buffer_id; |
| 117 command_buffer_->CreateTransferBuffer(1024, &ring_buffer_id); | 117 command_buffer_->CreateTransferBuffer(1024, &ring_buffer_id); |
| 118 EXPECT_GT(ring_buffer_id, 0); | 118 EXPECT_GT(ring_buffer_id, 0); |
| 119 | 119 |
| 120 scoped_ptr<StrictMock<MockCallbackTest> > change_callback( | 120 std::unique_ptr<StrictMock<MockCallbackTest>> change_callback( |
| 121 new StrictMock<MockCallbackTest>); | 121 new StrictMock<MockCallbackTest>); |
| 122 command_buffer_->SetGetBufferChangeCallback( | 122 command_buffer_->SetGetBufferChangeCallback( |
| 123 base::Bind( | 123 base::Bind( |
| 124 &CallbackTest::GetBufferChanged, | 124 &CallbackTest::GetBufferChanged, |
| 125 base::Unretained(change_callback.get()))); | 125 base::Unretained(change_callback.get()))); |
| 126 | 126 |
| 127 EXPECT_CALL(*change_callback, GetBufferChanged(ring_buffer_id)) | 127 EXPECT_CALL(*change_callback, GetBufferChanged(ring_buffer_id)) |
| 128 .WillOnce(Return(true)); | 128 .WillOnce(Return(true)); |
| 129 | 129 |
| 130 command_buffer_->SetGetBuffer(ring_buffer_id); | 130 command_buffer_->SetGetBuffer(ring_buffer_id); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 142 | 142 |
| 143 TEST_F(CommandBufferServiceTest, DefaultParseErrorIsNoError) { | 143 TEST_F(CommandBufferServiceTest, DefaultParseErrorIsNoError) { |
| 144 EXPECT_EQ(0, GetError()); | 144 EXPECT_EQ(0, GetError()); |
| 145 } | 145 } |
| 146 | 146 |
| 147 TEST_F(CommandBufferServiceTest, CanSetParseError) { | 147 TEST_F(CommandBufferServiceTest, CanSetParseError) { |
| 148 command_buffer_->SetParseError(error::kInvalidSize); | 148 command_buffer_->SetParseError(error::kInvalidSize); |
| 149 EXPECT_EQ(1, GetError()); | 149 EXPECT_EQ(1, GetError()); |
| 150 } | 150 } |
| 151 } // namespace gpu | 151 } // namespace gpu |
| OLD | NEW |