OLD | NEW |
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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 {0xfffffffffffffffe, 0, kValid64Invalid32}, | 115 {0xfffffffffffffffe, 0, kValid64Invalid32}, |
116 {0xfffffffffffffffe, 1, kValid64Invalid32}, | 116 {0xfffffffffffffffe, 1, kValid64Invalid32}, |
117 {0xfffffffffffffffe, 2, kInvalid}, | 117 {0xfffffffffffffffe, 2, kInvalid}, |
118 {0xffffffffffffffff, 0, kValid64Invalid32}, | 118 {0xffffffffffffffff, 0, kValid64Invalid32}, |
119 {0xffffffffffffffff, 1, kInvalid}, | 119 {0xffffffffffffffff, 1, kInvalid}, |
120 }; | 120 }; |
121 | 121 |
122 for (size_t index = 0; index < arraysize(kTestData); ++index) { | 122 for (size_t index = 0; index < arraysize(kTestData); ++index) { |
123 const TestData& testcase = kTestData[index]; | 123 const TestData& testcase = kTestData[index]; |
124 SCOPED_TRACE(base::StringPrintf("index %" PRIuS | 124 SCOPED_TRACE(base::StringPrintf("index %" PRIuS |
125 ", base 0x%llx, size 0x%llx", | 125 ", base 0x%" PRIx64 ", size 0x%" PRIx64, |
126 index, | 126 index, |
127 testcase.base, | 127 testcase.base, |
128 testcase.size)); | 128 testcase.size)); |
129 | 129 |
130 CheckedAddressRange range_32(false, testcase.base, testcase.size); | 130 CheckedAddressRange range_32(false, testcase.base, testcase.size); |
131 EXPECT_EQ(ExpectationForValidity32(testcase.validity), range_32.IsValid()); | 131 EXPECT_EQ(ExpectationForValidity32(testcase.validity), range_32.IsValid()); |
132 | 132 |
133 CheckedAddressRange range_64(true, testcase.base, testcase.size); | 133 CheckedAddressRange range_64(true, testcase.base, testcase.size); |
134 EXPECT_EQ(ExpectationForValidity64(testcase.validity), range_64.IsValid()); | 134 EXPECT_EQ(ExpectationForValidity64(testcase.validity), range_64.IsValid()); |
135 } | 135 } |
(...skipping 30 matching lines...) Expand all Loading... |
166 {0x100000000, false}, | 166 {0x100000000, false}, |
167 {0xffffffffffffffff, false}, | 167 {0xffffffffffffffff, false}, |
168 }; | 168 }; |
169 | 169 |
170 CheckedAddressRange parent_range_32(false, 0x2000, 0x1000); | 170 CheckedAddressRange parent_range_32(false, 0x2000, 0x1000); |
171 ASSERT_TRUE(parent_range_32.IsValid()); | 171 ASSERT_TRUE(parent_range_32.IsValid()); |
172 | 172 |
173 for (size_t index = 0; index < arraysize(kTestData); ++index) { | 173 for (size_t index = 0; index < arraysize(kTestData); ++index) { |
174 const TestData& testcase = kTestData[index]; | 174 const TestData& testcase = kTestData[index]; |
175 SCOPED_TRACE(base::StringPrintf( | 175 SCOPED_TRACE(base::StringPrintf( |
176 "index %" PRIuS ", value 0x%llx", index, testcase.value)); | 176 "index %" PRIuS ", value 0x%" PRIx64, index, testcase.value)); |
177 | 177 |
178 EXPECT_EQ(testcase.expectation, | 178 EXPECT_EQ(testcase.expectation, |
179 parent_range_32.ContainsValue(testcase.value)); | 179 parent_range_32.ContainsValue(testcase.value)); |
180 } | 180 } |
181 | 181 |
182 CheckedAddressRange parent_range_64(true, 0x100000000, 0x1000); | 182 CheckedAddressRange parent_range_64(true, 0x100000000, 0x1000); |
183 ASSERT_TRUE(parent_range_64.IsValid()); | 183 ASSERT_TRUE(parent_range_64.IsValid()); |
184 EXPECT_FALSE(parent_range_64.ContainsValue(0xffffffff)); | 184 EXPECT_FALSE(parent_range_64.ContainsValue(0xffffffff)); |
185 EXPECT_TRUE(parent_range_64.ContainsValue(0x100000000)); | 185 EXPECT_TRUE(parent_range_64.ContainsValue(0x100000000)); |
186 EXPECT_TRUE(parent_range_64.ContainsValue(0x100000001)); | 186 EXPECT_TRUE(parent_range_64.ContainsValue(0x100000001)); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 {0x3000, 1, false}, | 223 {0x3000, 1, false}, |
224 {0x3001, 1, false}, | 224 {0x3001, 1, false}, |
225 }; | 225 }; |
226 | 226 |
227 CheckedAddressRange parent_range_32(false, 0x2000, 0x1000); | 227 CheckedAddressRange parent_range_32(false, 0x2000, 0x1000); |
228 ASSERT_TRUE(parent_range_32.IsValid()); | 228 ASSERT_TRUE(parent_range_32.IsValid()); |
229 | 229 |
230 for (size_t index = 0; index < arraysize(kTestData); ++index) { | 230 for (size_t index = 0; index < arraysize(kTestData); ++index) { |
231 const TestData& testcase = kTestData[index]; | 231 const TestData& testcase = kTestData[index]; |
232 SCOPED_TRACE(base::StringPrintf("index %" PRIuS | 232 SCOPED_TRACE(base::StringPrintf("index %" PRIuS |
233 ", base 0x%llx, size 0x%llx", | 233 ", base 0x%" PRIx64 ", size 0x%" PRIx64, |
234 index, | 234 index, |
235 testcase.base, | 235 testcase.base, |
236 testcase.size)); | 236 testcase.size)); |
237 | 237 |
238 CheckedAddressRange child_range_32(false, testcase.base, testcase.size); | 238 CheckedAddressRange child_range_32(false, testcase.base, testcase.size); |
239 ASSERT_TRUE(child_range_32.IsValid()); | 239 ASSERT_TRUE(child_range_32.IsValid()); |
240 EXPECT_EQ(testcase.expectation, | 240 EXPECT_EQ(testcase.expectation, |
241 parent_range_32.ContainsRange(child_range_32)); | 241 parent_range_32.ContainsRange(child_range_32)); |
242 } | 242 } |
243 | 243 |
244 CheckedAddressRange parent_range_64(true, 0x100000000, 0x1000); | 244 CheckedAddressRange parent_range_64(true, 0x100000000, 0x1000); |
245 ASSERT_TRUE(parent_range_64.IsValid()); | 245 ASSERT_TRUE(parent_range_64.IsValid()); |
246 | 246 |
247 CheckedAddressRange child_range_64(true, 0xffffffff, 2); | 247 CheckedAddressRange child_range_64(true, 0xffffffff, 2); |
248 EXPECT_FALSE(parent_range_64.ContainsRange(child_range_64)); | 248 EXPECT_FALSE(parent_range_64.ContainsRange(child_range_64)); |
249 | 249 |
250 child_range_64.SetRange(true, 0x100000000, 2); | 250 child_range_64.SetRange(true, 0x100000000, 2); |
251 EXPECT_TRUE(parent_range_64.ContainsRange(child_range_64)); | 251 EXPECT_TRUE(parent_range_64.ContainsRange(child_range_64)); |
252 | 252 |
253 child_range_64.SetRange(true, 0x100000ffe, 2); | 253 child_range_64.SetRange(true, 0x100000ffe, 2); |
254 EXPECT_TRUE(parent_range_64.ContainsRange(child_range_64)); | 254 EXPECT_TRUE(parent_range_64.ContainsRange(child_range_64)); |
255 | 255 |
256 child_range_64.SetRange(true, 0x100000fff, 2); | 256 child_range_64.SetRange(true, 0x100000fff, 2); |
257 EXPECT_FALSE(parent_range_64.ContainsRange(child_range_64)); | 257 EXPECT_FALSE(parent_range_64.ContainsRange(child_range_64)); |
258 } | 258 } |
259 | 259 |
260 } // namespace | 260 } // namespace |
261 } // namespace test | 261 } // namespace test |
262 } // namespace crashpad | 262 } // namespace crashpad |
OLD | NEW |