From ffede3e8d9b2a6cb6c431ccad69cb341c22f7e45 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Thu, 7 Jun 2018 09:56:19 -0700 Subject: updater: Remove the redundant check on line count. Test: recovery_component_test on marlin. Change-Id: I2ac2bd47469d1aec8a97a8c4ed0fe80ffd65c95b --- tests/component/updater_test.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp index 6f3a3a2a7..fe4f45e15 100644 --- a/tests/component/updater_test.cpp +++ b/tests/component/updater_test.cpp @@ -100,7 +100,8 @@ static void BuildUpdatePackage(const PackageEntries& entries, int fd) { } static void RunBlockImageUpdate(bool is_verify, const PackageEntries& entries, - const std::string& image_file, const std::string& result) { + const std::string& image_file, const std::string& result, + CauseCode cause_code = kNoCause) { CHECK(entries.find("transfer_list") != entries.end()); // Build the update package. @@ -124,7 +125,7 @@ static void RunBlockImageUpdate(bool is_verify, const PackageEntries& entries, std::string script = is_verify ? "block_image_verify" : "block_image_update"; script += R"((")" + image_file + R"(", package_extract_file("transfer_list"), ")" + new_data + R"(", "patch_data"))"; - expect(result.c_str(), script.c_str(), kNoCause, &updater_info); + expect(result.c_str(), script.c_str(), cause_code, &updater_info); ASSERT_EQ(0, fclose(updater_info.cmd_pipe)); CloseArchive(handle); @@ -504,6 +505,24 @@ TEST_F(UpdaterTest, show_progress) { ASSERT_EQ(0, fclose(updater_info.cmd_pipe)); } +TEST_F(UpdaterTest, block_image_update_parsing_error) { + std::vector transfer_list{ + // clang-format off + "4", + "2", + "0", + // clang-format on + }; + + PackageEntries entries{ + { "new_data", "" }, + { "patch_data", "" }, + { "transfer_list", android::base::Join(transfer_list, '\n') }, + }; + + RunBlockImageUpdate(false, entries, image_file_, "", kArgsParsingFailure); +} + TEST_F(UpdaterTest, block_image_update_patch_data) { std::string src_content = std::string(4096, 'a') + std::string(4096, 'c'); std::string tgt_content = std::string(4096, 'b') + std::string(4096, 'd'); -- cgit v1.2.3