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
This commit is contained in:
Tianjie Xu
2018-04-26 17:23:23 -07:00
parent 220b531e3d
commit 3f638ee834
2 changed files with 18 additions and 14 deletions

View File

@@ -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<const unsigned char*>(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());