diff options
Diffstat (limited to 'gpu/command_buffer/service/gpu_scheduler_unittest.cc')
-rw-r--r-- | gpu/command_buffer/service/gpu_scheduler_unittest.cc | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/gpu/command_buffer/service/gpu_scheduler_unittest.cc b/gpu/command_buffer/service/gpu_scheduler_unittest.cc index cf881e6..2d230ec 100644 --- a/gpu/command_buffer/service/gpu_scheduler_unittest.cc +++ b/gpu/command_buffer/service/gpu_scheduler_unittest.cc @@ -30,8 +30,6 @@ const size_t kRingBufferEntries = kRingBufferSize / sizeof(CommandBufferEntry); class GpuSchedulerTest : public testing::Test { protected: - static const int32 kTransferBufferId = 123; - virtual void SetUp() { shared_memory_.reset(new ::base::SharedMemory); shared_memory_->CreateAndMapAnonymous(kRingBufferSize); @@ -41,20 +39,28 @@ class GpuSchedulerTest : public testing::Test { memset(buffer_, 0, kRingBufferSize); command_buffer_.reset(new MockCommandBuffer); + ON_CALL(*command_buffer_.get(), GetRingBuffer()) + .WillByDefault(Return(shared_memory_buffer_)); CommandBuffer::State default_state; default_state.num_entries = kRingBufferEntries; ON_CALL(*command_buffer_.get(), GetState()) .WillByDefault(Return(default_state)); + async_api_.reset(new StrictMock<AsyncAPIMock>); + decoder_.reset(new gles2::MockGLES2Decoder()); + + parser_ = new CommandParser(buffer_, + kRingBufferEntries, + 0, + kRingBufferEntries, + 0, + async_api_.get()); + scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(), decoder_.get(), - NULL)); - EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId)) - .WillOnce(Return(shared_memory_buffer_)); - EXPECT_CALL(*command_buffer_, SetGetOffset(0)); - EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId)); + parser_)); } virtual void TearDown() { @@ -76,6 +82,8 @@ class GpuSchedulerTest : public testing::Test { Buffer shared_memory_buffer_; int32* buffer_; scoped_ptr<gles2::MockGLES2Decoder> decoder_; + CommandParser* parser_; + scoped_ptr<AsyncAPIMock> async_api_; scoped_ptr<GpuScheduler> scheduler_; }; @@ -92,24 +100,6 @@ TEST_F(GpuSchedulerTest, SchedulerDoesNothingIfRingBufferIsEmpty) { scheduler_->PutChanged(); } -TEST_F(GpuSchedulerTest, GetSetBuffer) { - CommandBuffer::State state; - - // Set the get offset to something not 0. - EXPECT_CALL(*command_buffer_, SetGetOffset(2)); - scheduler_->SetGetOffset(2); - EXPECT_EQ(2, scheduler_->GetGetOffset()); - - // Set the buffer. - EXPECT_CALL(*command_buffer_, GetTransferBuffer(kTransferBufferId)) - .WillOnce(Return(shared_memory_buffer_)); - EXPECT_CALL(*command_buffer_, SetGetOffset(0)); - EXPECT_TRUE(scheduler_->SetGetBuffer(kTransferBufferId)); - - // Check the get offset was reset. - EXPECT_EQ(0, scheduler_->GetGetOffset()); -} - TEST_F(GpuSchedulerTest, ProcessesOneCommand) { CommandHeader* header = reinterpret_cast<CommandHeader*>(&buffer_[0]); header[0].command = 7; @@ -123,7 +113,7 @@ TEST_F(GpuSchedulerTest, ProcessesOneCommand) { .WillRepeatedly(Return(state)); EXPECT_CALL(*command_buffer_, SetGetOffset(2)); - EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0])) + EXPECT_CALL(*async_api_, DoCommand(7, 1, &buffer_[0])) .WillOnce(Return(error::kNoError)); EXPECT_CALL(*command_buffer_, SetParseError(_)) @@ -146,11 +136,11 @@ TEST_F(GpuSchedulerTest, ProcessesTwoCommands) { EXPECT_CALL(*command_buffer_, GetState()) .WillRepeatedly(Return(state)); - EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0])) + EXPECT_CALL(*async_api_, DoCommand(7, 1, &buffer_[0])) .WillOnce(Return(error::kNoError)); EXPECT_CALL(*command_buffer_, SetGetOffset(2)); - EXPECT_CALL(*decoder_, DoCommand(8, 0, &buffer_[2])) + EXPECT_CALL(*async_api_, DoCommand(8, 0, &buffer_[2])) .WillOnce(Return(error::kNoError)); EXPECT_CALL(*command_buffer_, SetGetOffset(3)); @@ -168,12 +158,11 @@ TEST_F(GpuSchedulerTest, SetsErrorCodeOnCommandBuffer) { EXPECT_CALL(*command_buffer_, GetState()) .WillRepeatedly(Return(state)); - EXPECT_CALL(*decoder_, DoCommand(7, 0, &buffer_[0])) + EXPECT_CALL(*async_api_, DoCommand(7, 0, &buffer_[0])) .WillOnce(Return( error::kUnknownCommand)); EXPECT_CALL(*command_buffer_, SetGetOffset(1)); - EXPECT_CALL(*command_buffer_, SetContextLostReason(_)); EXPECT_CALL(*decoder_, GetContextLostReason()) .WillOnce(Return(error::kUnknown)); EXPECT_CALL(*command_buffer_, |