OLD | NEW |
1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium OS 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 <sys/mount.h> | 5 #include <sys/mount.h> |
6 #include <inttypes.h> | 6 #include <inttypes.h> |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 EXPECT_FALSE(signature.data().empty()); | 240 EXPECT_FALSE(signature.data().empty()); |
241 } | 241 } |
242 | 242 |
243 PrefsMock prefs; | 243 PrefsMock prefs; |
244 EXPECT_CALL(prefs, SetInt64(kPrefsManifestMetadataSize, | 244 EXPECT_CALL(prefs, SetInt64(kPrefsManifestMetadataSize, |
245 manifest_metadata_size)).WillOnce(Return(true)); | 245 manifest_metadata_size)).WillOnce(Return(true)); |
246 EXPECT_CALL(prefs, SetInt64(kPrefsUpdateStateNextOperation, _)) | 246 EXPECT_CALL(prefs, SetInt64(kPrefsUpdateStateNextOperation, _)) |
247 .WillRepeatedly(Return(true)); | 247 .WillRepeatedly(Return(true)); |
248 EXPECT_CALL(prefs, SetInt64(kPrefsUpdateStateNextDataOffset, _)) | 248 EXPECT_CALL(prefs, SetInt64(kPrefsUpdateStateNextDataOffset, _)) |
249 .WillRepeatedly(Return(true)); | 249 .WillRepeatedly(Return(true)); |
| 250 EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSHA256Context, _)) |
| 251 .WillRepeatedly(Return(true)); |
250 EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSignedSHA256Context, _)) | 252 EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSignedSHA256Context, _)) |
251 .WillRepeatedly(Return(true)); | 253 .WillOnce(Return(true)); |
252 | 254 |
253 // Update the A image in place. | 255 // Update the A image in place. |
254 DeltaPerformer performer(&prefs); | 256 DeltaPerformer performer(&prefs); |
255 | 257 |
256 EXPECT_EQ(0, performer.Open(a_img.c_str(), 0, 0)); | 258 EXPECT_EQ(0, performer.Open(a_img.c_str(), 0, 0)); |
257 EXPECT_TRUE(performer.OpenKernel(old_kernel.c_str())); | 259 EXPECT_TRUE(performer.OpenKernel(old_kernel.c_str())); |
258 | 260 |
259 // Write at some number of bytes per operation. Arbitrarily chose 5. | 261 // Write at some number of bytes per operation. Arbitrarily chose 5. |
260 const size_t kBytesPerWrite = 5; | 262 const size_t kBytesPerWrite = 5; |
261 for (size_t i = 0; i < delta.size(); i += kBytesPerWrite) { | 263 for (size_t i = 0; i < delta.size(); i += kBytesPerWrite) { |
262 size_t count = min(delta.size() - i, kBytesPerWrite); | 264 size_t count = min(delta.size() - i, kBytesPerWrite); |
263 EXPECT_EQ(count, performer.Write(&delta[i], count)); | 265 EXPECT_EQ(count, performer.Write(&delta[i], count)); |
264 } | 266 } |
265 | 267 |
266 // Wrapper around close. Returns 0 on success or -errno on error. | 268 // Wrapper around close. Returns 0 on success or -errno on error. |
267 EXPECT_EQ(0, performer.Close()); | 269 EXPECT_EQ(0, performer.Close()); |
268 | 270 |
269 CompareFilesByBlock(old_kernel, new_kernel); | 271 CompareFilesByBlock(old_kernel, new_kernel); |
270 | 272 |
271 vector<char> updated_kernel_partition; | 273 vector<char> updated_kernel_partition; |
272 EXPECT_TRUE(utils::ReadFile(old_kernel, &updated_kernel_partition)); | 274 EXPECT_TRUE(utils::ReadFile(old_kernel, &updated_kernel_partition)); |
273 EXPECT_EQ(0, strncmp(&updated_kernel_partition[0], new_data_string, | 275 EXPECT_EQ(0, strncmp(&updated_kernel_partition[0], new_data_string, |
274 strlen(new_data_string))); | 276 strlen(new_data_string))); |
275 | 277 |
276 EXPECT_TRUE(utils::FileExists(kUnittestPublicKeyPath)); | 278 EXPECT_TRUE(utils::FileExists(kUnittestPublicKeyPath)); |
277 EXPECT_TRUE(performer.VerifyPayload(kUnittestPublicKeyPath)); | 279 EXPECT_TRUE(performer.VerifyPayload( |
| 280 kUnittestPublicKeyPath, |
| 281 OmahaHashCalculator::OmahaHashOfData(delta), |
| 282 delta.size())); |
278 } | 283 } |
279 | 284 |
280 } // namespace chromeos_update_engine | 285 } // namespace chromeos_update_engine |
OLD | NEW |