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

Side by Side Diff: gpu/command_buffer/common/gles2_cmd_utils_unittest.cc

Issue 10928241: Merge 155478 - Fix SafeAdd and SafeMultiply (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1229/src/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
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/common/gles2_cmd_utils.h" 5 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
6 6
7 #include <limits>
7 #include <GLES2/gl2.h> 8 #include <GLES2/gl2.h>
8 #include <GLES2/gl2ext.h> 9 #include <GLES2/gl2ext.h>
9 10
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 namespace gpu { 13 namespace gpu {
13 namespace gles2 { 14 namespace gles2 {
14 15
15 class GLES2UtilTest : public testing:: Test { 16 class GLES2UtilTest : public testing:: Test {
16 protected: 17 protected:
17 GLES2Util util_; 18 GLES2Util util_;
18 }; 19 };
19 20
21 TEST_F(GLES2UtilTest, SafeMultiplyUint32) {
22 uint32 result = 0;
23 EXPECT_TRUE(SafeMultiplyUint32(2u, 3u, &result));
24 EXPECT_EQ(6u, result);
25 EXPECT_FALSE(SafeMultiplyUint32(0x80000000u, 2u, &result));
26 EXPECT_EQ(0u, result);
27 EXPECT_TRUE(SafeMultiplyUint32(0x2u, 0x7FFFFFFFu, &result));
28 EXPECT_EQ(0xFFFFFFFEu, result);
29 EXPECT_FALSE(SafeMultiplyUint32(2u, 0x80000000u, &result));
30 EXPECT_EQ(0u, result);
31 }
32
33 TEST_F(GLES2UtilTest, SafeAddUint32) {
34 uint32 result = 0;
35 EXPECT_TRUE(SafeAddUint32(2u, 3u, &result));
36 EXPECT_EQ(5u, result);
37 EXPECT_FALSE(SafeAddUint32(0x80000000u, 0x80000000u, &result));
38 EXPECT_EQ(0u, result);
39 EXPECT_TRUE(SafeAddUint32(0xFFFFFFFEu, 0x1u, &result));
40 EXPECT_EQ(0xFFFFFFFFu, result);
41 EXPECT_FALSE(SafeAddUint32(0xFFFFFFFEu, 0x2u, &result));
42 EXPECT_EQ(0u, result);
43 EXPECT_TRUE(SafeAddUint32(0x1u, 0xFFFFFFFEu, &result));
44 EXPECT_EQ(0xFFFFFFFFu, result);
45 EXPECT_FALSE(SafeAddUint32(0x2u, 0xFFFFFFFEu, &result));
46 EXPECT_EQ(0u, result);
47 }
48
49 TEST_F(GLES2UtilTest, SafeAddInt32) {
50 int32 result = 0;
51 const int32 kMax = std::numeric_limits<int32>::max();
52 const int32 kMin = std::numeric_limits<int32>::min();
53 EXPECT_TRUE(SafeAddInt32(2, 3, &result));
54 EXPECT_EQ(5, result);
55 EXPECT_FALSE(SafeAddInt32(kMax, 1, &result));
56 EXPECT_EQ(0, result);
57 EXPECT_TRUE(SafeAddInt32(kMin + 1, -1, &result));
58 EXPECT_EQ(kMin, result);
59 EXPECT_FALSE(SafeAddInt32(kMin, -1, &result));
60 EXPECT_EQ(0, result);
61 EXPECT_TRUE(SafeAddInt32(kMax - 1, 1, &result));
62 EXPECT_EQ(kMax, result);
63 EXPECT_FALSE(SafeAddInt32(1, kMax, &result));
64 EXPECT_EQ(0, result);
65 EXPECT_TRUE(SafeAddInt32(-1, kMin + 1, &result));
66 EXPECT_EQ(kMin, result);
67 EXPECT_FALSE(SafeAddInt32(-1, kMin, &result));
68 EXPECT_EQ(0, result);
69 EXPECT_TRUE(SafeAddInt32(1, kMax - 1, &result));
70 EXPECT_EQ(kMax, result);
71 }
72
20 TEST_F(GLES2UtilTest, GLGetNumValuesReturned) { 73 TEST_F(GLES2UtilTest, GLGetNumValuesReturned) {
21 EXPECT_EQ(0, util_.GLGetNumValuesReturned(GL_COMPRESSED_TEXTURE_FORMATS)); 74 EXPECT_EQ(0, util_.GLGetNumValuesReturned(GL_COMPRESSED_TEXTURE_FORMATS));
22 EXPECT_EQ(0, util_.GLGetNumValuesReturned(GL_SHADER_BINARY_FORMATS)); 75 EXPECT_EQ(0, util_.GLGetNumValuesReturned(GL_SHADER_BINARY_FORMATS));
23 76
24 EXPECT_EQ(0, util_.num_compressed_texture_formats()); 77 EXPECT_EQ(0, util_.num_compressed_texture_formats());
25 EXPECT_EQ(0, util_.num_shader_binary_formats()); 78 EXPECT_EQ(0, util_.num_shader_binary_formats());
26 79
27 util_.set_num_compressed_texture_formats(1); 80 util_.set_num_compressed_texture_formats(1);
28 util_.set_num_shader_binary_formats(2); 81 util_.set_num_shader_binary_formats(2);
29 82
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 CheckParseUniformName("u_name[0][0]", true, 9u, 0, true); 272 CheckParseUniformName("u_name[0][0]", true, 9u, 0, true);
220 CheckParseUniformName("u_name[3][2]", true, 9u, 2, true); 273 CheckParseUniformName("u_name[3][2]", true, 9u, 2, true);
221 CheckParseUniformName("u_name[03][02]", true, 10u, 2, true); 274 CheckParseUniformName("u_name[03][02]", true, 10u, 2, true);
222 CheckParseUniformName("u_name[30][20]", true, 10u, 20, true); 275 CheckParseUniformName("u_name[30][20]", true, 10u, 20, true);
223 CheckParseUniformName("u_name[030][020]", true, 11u, 20, true); 276 CheckParseUniformName("u_name[030][020]", true, 11u, 20, true);
224 } 277 }
225 278
226 } // namespace gles2 279 } // namespace gles2
227 } // namespace gpu 280 } // namespace gpu
228 281
OLDNEW
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_utils.h ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698