Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / gpu / command_buffer / service / gpu_scheduler_unittest.cc
index 84e40c7..c658d2b 100644 (file)
@@ -33,21 +33,26 @@ class GpuSchedulerTest : public testing::Test {
   static const int32 kTransferBufferId = 123;
 
   virtual void SetUp() {
-    shared_memory_.reset(new ::base::SharedMemory);
-    shared_memory_->CreateAndMapAnonymous(kRingBufferSize);
-    buffer_ = static_cast<int32*>(shared_memory_->memory());
-    shared_memory_buffer_.ptr = buffer_;
-    shared_memory_buffer_.size = kRingBufferSize;
+    scoped_ptr<base::SharedMemory> shared_memory(new ::base::SharedMemory);
+    shared_memory->CreateAndMapAnonymous(kRingBufferSize);
+    buffer_ = static_cast<int32*>(shared_memory->memory());
+    shared_memory_buffer_ =
+        MakeBufferFromSharedMemory(shared_memory.Pass(), kRingBufferSize);
     memset(buffer_, 0, kRingBufferSize);
 
     command_buffer_.reset(new MockCommandBuffer);
 
     CommandBuffer::State default_state;
     default_state.num_entries = kRingBufferEntries;
-    ON_CALL(*command_buffer_.get(), GetState())
+    ON_CALL(*command_buffer_.get(), GetLastState())
         .WillByDefault(Return(default_state));
 
     decoder_.reset(new gles2::MockGLES2Decoder());
+    // Install FakeDoCommands handler so we can use individual DoCommand()
+    // expectations.
+    EXPECT_CALL(*decoder_, DoCommands(_, _, _, _)).WillRepeatedly(
+        Invoke(decoder_.get(), &gles2::MockGLES2Decoder::FakeDoCommands));
+
     scheduler_.reset(new gpu::GpuScheduler(command_buffer_.get(),
                                            decoder_.get(),
                                            decoder_.get()));
@@ -64,7 +69,7 @@ class GpuSchedulerTest : public testing::Test {
   }
 
   error::Error GetError() {
-    return command_buffer_->GetState().error;
+    return command_buffer_->GetLastState().error;
   }
 
 #if defined(OS_MACOSX)
@@ -72,8 +77,7 @@ class GpuSchedulerTest : public testing::Test {
 #endif
   base::MessageLoop message_loop;
   scoped_ptr<MockCommandBuffer> command_buffer_;
-  scoped_ptr<base::SharedMemory> shared_memory_;
-  Buffer shared_memory_buffer_;
+  scoped_refptr<Buffer> shared_memory_buffer_;
   int32* buffer_;
   scoped_ptr<gles2::MockGLES2Decoder> decoder_;
   scoped_ptr<GpuScheduler> scheduler_;
@@ -83,7 +87,7 @@ TEST_F(GpuSchedulerTest, SchedulerDoesNothingIfRingBufferIsEmpty) {
   CommandBuffer::State state;
 
   state.put_offset = 0;
-  EXPECT_CALL(*command_buffer_, GetState())
+  EXPECT_CALL(*command_buffer_, GetLastState())
     .WillRepeatedly(Return(state));
 
   EXPECT_CALL(*command_buffer_, SetParseError(_))
@@ -119,7 +123,7 @@ TEST_F(GpuSchedulerTest, ProcessesOneCommand) {
   CommandBuffer::State state;
 
   state.put_offset = 2;
-  EXPECT_CALL(*command_buffer_, GetState())
+  EXPECT_CALL(*command_buffer_, GetLastState())
     .WillRepeatedly(Return(state));
   EXPECT_CALL(*command_buffer_, SetGetOffset(2));
 
@@ -143,12 +147,11 @@ TEST_F(GpuSchedulerTest, ProcessesTwoCommands) {
   CommandBuffer::State state;
 
   state.put_offset = 3;
-  EXPECT_CALL(*command_buffer_, GetState())
+  EXPECT_CALL(*command_buffer_, GetLastState())
     .WillRepeatedly(Return(state));
 
   EXPECT_CALL(*decoder_, DoCommand(7, 1, &buffer_[0]))
     .WillOnce(Return(error::kNoError));
-  EXPECT_CALL(*command_buffer_, SetGetOffset(2));
 
   EXPECT_CALL(*decoder_, DoCommand(8, 0, &buffer_[2]))
     .WillOnce(Return(error::kNoError));
@@ -165,7 +168,7 @@ TEST_F(GpuSchedulerTest, SetsErrorCodeOnCommandBuffer) {
   CommandBuffer::State state;
 
   state.put_offset = 1;
-  EXPECT_CALL(*command_buffer_, GetState())
+  EXPECT_CALL(*command_buffer_, GetLastState())
     .WillRepeatedly(Return(state));
 
   EXPECT_CALL(*decoder_, DoCommand(7, 0, &buffer_[0]))
@@ -186,7 +189,7 @@ TEST_F(GpuSchedulerTest, ProcessCommandsDoesNothingAfterError) {
   CommandBuffer::State state;
   state.error = error::kGenericError;
 
-  EXPECT_CALL(*command_buffer_, GetState())
+  EXPECT_CALL(*command_buffer_, GetLastState())
     .WillRepeatedly(Return(state));
 
   scheduler_->PutChanged();
@@ -196,7 +199,7 @@ TEST_F(GpuSchedulerTest, CanGetAddressOfSharedMemory) {
   EXPECT_CALL(*command_buffer_.get(), GetTransferBuffer(7))
     .WillOnce(Return(shared_memory_buffer_));
 
-  EXPECT_EQ(&buffer_[0], scheduler_->GetSharedMemoryBuffer(7).ptr);
+  EXPECT_EQ(&buffer_[0], scheduler_->GetSharedMemoryBuffer(7)->memory());
 }
 
 ACTION_P2(SetPointee, address, value) {
@@ -207,7 +210,7 @@ TEST_F(GpuSchedulerTest, CanGetSizeOfSharedMemory) {
   EXPECT_CALL(*command_buffer_.get(), GetTransferBuffer(7))
     .WillOnce(Return(shared_memory_buffer_));
 
-  EXPECT_EQ(kRingBufferSize, scheduler_->GetSharedMemoryBuffer(7).size);
+  EXPECT_EQ(kRingBufferSize, scheduler_->GetSharedMemoryBuffer(7)->size());
 }
 
 TEST_F(GpuSchedulerTest, SetTokenForwardsToCommandBuffer) {