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