diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Android.bp | 19 | ||||
-rw-r--r-- | tests/testdata/recovery.img | bin | 529707 -> 0 bytes | |||
-rw-r--r-- | tests/testdata/recovery_body | bin | 0 -> 1293568 bytes | |||
-rw-r--r-- | tests/testdata/recovery_head | bin | 0 -> 45056 bytes | |||
-rw-r--r-- | tests/testdata/recovery_tail | bin | 0 -> 5191 bytes | |||
-rw-r--r-- | tests/unit/install_test.cpp | 28 |
6 files changed, 47 insertions, 0 deletions
diff --git a/tests/Android.bp b/tests/Android.bp index 4c23255ad..a9a088a32 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -95,6 +95,24 @@ librecovery_static_libs = [ "libc++fs", ] +// 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, @@ -128,6 +146,7 @@ cc_test { data: [ "testdata/*", + ":recovery_image", ":res-testdata", ], } diff --git a/tests/testdata/recovery.img b/tests/testdata/recovery.img Binary files differdeleted file mode 100644 index b862e6f0c..000000000 --- a/tests/testdata/recovery.img +++ /dev/null diff --git a/tests/testdata/recovery_body b/tests/testdata/recovery_body Binary files differnew file mode 100644 index 000000000..48d7c10a5 --- /dev/null +++ b/tests/testdata/recovery_body diff --git a/tests/testdata/recovery_head b/tests/testdata/recovery_head Binary files differnew file mode 100644 index 000000000..7f494d098 --- /dev/null +++ b/tests/testdata/recovery_head diff --git a/tests/testdata/recovery_tail b/tests/testdata/recovery_tail Binary files differnew file mode 100644 index 000000000..7fe2c6ce8 --- /dev/null +++ b/tests/testdata/recovery_tail diff --git a/tests/unit/install_test.cpp b/tests/unit/install_test.cpp index ee753494c..90c4b1409 100644 --- a/tests/unit/install_test.cpp +++ b/tests/unit/install_test.cpp @@ -466,6 +466,34 @@ TEST(InstallTest, CheckPackageMetadata_ab_fingerprint) { TestCheckPackageMetadata(metadata, OtaType::AB, false); } +TEST(InstallTest, CheckPackageMetadata_dynamic_fingerprint) { + std::string device = android::base::GetProperty("ro.product.device", ""); + ASSERT_FALSE(device.empty()); + + std::string finger_print = android::base::GetProperty("ro.build.fingerprint", ""); + ASSERT_FALSE(finger_print.empty()); + + std::string metadata = android::base::Join( + std::vector<std::string>{ + "ota-type=AB", + "pre-device=please|work|" + device + "|please|work", + "pre-build=" + finger_print = "pass|this|test", + "post-timestamp=" + std::to_string(std::numeric_limits<int64_t>::max()), + }, + "\n"); + TestCheckPackageMetadata(metadata, OtaType::AB, true); + + metadata = android::base::Join( + std::vector<std::string>{ + "ota-type=AB", + "pre-device=" + device, + "pre-build=dummy_build_fingerprint", + "post-timestamp=" + std::to_string(std::numeric_limits<int64_t>::max()), + }, + "\n"); + TestCheckPackageMetadata(metadata, OtaType::AB, false); +} + TEST(InstallTest, CheckPackageMetadata_ab_post_timestamp) { std::string device = android::base::GetProperty("ro.product.device", ""); ASSERT_NE("", device); |