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

Side by Side Diff: delta_performer_unittest.cc

Issue 5121008: AU: Check the delta magic and fail on mismatch. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git@master
Patch Set: fix comment Created 10 years, 1 month 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
« no previous file with comments | « delta_performer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 } 360 }
361 361
362 TEST(DeltaPerformerTest, RunAsRootFullSmallImageTest) { 362 TEST(DeltaPerformerTest, RunAsRootFullSmallImageTest) {
363 DoSmallImageTest(true, true, false); 363 DoSmallImageTest(true, true, false);
364 } 364 }
365 365
366 TEST(DeltaPerformerTest, RunAsRootNoopSmallImageTest) { 366 TEST(DeltaPerformerTest, RunAsRootNoopSmallImageTest) {
367 DoSmallImageTest(false, false, true); 367 DoSmallImageTest(false, false, true);
368 } 368 }
369 369
370 TEST(DeltaPerformerTest, BadDeltaMagicTest) {
371 PrefsMock prefs;
372 DeltaPerformer performer(&prefs);
373 EXPECT_EQ(0, performer.Open("/dev/null", 0, 0));
374 EXPECT_TRUE(performer.OpenKernel("/dev/null"));
375 EXPECT_EQ(4, performer.Write("junk", 4));
376 EXPECT_EQ(8, performer.Write("morejunk", 8));
377 EXPECT_LT(performer.Write("morejunk", 8), 0);
378 EXPECT_LT(performer.Close(), 0);
379 }
380
370 TEST(DeltaPerformerTest, IsIdempotentOperationTest) { 381 TEST(DeltaPerformerTest, IsIdempotentOperationTest) {
371 DeltaArchiveManifest_InstallOperation op; 382 DeltaArchiveManifest_InstallOperation op;
372 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 383 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
373 *(op.add_dst_extents()) = ExtentForRange(0, 5); 384 *(op.add_dst_extents()) = ExtentForRange(0, 5);
374 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 385 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
375 *(op.add_src_extents()) = ExtentForRange(4, 1); 386 *(op.add_src_extents()) = ExtentForRange(4, 1);
376 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op)); 387 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op));
377 op.clear_src_extents(); 388 op.clear_src_extents();
378 *(op.add_src_extents()) = ExtentForRange(5, 3); 389 *(op.add_src_extents()) = ExtentForRange(5, 3);
379 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 390 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
380 *(op.add_dst_extents()) = ExtentForRange(20, 6); 391 *(op.add_dst_extents()) = ExtentForRange(20, 6);
381 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 392 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
382 *(op.add_src_extents()) = ExtentForRange(19, 2); 393 *(op.add_src_extents()) = ExtentForRange(19, 2);
383 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op)); 394 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op));
384 } 395 }
385 396
386 } // namespace chromeos_update_engine 397 } // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « delta_performer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698