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

Side by Side Diff: delta_performer_unittest.cc

Issue 6528006: AU: tolerate files that are symlinks in src image, yet not in new image. (Closed) Base URL: http://git.chromium.org/git/update_engine.git@master
Patch Set: fixes for review Created 9 years, 10 months 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_diff_generator.cc ('k') | test_utils.cc » ('j') | 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 20 matching lines...) Expand all
31 using std::min; 31 using std::min;
32 using std::string; 32 using std::string;
33 using std::vector; 33 using std::vector;
34 using testing::_; 34 using testing::_;
35 using testing::Return; 35 using testing::Return;
36 36
37 extern const char* kUnittestPrivateKeyPath; 37 extern const char* kUnittestPrivateKeyPath;
38 extern const char* kUnittestPublicKeyPath; 38 extern const char* kUnittestPublicKeyPath;
39 39
40 namespace { 40 namespace {
41 const size_t kBlockSize = 4096; 41 const size_t kBlockSize = 4096;
42 } // namespace {} 42 } // namespace {}
43 43
44 44
45 class DeltaPerformerTest : public ::testing::Test { }; 45 class DeltaPerformerTest : public ::testing::Test { };
46 46
47 TEST(DeltaPerformerTest, ExtentsToByteStringTest) { 47 TEST(DeltaPerformerTest, ExtentsToByteStringTest) {
48 uint64_t test[] = {1, 1, 4, 2, kSparseHole, 1, 0, 1}; 48 uint64_t test[] = {1, 1, 4, 2, kSparseHole, 1, 0, 1};
49 COMPILE_ASSERT(arraysize(test) % 2 == 0, array_size_uneven); 49 COMPILE_ASSERT(arraysize(test) % 2 == 0, array_size_uneven);
50 const uint64_t block_size = 4096; 50 const uint64_t block_size = 4096;
51 const uint64_t file_length = 5 * block_size - 13; 51 const uint64_t file_length = 5 * block_size - 13;
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 b_mnt.c_str()).c_str())); 249 b_mnt.c_str()).c_str()));
250 EXPECT_EQ(0, system(StringPrintf("echo foo > %s/foo", 250 EXPECT_EQ(0, system(StringPrintf("echo foo > %s/foo",
251 b_mnt.c_str()).c_str())); 251 b_mnt.c_str()).c_str()));
252 EXPECT_EQ(0, system(StringPrintf("touch %s/emptyfile", 252 EXPECT_EQ(0, system(StringPrintf("touch %s/emptyfile",
253 b_mnt.c_str()).c_str())); 253 b_mnt.c_str()).c_str()));
254 EXPECT_TRUE(WriteSparseFile(StringPrintf("%s/fullsparse", b_mnt.c_str()), 254 EXPECT_TRUE(WriteSparseFile(StringPrintf("%s/fullsparse", b_mnt.c_str()),
255 1024 * 1024)); 255 1024 * 1024));
256 EXPECT_EQ(0, system(StringPrintf("dd if=/dev/zero of=%s/partsparese bs=1 " 256 EXPECT_EQ(0, system(StringPrintf("dd if=/dev/zero of=%s/partsparese bs=1 "
257 "seek=4096 count=1", 257 "seek=4096 count=1",
258 b_mnt.c_str()).c_str())); 258 b_mnt.c_str()).c_str()));
259 EXPECT_EQ(0, system(StringPrintf("cp %s/srchardlink0 %s/tmp && "
260 "mv %s/tmp %s/srchardlink1",
261 b_mnt.c_str(), b_mnt.c_str(),
262 b_mnt.c_str(), b_mnt.c_str()).c_str()));
259 EXPECT_TRUE(utils::WriteFile(StringPrintf("%s/hardtocompress", 263 EXPECT_TRUE(utils::WriteFile(StringPrintf("%s/hardtocompress",
260 b_mnt.c_str()).c_str(), 264 b_mnt.c_str()).c_str(),
261 reinterpret_cast<const char*>(kRandomString), 265 reinterpret_cast<const char*>(kRandomString),
262 sizeof(kRandomString))); 266 sizeof(kRandomString)));
263 } 267 }
264 268
265 string old_kernel; 269 string old_kernel;
266 EXPECT_TRUE(utils::MakeTempFile("/tmp/old_kernel.XXXXXX", &old_kernel, NULL)); 270 EXPECT_TRUE(utils::MakeTempFile("/tmp/old_kernel.XXXXXX", &old_kernel, NULL));
267 ScopedPathUnlinker old_kernel_unlinker(old_kernel); 271 ScopedPathUnlinker old_kernel_unlinker(old_kernel);
268 272
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 op.clear_src_extents(); 530 op.clear_src_extents();
527 *(op.add_src_extents()) = ExtentForRange(5, 3); 531 *(op.add_src_extents()) = ExtentForRange(5, 3);
528 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 532 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
529 *(op.add_dst_extents()) = ExtentForRange(20, 6); 533 *(op.add_dst_extents()) = ExtentForRange(20, 6);
530 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op)); 534 EXPECT_TRUE(DeltaPerformer::IsIdempotentOperation(op));
531 *(op.add_src_extents()) = ExtentForRange(19, 2); 535 *(op.add_src_extents()) = ExtentForRange(19, 2);
532 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op)); 536 EXPECT_FALSE(DeltaPerformer::IsIdempotentOperation(op));
533 } 537 }
534 538
535 } // namespace chromeos_update_engine 539 } // namespace chromeos_update_engine
OLDNEW
« no previous file with comments | « delta_diff_generator.cc ('k') | test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698