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 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 |
OLD | NEW |