Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(220)

Side by Side Diff: gpu/command_buffer/service/shader_manager_unittest.cc

Issue 2378583003: Ping watchdog thread during GpuChannel destruction (Closed)
Patch Set: revert to passing via destructor Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "gpu/command_buffer/service/shader_manager.h" 5 #include "gpu/command_buffer/service/shader_manager.h"
6 6
7 #include "gpu/command_buffer/service/gpu_service_test.h" 7 #include "gpu/command_buffer/service/gpu_service_test.h"
8 #include "gpu/command_buffer/service/mocks.h" 8 #include "gpu/command_buffer/service/mocks.h"
9 #include "gpu/command_buffer/service/progress_reporter_stub.h"
9 #include "gpu/command_buffer/service/test_helper.h" 10 #include "gpu/command_buffer/service/test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/gl/gl_mock.h" 12 #include "ui/gl/gl_mock.h"
12 13
13 using ::testing::Return; 14 using ::testing::Return;
14 using ::testing::ReturnRef; 15 using ::testing::ReturnRef;
15 16
16 namespace gpu { 17 namespace gpu {
17 namespace gles2 { 18 namespace gles2 {
18 19
19 class ShaderManagerTest : public GpuServiceTest { 20 class ShaderManagerTest : public GpuServiceTest {
20 public: 21 public:
21 ShaderManagerTest() { 22 ShaderManagerTest() {
22 } 23 }
23 24
24 ~ShaderManagerTest() override { manager_.Destroy(false); } 25 ~ShaderManagerTest() override {
26 ProgressReporterStub progress_reporter;
27 manager_.Destroy(false, &progress_reporter);
28 }
25 29
26 protected: 30 protected:
27 ShaderManager manager_; 31 ShaderManager manager_;
28 }; 32 };
29 33
30 TEST_F(ShaderManagerTest, Basic) { 34 TEST_F(ShaderManagerTest, Basic) {
31 const GLuint kClient1Id = 1; 35 const GLuint kClient1Id = 1;
32 const GLuint kService1Id = 11; 36 const GLuint kService1Id = 11;
33 const GLenum kShader1Type = GL_VERTEX_SHADER; 37 const GLenum kShader1Type = GL_VERTEX_SHADER;
34 const GLuint kClient2Id = 2; 38 const GLuint kClient2Id = 2;
(...skipping 19 matching lines...) Expand all
54 const GLuint kService1Id = 11; 58 const GLuint kService1Id = 11;
55 const GLenum kShader1Type = GL_VERTEX_SHADER; 59 const GLenum kShader1Type = GL_VERTEX_SHADER;
56 // Check we can create shader. 60 // Check we can create shader.
57 Shader* shader1 = manager_.CreateShader( 61 Shader* shader1 = manager_.CreateShader(
58 kClient1Id, kService1Id, kShader1Type); 62 kClient1Id, kService1Id, kShader1Type);
59 // Check shader got created. 63 // Check shader got created.
60 ASSERT_TRUE(shader1 != NULL); 64 ASSERT_TRUE(shader1 != NULL);
61 EXPECT_CALL(*gl_, DeleteShader(kService1Id)) 65 EXPECT_CALL(*gl_, DeleteShader(kService1Id))
62 .Times(1) 66 .Times(1)
63 .RetiresOnSaturation(); 67 .RetiresOnSaturation();
64 manager_.Destroy(true); 68 ProgressReporterStub progress_reporter;
69 manager_.Destroy(true, &progress_reporter);
65 // Check that resources got freed. 70 // Check that resources got freed.
66 shader1 = manager_.GetShader(kClient1Id); 71 shader1 = manager_.GetShader(kClient1Id);
67 ASSERT_TRUE(shader1 == NULL); 72 ASSERT_TRUE(shader1 == NULL);
68 } 73 }
69 74
70 TEST_F(ShaderManagerTest, DeleteBug) { 75 TEST_F(ShaderManagerTest, DeleteBug) {
71 const GLuint kClient1Id = 1; 76 const GLuint kClient1Id = 1;
72 const GLuint kClient2Id = 2; 77 const GLuint kClient2Id = 2;
73 const GLuint kService1Id = 11; 78 const GLuint kService1Id = 11;
74 const GLuint kService2Id = 12; 79 const GLuint kService2Id = 12;
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 EXPECT_CALL(*gl_, DeleteShader(kService1Id)) 318 EXPECT_CALL(*gl_, DeleteShader(kService1Id))
314 .Times(1) 319 .Times(1)
315 .RetiresOnSaturation(); 320 .RetiresOnSaturation();
316 manager_.Delete(shader1); // this should delete the shader. 321 manager_.Delete(shader1); // this should delete the shader.
317 shader2 = manager_.GetShader(kClient1Id); 322 shader2 = manager_.GetShader(kClient1Id);
318 EXPECT_TRUE(shader2 == NULL); 323 EXPECT_TRUE(shader2 == NULL);
319 } 324 }
320 325
321 } // namespace gles2 326 } // namespace gles2
322 } // namespace gpu 327 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698