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

Side by Side Diff: third_party/crashpad/crashpad/util/misc/uuid_test.cc

Issue 2555353002: Update Crashpad to 32981a3ee9d7c2769fb27afa038fe2e194cfa329 (Closed)
Patch Set: fix readme Created 4 years 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 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 13 matching lines...) Expand all
24 #include "base/scoped_generic.h" 24 #include "base/scoped_generic.h"
25 #include "base/strings/stringprintf.h" 25 #include "base/strings/stringprintf.h"
26 #include "gtest/gtest.h" 26 #include "gtest/gtest.h"
27 27
28 namespace crashpad { 28 namespace crashpad {
29 namespace test { 29 namespace test {
30 namespace { 30 namespace {
31 31
32 TEST(UUID, UUID) { 32 TEST(UUID, UUID) {
33 UUID uuid_zero; 33 UUID uuid_zero;
34 uuid_zero.InitializeToZero();
34 EXPECT_EQ(0u, uuid_zero.data_1); 35 EXPECT_EQ(0u, uuid_zero.data_1);
35 EXPECT_EQ(0u, uuid_zero.data_2); 36 EXPECT_EQ(0u, uuid_zero.data_2);
36 EXPECT_EQ(0u, uuid_zero.data_3); 37 EXPECT_EQ(0u, uuid_zero.data_3);
37 EXPECT_EQ(0u, uuid_zero.data_4[0]); 38 EXPECT_EQ(0u, uuid_zero.data_4[0]);
38 EXPECT_EQ(0u, uuid_zero.data_4[1]); 39 EXPECT_EQ(0u, uuid_zero.data_4[1]);
39 EXPECT_EQ(0u, uuid_zero.data_5[0]); 40 EXPECT_EQ(0u, uuid_zero.data_5[0]);
40 EXPECT_EQ(0u, uuid_zero.data_5[1]); 41 EXPECT_EQ(0u, uuid_zero.data_5[1]);
41 EXPECT_EQ(0u, uuid_zero.data_5[2]); 42 EXPECT_EQ(0u, uuid_zero.data_5[2]);
42 EXPECT_EQ(0u, uuid_zero.data_5[3]); 43 EXPECT_EQ(0u, uuid_zero.data_5[3]);
43 EXPECT_EQ(0u, uuid_zero.data_5[4]); 44 EXPECT_EQ(0u, uuid_zero.data_5[4]);
44 EXPECT_EQ(0u, uuid_zero.data_5[5]); 45 EXPECT_EQ(0u, uuid_zero.data_5[5]);
45 EXPECT_EQ("00000000-0000-0000-0000-000000000000", uuid_zero.ToString()); 46 EXPECT_EQ("00000000-0000-0000-0000-000000000000", uuid_zero.ToString());
46 47
47 const uint8_t kBytes[16] = {0x00, 48 const uint8_t kBytes[16] = {0x00,
48 0x01, 49 0x01,
49 0x02, 50 0x02,
50 0x03, 51 0x03,
51 0x04, 52 0x04,
52 0x05, 53 0x05,
53 0x06, 54 0x06,
54 0x07, 55 0x07,
55 0x08, 56 0x08,
56 0x09, 57 0x09,
57 0x0a, 58 0x0a,
58 0x0b, 59 0x0b,
59 0x0c, 60 0x0c,
60 0x0d, 61 0x0d,
61 0x0e, 62 0x0e,
62 0x0f}; 63 0x0f};
63 UUID uuid(kBytes); 64 UUID uuid;
65 uuid.InitializeFromBytes(kBytes);
64 EXPECT_EQ(0x00010203u, uuid.data_1); 66 EXPECT_EQ(0x00010203u, uuid.data_1);
65 EXPECT_EQ(0x0405u, uuid.data_2); 67 EXPECT_EQ(0x0405u, uuid.data_2);
66 EXPECT_EQ(0x0607u, uuid.data_3); 68 EXPECT_EQ(0x0607u, uuid.data_3);
67 EXPECT_EQ(0x08u, uuid.data_4[0]); 69 EXPECT_EQ(0x08u, uuid.data_4[0]);
68 EXPECT_EQ(0x09u, uuid.data_4[1]); 70 EXPECT_EQ(0x09u, uuid.data_4[1]);
69 EXPECT_EQ(0x0au, uuid.data_5[0]); 71 EXPECT_EQ(0x0au, uuid.data_5[0]);
70 EXPECT_EQ(0x0bu, uuid.data_5[1]); 72 EXPECT_EQ(0x0bu, uuid.data_5[1]);
71 EXPECT_EQ(0x0cu, uuid.data_5[2]); 73 EXPECT_EQ(0x0cu, uuid.data_5[2]);
72 EXPECT_EQ(0x0du, uuid.data_5[3]); 74 EXPECT_EQ(0x0du, uuid.data_5[3]);
73 EXPECT_EQ(0x0eu, uuid.data_5[4]); 75 EXPECT_EQ(0x0eu, uuid.data_5[4]);
74 EXPECT_EQ(0x0fu, uuid.data_5[5]); 76 EXPECT_EQ(0x0fu, uuid.data_5[5]);
75 EXPECT_EQ("00010203-0405-0607-0809-0a0b0c0d0e0f", uuid.ToString()); 77 EXPECT_EQ("00010203-0405-0607-0809-0a0b0c0d0e0f", uuid.ToString());
76 78
77 // Test both operator== and operator!=. 79 // Test both operator== and operator!=.
78 EXPECT_FALSE(uuid == uuid_zero); 80 EXPECT_FALSE(uuid == uuid_zero);
79 EXPECT_NE(uuid, uuid_zero); 81 EXPECT_NE(uuid, uuid_zero);
80 82
81 UUID uuid_2(kBytes); 83 UUID uuid_2;
84 uuid_2.InitializeFromBytes(kBytes);
82 EXPECT_EQ(uuid, uuid_2); 85 EXPECT_EQ(uuid, uuid_2);
83 EXPECT_FALSE(uuid != uuid_2); 86 EXPECT_FALSE(uuid != uuid_2);
84 87
85 // Make sure that operator== and operator!= check the entire UUID. 88 // Make sure that operator== and operator!= check the entire UUID.
86 ++uuid.data_1; 89 ++uuid.data_1;
87 EXPECT_NE(uuid, uuid_2); 90 EXPECT_NE(uuid, uuid_2);
88 --uuid.data_1; 91 --uuid.data_1;
89 ++uuid.data_2; 92 ++uuid.data_2;
90 EXPECT_NE(uuid, uuid_2); 93 EXPECT_NE(uuid, uuid_2);
91 --uuid.data_2; 94 --uuid.data_2;
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 EXPECT_EQ(0x45u, uuid.data_4[0]); 151 EXPECT_EQ(0x45u, uuid.data_4[0]);
149 EXPECT_EQ(0x45u, uuid.data_4[1]); 152 EXPECT_EQ(0x45u, uuid.data_4[1]);
150 EXPECT_EQ(0x45u, uuid.data_5[0]); 153 EXPECT_EQ(0x45u, uuid.data_5[0]);
151 EXPECT_EQ(0x45u, uuid.data_5[1]); 154 EXPECT_EQ(0x45u, uuid.data_5[1]);
152 EXPECT_EQ(0x45u, uuid.data_5[2]); 155 EXPECT_EQ(0x45u, uuid.data_5[2]);
153 EXPECT_EQ(0x45u, uuid.data_5[3]); 156 EXPECT_EQ(0x45u, uuid.data_5[3]);
154 EXPECT_EQ(0x45u, uuid.data_5[4]); 157 EXPECT_EQ(0x45u, uuid.data_5[4]);
155 EXPECT_EQ(0x45u, uuid.data_5[5]); 158 EXPECT_EQ(0x45u, uuid.data_5[5]);
156 EXPECT_EQ("45454545-4545-4545-4545-454545454545", uuid.ToString()); 159 EXPECT_EQ("45454545-4545-4545-4545-454545454545", uuid.ToString());
157 160
158 UUID initialized_generated(UUID::InitializeWithNewTag{}); 161 UUID initialized_generated;
162 initialized_generated.InitializeWithNew();
159 EXPECT_NE(initialized_generated, uuid_zero); 163 EXPECT_NE(initialized_generated, uuid_zero);
160 } 164 }
161 165
162 TEST(UUID, FromString) { 166 TEST(UUID, FromString) {
163 const struct TestCase { 167 const struct TestCase {
164 const char* uuid_string; 168 const char* uuid_string;
165 bool success; 169 bool success;
166 } kCases[] = { 170 } kCases[] = {
167 // Valid: 171 // Valid:
168 {"c6849cb5-fe14-4a79-8978-9ae6034c521d", true}, 172 {"c6849cb5-fe14-4a79-8978-9ae6034c521d", true},
169 {"00000000-0000-0000-0000-000000000000", true}, 173 {"00000000-0000-0000-0000-000000000000", true},
170 {"ffffffff-ffff-ffff-ffff-ffffffffffff", true}, 174 {"ffffffff-ffff-ffff-ffff-ffffffffffff", true},
171 // Outside HEX range: 175 // Outside HEX range:
172 {"7318z10b-c453-4cef-9dc8-015655cb4bbc", false}, 176 {"7318z10b-c453-4cef-9dc8-015655cb4bbc", false},
173 {"7318a10b-c453-4cef-9dz8-015655cb4bbc", false}, 177 {"7318a10b-c453-4cef-9dz8-015655cb4bbc", false},
174 // Incomplete: 178 // Incomplete:
175 {"15655cb4-", false}, 179 {"15655cb4-", false},
176 {"7318f10b-c453-4cef-9dc8-015655cb4bb", false}, 180 {"7318f10b-c453-4cef-9dc8-015655cb4bb", false},
177 {"318f10b-c453-4cef-9dc8-015655cb4bb2", false}, 181 {"318f10b-c453-4cef-9dc8-015655cb4bb2", false},
178 {"7318f10b-c453-4ef-9dc8-015655cb4bb2", false}, 182 {"7318f10b-c453-4ef-9dc8-015655cb4bb2", false},
179 {"", false}, 183 {"", false},
180 {"abcd", false}, 184 {"abcd", false},
181 // Trailing data: 185 // Trailing data:
182 {"6d247a34-53d5-40ec-a90d-d8dea9e94cc01", false} 186 {"6d247a34-53d5-40ec-a90d-d8dea9e94cc01", false}
183 }; 187 };
184 188
185 const std::string empty_uuid = UUID().ToString(); 189 UUID uuid_zero;
190 uuid_zero.InitializeToZero();
191 const std::string empty_uuid = uuid_zero.ToString();
186 192
187 for (size_t index = 0; index < arraysize(kCases); ++index) { 193 for (size_t index = 0; index < arraysize(kCases); ++index) {
188 const TestCase& test_case = kCases[index]; 194 const TestCase& test_case = kCases[index];
189 SCOPED_TRACE(base::StringPrintf( 195 SCOPED_TRACE(base::StringPrintf(
190 "index %" PRIuS ": %s", index, test_case.uuid_string)); 196 "index %" PRIuS ": %s", index, test_case.uuid_string));
191 197
192 UUID uuid; 198 UUID uuid;
199 uuid.InitializeToZero();
193 EXPECT_EQ(test_case.success, 200 EXPECT_EQ(test_case.success,
194 uuid.InitializeFromString(test_case.uuid_string)); 201 uuid.InitializeFromString(test_case.uuid_string));
195 if (test_case.success) { 202 if (test_case.success) {
196 EXPECT_EQ(test_case.uuid_string, uuid.ToString()); 203 EXPECT_EQ(test_case.uuid_string, uuid.ToString());
197 } else { 204 } else {
198 EXPECT_EQ(empty_uuid, uuid.ToString()); 205 EXPECT_EQ(empty_uuid, uuid.ToString());
199 } 206 }
200 } 207 }
201 208
202 // Test for case insensitivty. 209 // Test for case insensitivty.
(...skipping 29 matching lines...) Expand all
232 ScopedRpcString scoped_system_string(&system_string); 239 ScopedRpcString scoped_system_string(&system_string);
233 240
234 EXPECT_EQ(reinterpret_cast<wchar_t*>(system_string), uuid.ToString16()); 241 EXPECT_EQ(reinterpret_cast<wchar_t*>(system_string), uuid.ToString16());
235 } 242 }
236 243
237 #endif // OS_WIN 244 #endif // OS_WIN
238 245
239 } // namespace 246 } // namespace
240 } // namespace test 247 } // namespace test
241 } // namespace crashpad 248 } // namespace crashpad
OLDNEW
« no previous file with comments | « third_party/crashpad/crashpad/util/misc/uuid.cc ('k') | third_party/crashpad/crashpad/util/net/http_transport.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698