Reboot and retry on I/O errors

When I/O error happens, reboot and retry installation two times
before we abort this OTA update.

Bug: 25633753
Change-Id: Iba6d4203a343a725aa625a41d237606980d62f69
5 files changed
tree: 5b5de8d81fe220d4331cc2284c87686708283d7a
  1. Android.mk
  2. CleanSpec.mk
  3. NOTICE
  4. README.md
  5. adb_install.cpp
  6. adb_install.h
  7. applypatch/
  8. asn1_decoder.cpp
  9. asn1_decoder.h
  10. bootloader.cpp
  11. bootloader.h
  12. common.h
  13. default_device.cpp
  14. device.cpp
  15. device.h
  16. edify/
  17. etc/
  18. fonts/
  19. fuse_sdcard_provider.cpp
  20. fuse_sdcard_provider.h
  21. fuse_sideload.cpp
  22. fuse_sideload.h
  23. install.cpp
  24. install.h
  25. interlace-frames.py
  26. minadbd/
  27. minui/
  28. minzip/
  29. mtdutils/
  30. otafault/
  31. print_sha1.h
  32. recovery.cpp
  33. res-hdpi/
  34. res-mdpi/
  35. res-xhdpi/
  36. res-xxhdpi/
  37. res-xxxhdpi/
  38. roots.cpp
  39. roots.h
  40. screen_ui.cpp
  41. screen_ui.h
  42. tests/
  43. tools/
  44. ui.cpp
  45. ui.h
  46. uncrypt/
  47. unique_fd.h
  48. update_verifier/
  49. updater/
  50. verifier.cpp
  51. verifier.h
  52. wear_ui.cpp
  53. wear_ui.h
README.md

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