diff options
author | Tianjie Xu <xunchang@google.com> | 2018-04-24 20:30:29 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-04-24 20:30:29 +0200 |
commit | fe527cced417916bb6867178d0a57200747f169e (patch) | |
tree | 41aea266bc76d17c4eadaa6b789410c0d66a2e2d | |
parent | Merge "update_verifier: Move to Soong." (diff) | |
parent | Dump debug information for apply_patch unit tests (diff) | |
download | android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar.gz android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar.bz2 android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar.lz android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar.xz android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.tar.zst android_bootable_recovery-fe527cced417916bb6867178d0a57200747f169e.zip |
-rw-r--r-- | applypatch/applypatch.cpp | 5 | ||||
-rw-r--r-- | applypatch/imgpatch.cpp | 5 | ||||
-rw-r--r-- | tests/component/applypatch_test.cpp | 13 |
3 files changed, 22 insertions, 1 deletions
diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 7104abd67..db7530be9 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -630,6 +630,11 @@ static int GenerateTarget(const FileContents& source_file, const std::unique_ptr SHA_CTX ctx; SHA1_Init(&ctx); SinkFn sink = [&memory_sink_str, &ctx](const unsigned char* data, size_t len) { + if (len != 0) { + uint8_t digest[SHA_DIGEST_LENGTH]; + SHA1(data, len, digest); + LOG(DEBUG) << "Appending " << len << " bytes data, sha1: " << short_sha1(digest); + } SHA1_Update(&ctx, data, len); memory_sink_str.append(reinterpret_cast<const char*>(data), len); return len; diff --git a/applypatch/imgpatch.cpp b/applypatch/imgpatch.cpp index 2e4faaadf..9794a4878 100644 --- a/applypatch/imgpatch.cpp +++ b/applypatch/imgpatch.cpp @@ -182,6 +182,8 @@ int ApplyImagePatch(const unsigned char* old_data, size_t old_size, const Value& printf("Failed to apply bsdiff patch.\n"); return -1; } + + LOG(DEBUG) << "Processed chunk type normal"; } else if (type == CHUNK_RAW) { const char* raw_header = patch_header + pos; pos += 4; @@ -201,6 +203,8 @@ int ApplyImagePatch(const unsigned char* old_data, size_t old_size, const Value& return -1; } pos += data_len; + + LOG(DEBUG) << "Processed chunk type raw"; } else if (type == CHUNK_DEFLATE) { // deflate chunks have an additional 60 bytes in their chunk header. const char* deflate_header = patch_header + pos; @@ -276,6 +280,7 @@ int ApplyImagePatch(const unsigned char* old_data, size_t old_size, const Value& return -1; } + LOG(DEBUG) << "Processed chunk type deflate"; } else { printf("patch chunk %d is unknown type %d\n", i, type); return -1; diff --git a/tests/component/applypatch_test.cpp b/tests/component/applypatch_test.cpp index f19f28c60..292d76e43 100644 --- a/tests/component/applypatch_test.cpp +++ b/tests/component/applypatch_test.cpp @@ -31,6 +31,7 @@ #include <vector> #include <android-base/file.h> +#include <android-base/logging.h> #include <android-base/stringprintf.h> #include <android-base/test_utils.h> #include <android-base/unique_fd.h> @@ -46,7 +47,7 @@ using namespace std::string_literals; static void sha1sum(const std::string& fname, std::string* sha1, size_t* fsize = nullptr) { - ASSERT_NE(nullptr, sha1); + ASSERT_TRUE(sha1 != nullptr); std::string data; ASSERT_TRUE(android::base::ReadFileToString(fname, &data)); @@ -68,6 +69,14 @@ static void mangle_file(const std::string& fname) { ASSERT_TRUE(android::base::WriteStringToFile(content, fname)); } +static void test_logger(android::base::LogId /* id */, android::base::LogSeverity severity, + const char* /* tag */, const char* /* file */, unsigned int /* line */, + const char* message) { + if (severity >= android::base::GetMinimumLogSeverity()) { + fprintf(stdout, "%s\n", message); + } +} + class ApplyPatchTest : public ::testing::Test { public: virtual void SetUp() override { @@ -109,6 +118,8 @@ class ApplyPatchModesTest : public ::testing::Test { protected: void SetUp() override { CacheLocation::location().set_cache_temp_source(cache_source.path); + android::base::InitLogging(nullptr, &test_logger); + android::base::SetMinimumLogSeverity(android::base::LogSeverity::DEBUG); } TemporaryFile cache_source; |