aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTianjie Xu2017-07-21 15:59:24 -0500
committerGerrit Code Review2017-07-21 15:59:24 -0500
commite45c8f005710d6b24aa24374d61e0ca0867243a7 (patch)
treecd2ac4d17f2ccc606c6891044d31c0d5fbe2326d /tests
parentf7c00ddaf62a6a09ae257d193cadf286af750700 (diff)
parent6ed175d5412deeaec9691f85757e45452407b8e3 (diff)
downloadplatform-bootable-recovery-e45c8f005710d6b24aa24374d61e0ca0867243a7.tar.gz
platform-bootable-recovery-e45c8f005710d6b24aa24374d61e0ca0867243a7.tar.xz
platform-bootable-recovery-e45c8f005710d6b24aa24374d61e0ca0867243a7.zip
Merge "Fix a case when brotli writer fails to write last few blocks of data"
Diffstat (limited to 'tests')
-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');