From 3f638ee8340dec0e95ecdaca7b3f6b3440f85e50 Mon Sep 17 00:00:00 2001 From: Tianjie Xu Date: Thu, 26 Apr 2018 17:23:23 -0700 Subject: Save the target file when applypatch tests fail Save the target file to tempfile upon unittest failures so that we can try to decompress the deflate chunks in the flaky unittests. And print the zlib version in case that gets changed. Also the SHA1 of the uncompressed data seems correct; so only keep the final SHA1 to double confirm. Bug: 67849209 Test: recovery_component_test Change-Id: Ic6447c2b75c29379d6844cd23a0ff1c4305694a0 --- applypatch/applypatch.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'applypatch/applypatch.cpp') diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 39b8030d9..14137de96 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -672,6 +672,14 @@ static int GenerateTarget(const FileContents& source_file, const std::unique_ptr bonus_digest); printf("bonus size %zu sha1 %s\n", bonus_data->data.size(), short_sha1(bonus_digest).c_str()); + // TODO(b/67849209) Remove after debugging the unit test flakiness. + if (android::base::GetMinimumLogSeverity() <= android::base::LogSeverity::DEBUG) { + if (WriteToPartition(reinterpret_cast(memory_sink_str.c_str()), + memory_sink_str.size(), target_filename) != 0) { + LOG(DEBUG) << "Failed to write patched data " << target_filename; + } + } + return 1; } else { printf("now %s\n", short_sha1(target_sha1).c_str()); -- cgit v1.2.3