No description
Find a file
Tao Bao ed13819a0d fuse_sideload: Change the minimal block size to 4096.
run_fuse_sideload() is passing the block size as the max_read
option, so it will only handle a request that involves at most two
blocks at a time. However, the minimal allowed value was set to 1024
prior to this CL, which is inconsistent with the kernel code
(fs/fuse/inode.c) that sets it to the greater of 4096 and the passed-in
max_read option. This would fail the calls with a block size / max_read
less than 4096 due to the wrongly computed block indices.

Note that we didn't observe real issue in practice, because we have been
using 64 KiB block sizes for both of adb and sdcard sideload calls. The
issue only shows up in my local CL (to come later) that uses 1024 block
size in run_fuse_sideload() tests.

Test: recovery_component_test
Test: adb sideload with the new recovery image on angler
Change-Id: Id9f0cfea13d0d193dcb7cd41a1553a23739545f2
2017-05-02 15:56:22 -07:00
applypatch Merge "applypatch: Remove the obsolete support for "applypatch -s"." 2017-04-26 16:49:48 +00:00
boot_control Boot control HAL based on the A/B headers. 2017-04-03 11:25:33 -07:00
bootloader_message Boot control HAL based on the A/B headers. 2017-04-03 11:25:33 -07:00
edify Suppress the unused variable warning in parser.yy 2017-03-28 12:44:10 -07:00
etc init.rc: Remove sys.powerctl action 2017-04-17 16:55:54 -07:00
fonts more font improvements and cleanup 2013-03-07 13:34:24 -08:00
minadbd minadbd: Fix a failing test due to SIGPIPE. 2017-04-25 09:37:20 -07:00
minui minui: Fix breakage in graphics_adf. 2017-04-28 16:13:02 -07:00
otafault Protect filename_cache with lock in ota fault 2017-04-10 16:21:09 -07:00
otautil Log temperature during OTA update 2017-03-28 11:28:47 -07:00
private Add tests for update_binary_command(). 2017-04-17 20:44:37 -07:00
res-hdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-mdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xxhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
res-xxxhdpi/images Merge "Add the missing sr-Latn into png files and rename the png locale header" 2017-03-28 19:52:47 +00:00
tests fuse_sideload: Change the minimal block size to 4096. 2017-05-02 15:56:22 -07:00
tools Import translations. DO NOT MERGE 2017-04-01 15:49:37 -07:00
uncrypt recovery: replacing fs_mgr_read_fstab() with new fs_mgr APIs 2017-03-10 17:27:31 +08:00
update_verifier Fix potential OOM in update_verifier 2017-04-27 14:22:40 -07:00
updater Adding support for quiescent reboot to recovery 2017-04-19 14:43:08 -07:00
.clang-format clang-format: Adjust short functions / if settings. 2016-12-12 15:00:52 -08:00
adb_install.cpp adb_install: Stop passing RecoveryUI as a parameter. 2017-05-01 11:47:43 -07:00
adb_install.h adb_install: Stop passing RecoveryUI as a parameter. 2017-05-01 11:47:43 -07:00
Android.mk fuse_sideload: Change the minimal block size to 4096. 2017-05-02 15:56:22 -07:00
asn1_decoder.cpp Checking unsigned variable less than zero 2017-03-23 17:07:39 +01:00
asn1_decoder.h Refactor asn1_decoder functions into a class. 2017-03-21 15:17:43 -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 Adding support for quiescent reboot to recovery 2017-04-19 14:43:08 -07:00
default_device.cpp Auto-detect whether to use the long-press UI. 2015-04-10 15:14:35 -07:00
device.cpp recovery: Move a few int to bool. 2017-03-07 15:35:12 -08:00
device.h recovery: Move a few int to bool. 2017-03-07 15:35:12 -08:00
error_code.h Verify the package compatibility with libvintf. 2017-04-12 22:46:09 -07: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 fuse_sideload: Change the minimal block size to 4096. 2017-05-02 15:56:22 -07:00
fuse_sideload.h recovery: Switch fuse_* to C++. 2015-07-24 11:22:05 -07:00
install.cpp recovery: Change install_package() to take std::string. 2017-05-01 12:31:48 -07:00
install.h recovery: Change install_package() to take std::string. 2017-05-01 12:31:48 -07:00
interlace-frames.py Go back to the old ear-wiggling Android animation. 2016-04-21 14:26:14 -07:00
mounts.cpp libmounts: Remove two dead functions. 2017-04-16 15:53:47 -07:00
mounts.h libmounts: Remove two dead functions. 2017-04-16 15:53:47 -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 Add checkers and tests for empty locale in PNG file 2017-01-18 19:37:06 -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-31 13:52:54 -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-31 13:52:54 -07:00
recovery.cpp adb_install: Stop passing RecoveryUI as a parameter. 2017-05-01 11:47:43 -07:00
res-560dpi Make text for recovery larger on angler 2016-05-02 12:20:04 -07:00
roots.cpp recovery: switch to fs_mgr_read_fstab_default() 2017-03-29 16:31:29 +08: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 Const modifiers 2017-03-23 21:52:30 +01:00
screen_ui.h Const modifiers 2017-03-23 21:52:30 +01:00
stub_ui.h recovery: Fix the broken UI text. 2017-01-03 22:40:03 -08:00
ui.cpp Adding support for quiescent reboot to recovery 2017-04-19 14:43:08 -07:00
ui.h recovery: Add screensaver mode. 2017-01-30 16:12:30 -08:00
verifier.cpp Merge "Const modifiers" 2017-03-24 20:32:39 +00:00
verifier.h Const modifiers 2017-03-23 21:52:30 +01:00
wear_touch.cpp Removed C-style casts 2017-03-23 21:52:04 +01:00
wear_touch.h recovery: Move SwipeDetector into common location 2016-03-18 06:03:21 +00:00
wear_ui.cpp minui: Export minui/minui.h. 2017-01-16 21:28:18 -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.

ResourceTest validates whether the png files are qualified as background text image under recovery.

1. `adb sync data` to make sure the test-dir has the images to test.
2. The test will automatically pickup and verify all `_text.png` files in
   the test dir.