aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianjie Xu2017-07-21 16:04:17 -0500
committerandroid-build-merger2017-07-21 16:04:17 -0500
commit80acaab52f019c2db0d05865ef63fd533d0a668b (patch)
treeaa790d00af253a4e0d43ee8623f4dec95362fa90 /tests/component
parent92036417425386d103ce1550c1c95f6e695129cb (diff)
parente45c8f005710d6b24aa24374d61e0ca0867243a7 (diff)
downloadplatform-bootable-recovery-80acaab52f019c2db0d05865ef63fd533d0a668b.tar.gz
platform-bootable-recovery-80acaab52f019c2db0d05865ef63fd533d0a668b.tar.xz
platform-bootable-recovery-80acaab52f019c2db0d05865ef63fd533d0a668b.zip
Merge "Fix a case when brotli writer fails to write last few blocks of data"
am: e45c8f0057 Change-Id: I337e8ec26f59a5245ab299080d7251331823e2da
Diffstat (limited to 'tests/component')
-rw-r--r--tests/component/updater_test.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index 01b86f22..6c341c11 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -592,10 +592,10 @@ TEST_F(UpdaterTest, brotli_new_data) {
592 ASSERT_EQ(0, zip_writer.StartEntry("new.dat.br", 0)); 592 ASSERT_EQ(0, zip_writer.StartEntry("new.dat.br", 0));
593 593
594 auto generator = []() { return rand() % 128; }; 594 auto generator = []() { return rand() % 128; };
595 // Generate 2048 blocks of random data. 595 // Generate 100 blocks of random data.
596 std::string brotli_new_data; 596 std::string brotli_new_data;
597 brotli_new_data.reserve(4096 * 2048); 597 brotli_new_data.reserve(4096 * 100);
598 generate_n(back_inserter(brotli_new_data), 4096 * 2048, generator); 598 generate_n(back_inserter(brotli_new_data), 4096 * 100, generator);
599 599
600 size_t encoded_size = BrotliEncoderMaxCompressedSize(brotli_new_data.size()); 600 size_t encoded_size = BrotliEncoderMaxCompressedSize(brotli_new_data.size());
601 std::vector<uint8_t> encoded_data(encoded_size); 601 std::vector<uint8_t> encoded_data(encoded_size);
@@ -609,8 +609,19 @@ TEST_F(UpdaterTest, brotli_new_data) {
609 ASSERT_EQ(0, zip_writer.StartEntry("patch_data", 0)); 609 ASSERT_EQ(0, zip_writer.StartEntry("patch_data", 0));
610 ASSERT_EQ(0, zip_writer.FinishEntry()); 610 ASSERT_EQ(0, zip_writer.FinishEntry());
611 611
612 // Write a few small chunks of new data, then a large chunk, and finally a few small chunks.
613 // This helps us to catch potential short writes.
612 std::vector<std::string> transfer_list = { 614 std::vector<std::string> transfer_list = {
613 "4", "2048", "0", "0", "new 4,0,512,512,1024", "new 2,1024,2048", 615 "4",
616 "100",
617 "0",
618 "0",
619 "new 2,0,1",
620 "new 2,1,2",
621 "new 4,2,50,50,97",
622 "new 2,97,98",
623 "new 2,98,99",
624 "new 2,99,100",
614 }; 625 };
615 ASSERT_EQ(0, zip_writer.StartEntry("transfer_list", 0)); 626 ASSERT_EQ(0, zip_writer.StartEntry("transfer_list", 0));
616 std::string commands = android::base::Join(transfer_list, '\n'); 627 std::string commands = android::base::Join(transfer_list, '\n');