AU: When generating delta, use scratch off end of filesystem
This idea was originally coded by Darin Petkov, but was lost during a
separate bug fix a while ago. This CL restores the functionality.
The partition limit is set to 1GiB right now.
BUG=7444
TEST=tested generating/applying on host and checking results; unittest; tested specific case 110.9->128.4 that release engineers saw
Change-Id: I28a9a8d7025b83ec20b91e97dce5b783fc060b7c
Review URL: http://codereview.chromium.org/5548002
diff --git a/delta_diff_generator_unittest.cc b/delta_diff_generator_unittest.cc
index 4a11c52..2a70399 100644
--- a/delta_diff_generator_unittest.cc
+++ b/delta_diff_generator_unittest.cc
@@ -525,7 +525,8 @@
temp_dir,
fd,
&data_file_size,
- &final_order));
+ &final_order,
+ Vertex::kInvalidIndex));
Graph expected_graph(12);
@@ -728,4 +729,16 @@
EXPECT_EQ(OP_REPLACE_BZ, graph[5].op.type());
}
+TEST_F(DeltaDiffGeneratorTest, CreateScratchNodeTest) {
+ Vertex vertex;
+ DeltaDiffGenerator::CreateScratchNode(12, 34, &vertex);
+ EXPECT_EQ(DeltaArchiveManifest_InstallOperation_Type_REPLACE_BZ,
+ vertex.op.type());
+ EXPECT_EQ(0, vertex.op.data_offset());
+ EXPECT_EQ(0, vertex.op.data_length());
+ EXPECT_EQ(1, vertex.op.dst_extents_size());
+ EXPECT_EQ(12, vertex.op.dst_extents(0).start_block());
+ EXPECT_EQ(34, vertex.op.dst_extents(0).num_blocks());
+}
+
} // namespace chromeos_update_engine