Commit Graph

2564 Commits

Author SHA1 Message Date
Tao Bao 4102b28132 tests: Set up testdata path for continuous native tests.
continuous_native_tests expects the testdata under DATA/ in
continuous_native_tests.zip. This CL packs a copy of the testdata into
continuous_native_tests.zip as DATA/nativetest/recovery/testdata (via
LOCAL_PICKUP_FILES).

This CL also removes the extra copy for nativetest64. Testdata will
always stay at /data/nativetest/recovery/testdata, even for 64-bit
version. Otherwise we will unnecessarily get four copies (two for data/
and another two for DATA/).

Bug: 32123241
Test: mmma bootable/recovery && adb sync data. On bullhead,
    /data/nativetest/recovery_component_test/recovery_component_test works;
    /data/nativetest64/recovery_component_test/recovery_component_test works.
Test: m continuous_native_test; DATA/nativetest/recovery/testdata exists.

Change-Id: Ifefa0309de7af23c77654e8e450848ca2da218c2
2016-11-02 23:18:01 -07:00
Treehugger Robot 5696526ba4 Merge "applypatch: Add testcases for applypatch executable." 2016-11-02 17:19:45 +00:00
Tianjie Xu a9b252887c Merge "Cleanup ReadArgs & ReadValueArgs usage" 2016-11-01 23:53:02 +00:00
Tianjie Xu 5fe280ac96 Cleanup ReadArgs & ReadValueArgs usage
ReadArgs will switch to using std::string and std::unique_ptr. Also
cleanup the callers.

Test: mma & component test passed.
Change-Id: I4724406ae6c0c134a27bbd1cdd24ad5d343b2a3b
2016-11-01 15:03:06 -07:00
Tao Bao 36c3511952 applypatch: Add testcases for applypatch executable.
Refactor applypatch/main.cpp into libapplypatch_modes so that we can add
testcases.

Some changes to applypatch/main.cpp:
 - Replace char** argv with const char**;
 - Use android::base::Split() to split ":";
 - Use android::base::ParseUInt().

Bug: 32383590
Test: Unit tests pass, install-recovery.sh works.

Change-Id: I44e7bfa5ab717d439ea1d0ee9ddb7b2c40bb95a4
2016-11-01 14:40:14 -07:00
Tao Bao 3f4030e0ef Merge "applypatch: Switch the parameter of Value** to std::vector." 2016-11-01 21:25:12 +00:00
Tao Bao fada91ccf2 applypatch: Switch the parameter of Value** to std::vector.
Test: Unit tests and install-recovery.sh pass on angler and dragon.

Change-Id: I328e6554edca667cf850f5584ebf1ac211e3d4d1
2016-10-28 16:46:12 -07:00
Treehugger Robot 9514eb1934 Merge "Revert "Some cleanups to recovery."" 2016-10-27 04:49:49 +00:00
Dan Albert 8584fcf677 Revert "Some cleanups to recovery."
This reverts commit c0319b60f5.

Reason for revert: Broke builds.

Change-Id: I82aa880b83de5ae6c36fd7567cb001920559a972
2016-10-27 03:08:08 +00:00
Treehugger Robot 46fb0a6a6f Merge "Some cleanups to recovery." 2016-10-26 23:26:04 +00:00
Tao Bao c0319b60f5 Some cleanups to recovery.
- Remove the duplicate gCurrentUI variable in recovery.cpp;
- Refactor the load/save of locale functions;
- Clean up ui_print() to get rid of 256-byte buffer limit;
- Declare ui in common.h;
- Move the typedef of Volume into roots.h.

Test: Build and boot into recovery image.

Change-Id: Ia28c116858ca754133127a5ff9c722af67ad55b7
2016-10-26 14:36:42 -07:00
Tao Bao ebc141dff2 Merge "Skip update-on-boot for bootreason in blacklist" 2016-10-26 16:08:40 +00:00
Tianjie Xu 06e57acf35 Skip update-on-boot for bootreason in blacklist
Skip the OTA installation when bootreason is 'kernel_panic',
'Panic' etc.

Change-Id: Ic1202492bffefa1a9d8d0e691b5af979285e552c
Test: On angler, ota installation skips for one bootreason in the blacklist.
Bug: 29978689
(cherry picked from commit 27b9fc8a36)
2016-10-25 22:32:19 -07:00
Tao Bao 16e88679dc Merge "tests: Generate testdata for 2nd arch." 2016-10-25 23:48:45 +00:00
Tao Bao f1338fbf41 tests: Generate testdata for 2nd arch.
We currently only copy the testdata to
$(TARGET_OUT_DATA_NATIVE_TESTS)/recovery, which fails the tests
generated for 2nd arch (TARGET_2ND_ARCH). For example, on angler
/data/nativetest/recovery_component_test/recovery_component_test fails
due to missing testdata.

Bug: 32123241
Test: Both of /data/nativetest/recovery... and /data/nativetest64/recovery...
work on angler.

Change-Id: Ib76264b4408d01c08b2619c8ac84b2476ea5a8bc
2016-10-25 15:12:13 -07:00
Tao Bao e1991428ba Merge "applypatch: Fix the bug when constructing VAL_BLOB." 2016-10-25 02:44:10 +00:00
Tao Bao edf1b15fef applypatch: Fix the bug when constructing VAL_BLOB.
When constructing std::string from C-string, the string may be truncated
at null char. Use range constructor instead.

Bug: 32380016
Test: Use applypatch to install a previously failed recovery image.
Change-Id: Id3e2afb4a810594243cd21db526933d1fea5044b
2016-10-24 16:08:28 -07:00
Treehugger Robot fd796317c3 Merge "Verify wipe package when wiping A/B device in recovery." 2016-10-19 19:15:06 +00:00
Yabin Cui fd99a318fe Verify wipe package when wiping A/B device in recovery.
To increase the security of wiping A/B devices, let uncrypt write
wipe package in misc partition. Then recovery verifies the wipe
package before wiping the device.

Based on the original cherrypick, this CL also has additional changes to
address the LOG statements and libziparchive changes.

Bug: 29159185
Test: Build and boot into recovery.

Change-Id: I186691bab1928d3dc036bc5542abd64a81bc2168
(cherry picked from commit 6faf0265c9)
2016-10-19 11:19:15 -07:00
Treehugger Robot 06603c76c5 Merge "Add a unit test for applypatch_check" 2016-10-19 03:09:25 +00:00
Treehugger Robot 94f4494613 Merge "Clean up bootloader_message usage in recovery" 2016-10-19 02:48:02 +00:00
Tianjie Xu bd56f1590c Clean up bootloader_message usage in recovery
Switch to using vector and string.

Test: bootloader message writes correctly on angler.
Change-Id: I95d5a1e584630db326bb4400f3a149b59ad30a9e
2016-10-19 00:50:56 +00:00
Tianjie Xu a5fd5abe80 Add a unit test for applypatch_check
If no sha1 is specified, applypatch_check should pass as long as
the file content loads successfully. Add a unit case acccordingly.

Test: Unit tests passed
Bug: 32243751
Change-Id: I8c013be67c197d2935e11cf6acc59fb9b943cfd9
2016-10-18 17:30:38 -07:00
Tianjie Xu 7df1850d37 Merge "Fix applypatch_check failure when applying update on angler" 2016-10-19 00:29:23 +00:00
Treehugger Robot 7c95fe10de Merge "Fix bootloader_message." 2016-10-18 23:23:09 +00:00
Yabin Cui 0d5b85944c Fix bootloader_message.
Bug: 29945717
Change-Id: I934fd6c52b0111937fa75455de2fa4157fb30f6f
(cherry picked from commit 9da04d595f)
2016-10-18 15:10:59 -07:00
Tao Bao e89bf257a1 Merge "Create bootloader_message static library." 2016-10-18 21:48:23 +00:00
Tianjie Xu 984d7d058e Fix applypatch_check failure when applying update on angler
Applypatch_check should be skipped if no sha is specified. As the
comments said: "It's okay to specify no sha1s; the check will pass if
the LoadFileContents is successful. Useful for reading partitions,
where the filename encodes the sha1s."

Test: The update package applied on angler successfully.
Bug: 32243751
Change-Id: Ib8f3dadf19f745c2dbd350d60da46ab12d75bc87
2016-10-18 21:22:48 +00:00
Yabin Cui 8b309f6970 Create bootloader_message static library.
bootloader_messages merges bootloader_message_writer
and bootloader.cpp, so we can use the same library to
manage bootloader_message in normal boot and recovery mode.

Bug: 29582118

Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618
(cherry picked from commit 2f272c0551)
2016-10-18 11:37:05 -07:00
Tianjie Xu 6fba98ce64 Merge "Replace minzip with libziparchive" 2016-10-18 17:30:02 +00:00
Tianjie Xu 8cf5c8f60f Replace minzip with libziparchive
Clean up the duplicated codes that handle the zip files in
bootable/recovery; and rename the library of the remaining
utility functions to libotautil.

Test: Update package installed successfully on angler.
Bug: 19472796

Change-Id: Iea8962fcf3004473cb0322b6bb3a9ea3ca7f679e
2016-10-17 17:41:51 -07:00
Treehugger Robot 2b17b24ae5 Merge "Change StringValue to use std::string" 2016-10-18 00:05:12 +00:00
Tao Bao a01ffc73ef Merge "init: move healthd to late-init" 2016-10-17 17:32:56 +00:00
Tianjie Xu aced5d9e4e Change StringValue to use std::string
Changing the field of 'Value' in edify to std::string from char*.
Meanwhile cleaning up the users of 'Value' and switching them to
cpp style.

Test: compontent tests passed.
Bug: 31713288

Change-Id: Iec5a7d601b1e4ca40935bf1c70d325dafecec235
2016-10-15 01:18:23 +00:00
Treehugger Robot 08d0ae9254 Merge "Fix the prefix matching for uncrypt status." 2016-10-14 22:39:19 +00:00
Tao Bao ee9b95544a Fix the prefix matching for uncrypt status.
Also change its logging statement from PLOG to LOG, since
android::base::StartsWith() doesn't set errno.

Test: Build and reboot into recovery image. Check last_log.

Change-Id: I55ac7eec24228db76a13580958b4a4330b06cf57
2016-10-13 16:07:15 -07:00
Tao Bao c5b4b71913 Merge "edify: Some clean-ups to libedify." 2016-10-13 17:18:07 +00:00
Tao Bao 39119ad8ec edify: Some clean-ups to libedify.
- Remove dead declarations in expr.h: SetError(), GetError(),
  ClearError().
- Remove the declaration of Build() out of expr.h.
- Use std::unordered_map to implement RegisterFunction() and
  FindFunction(); kill FinishRegistration().
- Add a testcase for calling unknown functions.

Test: mmma bootable/recovery; recovery_component_test passes.
Change-Id: I9af6825ae677f92b22d716a4a5682f58522af03b
2016-10-12 23:29:59 -07:00
Tao Bao 19bb05dfc7 Merge "updater: Kill the duplicate PrintSha1() in install.cpp." 2016-10-12 19:22:16 +00:00
Tao Bao 361342cbd2 updater: Kill the duplicate PrintSha1() in install.cpp.
Also add a testcase for sha1_check().

Test: mmma bootable/recovery; recovery_component_test passes.

Change-Id: I4d06d551a771aec84e460148544f68b247a7e721
2016-10-10 20:36:17 -07:00
Tao Bao a7995d7581 Merge "Refactor libupdater into a seperate module." 2016-10-11 03:36:04 +00:00
Andriy Naborskyy 544a1562d9 init: move healthd to late-init
Starting healthd in early-init is not needed and can delay coldboot done
Now healthd is starting at boot as usual service.

Test: check kmsg that healthd starting after /dev/.coldboot_done

Bug: 30292927
Change-Id: I367d022f5885122da49181db3db536012e83f564
2016-10-10 17:29:11 -07:00
Tao Bao 0c7839ac14 Refactor libupdater into a seperate module.
So that we can write native tests for updater functions. This CL adds a
testcase for getprop() function.

Test: mmma bootable/recovery; Run recovery_component_test on device.

Change-Id: Iff4c1ff63c5c71aded2f9686fed6b71cc298c228
2016-10-10 16:49:50 -07:00
Tao Bao 2bd94433f8 Merge "Update the header path for ext4_utils." 2016-10-10 20:07:32 +00:00
Mark Salyzyn b330559fb6 Merge "No longer need android/log.h" 2016-10-10 14:14:30 +00:00
Tao Bao de40ba59c8 Update the header path for ext4_utils.
Test: `mmma bootable/recovery`
Change-Id: I70ccddb3ddf46bb012fdc5f632afc46ebdd5473e
2016-10-09 14:02:10 -07:00
Tao Bao aa4924cab1 Merge "Disable the meaningless parts of the UI for A/B." 2016-10-09 21:00:37 +00:00
Elliott Hughes b0c3f6ffeb Disable the meaningless parts of the UI for A/B.
Bug: http://b/28748484
Test: mmma bootable/recovery
Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b
(cherry picked from commit 01fcbe160b)
2016-10-09 12:55:50 -07:00
Mark Salyzyn df1b6947ec No longer need android/log.h
Test: compile
Bug: 31992412
Change-Id: I5156590bfc94e46e9d282c197c3dd8c4bbd9e855
2016-10-07 14:19:48 -07:00
Treehugger Robot 8810634773 Merge "edify: Move State.script and State.errmsg to std::string." 2016-10-05 06:07:56 +00:00