AU: DeltaPerformer performs the download size/hash check now.
DownloadAction still calculates a hash in this case, however,
we can remove it when we remove old-style download support.
BUG=7393
TEST=unit tests, gmerge on device and updated with signed load,
with different download size/hash.
Change-Id: I5af9a09f87264159fc55070735463ad920fd7373
Review URL: http://codereview.chromium.org/3547019
diff --git a/delta_performer_unittest.cc b/delta_performer_unittest.cc
index 4a11c69..8717e07 100755
--- a/delta_performer_unittest.cc
+++ b/delta_performer_unittest.cc
@@ -251,8 +251,10 @@
.WillRepeatedly(Return(true));
EXPECT_CALL(prefs, SetInt64(kPrefsUpdateStateNextDataOffset, _))
.WillRepeatedly(Return(true));
- EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSignedSHA256Context, _))
+ EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSHA256Context, _))
.WillRepeatedly(Return(true));
+ EXPECT_CALL(prefs, SetString(kPrefsUpdateStateSignedSHA256Context, _))
+ .WillOnce(Return(true));
// Update the A image in place.
DeltaPerformer performer(&prefs);
@@ -278,7 +280,10 @@
strlen(new_data_string)));
EXPECT_TRUE(utils::FileExists(kUnittestPublicKeyPath));
- EXPECT_TRUE(performer.VerifyPayload(kUnittestPublicKeyPath));
+ EXPECT_TRUE(performer.VerifyPayload(
+ kUnittestPublicKeyPath,
+ OmahaHashCalculator::OmahaHashOfData(delta),
+ delta.size()));
}
TEST(DeltaPerformerTest, NewFullUpdateTest) {
@@ -287,7 +292,7 @@
const off_t kChunkSize = 128 * 1024;
FillWithData(&new_root);
FillWithData(&new_kern);
-
+
string new_root_path;
EXPECT_TRUE(utils::MakeTempFile("/tmp/NewFullUpdateTest_R.XXXXXX",
&new_root_path,
@@ -309,13 +314,13 @@
&out_blobs_fd));
ScopedPathUnlinker out_blobs_path_unlinker(out_blobs_path);
ScopedFdCloser out_blobs_fd_closer(&out_blobs_fd);
-
+
off_t out_blobs_length = 0;
-
+
Graph graph;
vector<DeltaArchiveManifest_InstallOperation> kernel_ops;
vector<Vertex::Index> final_order;
-
+
EXPECT_TRUE(DeltaDiffGenerator::ReadFullUpdateFromDisk(&graph,
new_kern_path,
new_root_path,