No description
Find a file
Tao Bao 20c581e35d recovery: Clean up try_update_binary() in install.cpp.
Move functions over to android::base versions.
- strtok(3) => android::base::Split()
- strtol(3) => android::base::ParseInt()
- strtof(3) => android::base::ParseDouble()

Test: Build recovery image and apply a package that calls ui_print /
      progress / set_progress commands.
Change-Id: I953b4985e0bd9e277362ae53e233d755cf27d80c
2017-01-06 09:25:32 -08:00
applypatch Merge "imgdiff: Fix an edge case that leads to infinite loop." 2017-01-04 21:59:26 +00:00
bootloader_message Add update_bootloader_message() to fix two-step OTAs. 2016-12-15 12:36:26 -08:00
edify Cleanup ReadArgs & ReadValueArgs usage 2016-11-01 15:03:06 -07:00
etc Write aliases before ffs mount in recovery 2017-01-04 11:20:19 -08:00
fonts more font improvements and cleanup 2013-03-07 13:34:24 -08:00
minadbd Use static_cast to cast pointers returned by malloc/calloc/realloc/mmap. 2016-11-15 23:24:54 -08:00
minui Remove unnecessary uses of reinterpret_cast. 2016-11-15 23:25:57 -08:00
otafault Remove ota_close(int) and ota_fclose(FILE*). 2016-11-28 12:09:39 -08:00
otautil otautil: Clean up obsolete includes. 2016-11-08 13:39:12 -08:00
res-hdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-mdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xxhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
res-xxxhdpi/images Merge "Further compress the text images with zopflipng" 2016-08-03 17:59:11 +00:00
tests Merge "imgdiff: Fix an edge case that leads to infinite loop." 2017-01-04 21:59:26 +00:00
tools Import translations. DO NOT MERGE 2016-11-20 15:25:37 -08:00
uncrypt Add tests for setup-bcb and clear-bcb via uncrypt. 2016-12-13 17:46:03 -08:00
update_verifier Switch update verifier to HIDL HAL 2016-11-21 13:48:42 -08:00
updater Merge "updater: Clean up CreateStash()." 2017-01-05 21:14:43 +00:00
.clang-format clang-format: Adjust short functions / if settings. 2016-12-12 15:00:52 -08:00
adb_install.cpp Switch to <android-base/properties.h>. 2016-09-26 09:51:37 -07:00
adb_install.h Factor out option variables from int to bool types 2015-03-25 15:56:15 -07:00
Android.mk Merge "Cleanup the duplicates of logs rotation functions" 2016-11-04 18:14:01 +00:00
asn1_decoder.cpp Add missing includes. 2015-01-28 12:09:05 -08:00
asn1_decoder.h Add support for ECDSA signatures 2013-10-10 14:19:19 -07:00
bootloader.h Create bootloader_message static library. 2016-10-18 11:37:05 -07:00
CleanSpec.mk recovery: minui: add adf backend 2014-04-25 15:47:34 -07:00
common.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
default_device.cpp Auto-detect whether to use the long-press UI. 2015-04-10 15:14:35 -07:00
device.cpp Call update_engine_sideload from recovery. 2016-11-19 22:39:51 -08:00
device.h Merge \"Fix google-explicit-constructor warnings in bootable/recovery.\" 2016-06-29 23:11:45 +00:00
error_code.h resolve merge conflicts of 4f86f26 to stage-aosp-master 2016-11-15 23:13:24 -08:00
fuse_sdcard_provider.cpp Check an edge case when read(2) returns 0 2016-08-31 19:11:41 -07:00
fuse_sdcard_provider.h recovery: Fork a process for fuse when sideloading from SD card. 2016-01-13 21:29:20 -08:00
fuse_sideload.cpp Convert recovery to use BoringSSL instead of mincrypt. 2016-04-06 15:54:17 +02:00
fuse_sideload.h recovery: Switch fuse_* to C++. 2015-07-24 11:22:05 -07:00
install.cpp recovery: Clean up try_update_binary() in install.cpp. 2017-01-06 09:25:32 -08:00
install.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
interlace-frames.py Go back to the old ear-wiggling Android animation. 2016-04-21 14:26:14 -07:00
mounts.cpp Remove obsolete MTD support. 2016-06-10 13:45:35 -07:00
mounts.h Remove obsolete MTD support. 2016-06-10 13:45:35 -07:00
NOTICE Automated import from //branches/master/...@140824,140824 2009-03-24 18:36:42 -07:00
print_sha1.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
README.md Move recovery_test.cpp out of unit test 2016-11-08 10:42:51 -08:00
recovery-persist.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-persist.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-28 11:07:00 -07:00
recovery-refresh.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
recovery-refresh.rc recovery: use __android_log_pmsg_file_write for log files 2016-03-28 11:07:00 -07:00
recovery.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
res-560dpi Make text for recovery larger on angler 2016-05-02 12:20:04 -07:00
roots.cpp Update the header path for ext4_utils. 2016-10-09 14:02:10 -07:00
roots.h Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
rotate_logs.cpp Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
rotate_logs.h Cleanup the duplicates of logs rotation functions 2016-11-03 18:16:33 -07:00
screen_ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
screen_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
stub_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
verifier.cpp Revert "Revert "Some cleanups to recovery."" 2016-11-03 11:57:46 -07:00
verifier.h Convert recovery to use BoringSSL instead of mincrypt. 2016-04-06 15:54:17 +02:00
wear_touch.cpp Switch recovery to libbase logging 2016-09-01 14:32:55 -07:00
wear_touch.h recovery: Move SwipeDetector into common location 2016-03-18 06:03:21 +00:00
wear_ui.cpp recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
wear_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00

The Recovery Image

Quick turn-around testing

mm -j && m ramdisk-nodeps && m recoveryimage-nodeps

# To boot into the new recovery image
# without flashing the recovery partition:
adb reboot bootloader
fastboot boot $ANDROID_PRODUCT_OUT/recovery.img

Running the tests

# After setting up environment and lunch.
mmma -j bootable/recovery

# Running the tests on device.
adb root
adb sync data

# 32-bit device
adb shell /data/nativetest/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest/recovery_component_test/recovery_component_test

# Or 64-bit device
adb shell /data/nativetest64/recovery_unit_test/recovery_unit_test
adb shell /data/nativetest64/recovery_component_test/recovery_component_test

Running the manual tests

recovery-refresh and recovery-persist executables exist only on systems without /cache partition. And we need to follow special steps to run tests for them.

  • Execute the test on an A/B device first. The test should fail but it will log some contents to pmsg.

  • Reboot the device immediately and run the test again. The test should save the contents of pmsg buffer into /data/misc/recovery/inject.txt. Test will pass if this file has expected contents.