Generate recovery.img for unittest during build time

The unit tests for imgpatch is comparing the compressed bytes. As
a result, these unit tests will fail with libz change.

Since the recovery image is just a gzipped ramdisk with some wrappings,
we can generate with minigzip it during the build time. This matches
the usage in the real world, where we generate the patch with the host
side libz; and apply the patch with the library on the device.

Bug: 149443852
Test: tests pass on Pixel3
Change-Id: I7885765a161c6bf765671bc55a72cfcaa04b4138
This commit is contained in:
Tianjie Xu 2020-02-20 23:09:44 -08:00
parent 2015fe5dbc
commit fa77ee8470
5 changed files with 19 additions and 0 deletions

View file

@ -94,6 +94,24 @@ librecovery_static_libs = [
"libtinyxml2",
]
// recovery image for unittests.
// ========================================================
genrule {
name: "recovery_image",
cmd: "cat $(location testdata/recovery_head) <(cat $(location testdata/recovery_body) | $(location minigzip)) $(location testdata/recovery_tail) > $(out)",
srcs: [
"testdata/recovery_head",
"testdata/recovery_body",
"testdata/recovery_tail",
],
tools: [
"minigzip",
],
out: [
"testdata/recovery.img",
],
}
cc_test {
name: "recovery_unit_test",
isolated: true,
@ -127,6 +145,7 @@ cc_test {
data: [
"testdata/*",
":recovery_image",
":res-testdata",
],
}

Binary file not shown.

BIN
tests/testdata/recovery_body vendored Normal file

Binary file not shown.

BIN
tests/testdata/recovery_head vendored Normal file

Binary file not shown.

BIN
tests/testdata/recovery_tail vendored Normal file

Binary file not shown.