Commit graph

3867 commits

Author SHA1 Message Date
Tao Bao
ad87d9dc78 tests: Use get_bootloader_message_blk_device() to find /misc.
Since commit fb00d82f32 has added
get_bootloader_message_blk_device() as an API, switch the tests-local
implementation to it.

Test: recovery_component_test on angler.
Test: recovery_component_test on a local build that doesn't have /misc.
Change-Id: I4f5f542cb9ef58292c587a677da73d8822db7262
2017-04-04 20:35:10 -07:00
Alex Deymo
b5fca37976 Merge "Boot control HAL based on the A/B headers." 2017-04-04 23:14:30 +00:00
Tao Bao
7ffa8be41d Merge "Change the internal representation in RangeSet." 2017-04-04 21:44:27 +00:00
Tom Cherry
2717c28e77 Merge "update_verifier: correct group in rc file"
am: 310fa65c02

Change-Id: I66e145f77ab1543f91a2b666f6bd4f4287b61292
2017-04-04 01:11:54 +00:00
Treehugger Robot
310fa65c02 Merge "update_verifier: correct group in rc file" 2017-04-04 01:06:21 +00:00
Tom Cherry
3a8002f8c0 update_verifier: correct group in rc file
update_verifier should be in the cache group, not 'class'.

Also use PLOG instead of LOG if care_map.txt cannot be opened.

Bug: 36818743
Test: boot sailfish
Test: fake OTA on sailfish and verify update_verifier reads care_package
Change-Id: I0ec844cac5ef5c63b18ebee90160854fd84ee829
2017-04-03 16:31:16 -07:00
Wei Wang
56e9b9cc26 Merge "update_verifier: tweak priority of update_verifier for quick boot"
am: a6ea26987d

Change-Id: I19d4e2680f731d78a22f595a049cb079f1531516
2017-04-03 23:22:47 +00:00
Treehugger Robot
a6ea26987d Merge "update_verifier: tweak priority of update_verifier for quick boot" 2017-04-03 23:15:52 +00:00
Wei Wang
a015cd1d7a update_verifier: tweak priority of update_verifier for quick boot
Highest ioprio is 0 for CFQ and we should run update_verifier with that.
Tested on device and showing boottime decreased.

Bug: 36511808
Bug: 36102163
Test: Boot marlin
Change-Id: Iddd925951d976e21014b61e5590bcdae3cea8470
2017-04-03 13:53:49 -07:00
Alex Deymo
fb00d82f32 Boot control HAL based on the A/B headers.
The added bootctrl.bcb module implement the legacy interface for the
bootctrl HAL based on the Boot Control Block (BCB) and the headers
already specified in the booloader_message library.

This serves as a reference implementation of the boot_control HAL.

Bug: 32707546
Test: Tested internally that a device can use this HAL to flip slots and
recovery from a /misc wipe.

Change-Id: Ic02e5aaf4de7d0a1780eac4e8705dae20d0b3e10
2017-04-03 11:25:33 -07:00
Tao Bao
1f38a9b96e Merge "applypatch: Remove duplicate test files."
am: b6609f8895

Change-Id: I725317517485f5332cf4ebd326deb027bfc397e8
2017-04-03 16:23:31 +00:00
Tao Bao
a982e53a6e Merge "updater: Keep the parsed parameters in std::unique_ptr."
am: c80dd4ade2

Change-Id: I1387f9134a9bfeada23120b64544cdd7630f25e1
2017-04-03 16:23:20 +00:00
Tao Bao
bf5b77dbf7 Change the internal representation in RangeSet.
This CL makes the following changes to RangeSet:
 - Uses std::pair<size_t, size_t> to represent a Range;
 - Uses std::vector<Range> to represent a RangeSet;
 - Provides const iterators (forward and reverse);
 - Provides const accessor;
 - 'blocks()' returns the number of blocks (formerly 'size');
 - 'size()' returns the number of Range's (formerly 'count').

Test: recovery_unit_test
Test: Apply an incremental update with the new updater.
Change-Id: Ia1fbb343370a152e1f7aa050cf914c2da09b1396
2017-04-03 09:22:48 -07:00
Tao Bao
b6609f8895 Merge "applypatch: Remove duplicate test files." 2017-04-03 16:18:37 +00:00
Tao Bao
c80dd4ade2 Merge "updater: Keep the parsed parameters in std::unique_ptr." 2017-04-03 16:18:12 +00:00
Tao Bao
c3ef089dfa applypatch: Remove duplicate test files.
CL in commit b8a693bbc7 has ported the
tests to gtest-based recovery_component_tests.

Test: N/A
Change-Id: I485fa11413df68a11416d4a9f91f090f302bcfc0
2017-04-02 11:27:13 -07:00
TreeHugger Robot
474dc18479 Merge "Import translations. DO NOT MERGE" into stage-aosp-master 2017-04-02 03:57:09 +00:00
Tianjie Xu
cd66e52573 Merge "Use regular check for partition name instead of CHECK()"
am: 76cb4eeda6

Change-Id: Idd4686a7d30f08baa92557a0bcc872e95f867ba3
2017-04-02 03:05:45 +00:00
Tianjie Xu
76cb4eeda6 Merge "Use regular check for partition name instead of CHECK()" 2017-04-02 03:01:18 +00:00
Bill Yi
14eb2086c0 Import translations. DO NOT MERGE
Auto-generated-cl: translation import

Bug: 36832302
Change-Id: I1bfbb1791a4d7925491d7574c08994f6e7ff640d
2017-04-01 15:49:37 -07:00
Tianjie Xu
5a176c0d3c Use regular check for partition name instead of CHECK()
Bug: 36260064
Test: Device reboots for invalid care_map.
Change-Id: Id614f0d118fc2b9d9abf24918aa4b4324f4c94e1
2017-03-31 23:54:05 +00:00
Tianjie Xu
89559e3cfe Merge "Update_verifier should read blocks in EIO mode"
am: 21d481c81e

Change-Id: Ib564e410f614ef516784eeaf9df24f33e4a07d8c
2017-03-31 22:22:06 +00:00
Tianjie Xu
21d481c81e Merge "Update_verifier should read blocks in EIO mode" 2017-03-31 22:17:00 +00:00
Tao Bao
74c4da4c01 Merge "Move parse_range() and range_overlaps() into RangeSet."
am: 8fab8f97b7

Change-Id: Ibb85242f50b14baea227661443d105e1a68e9504
2017-03-31 19:24:56 +00:00
Tao Bao
c97edcb4f4 updater: Keep the parsed parameters in std::unique_ptr.
We don't need to take raw pointers out of the parsed arguments.
std::unique_ptr handles the dereferencing automatically.

Test: mmma bootable/recovery
Change-Id: I1beabf6e04dc350bdad7b36cee5fb345c82b28f2
2017-03-31 12:24:22 -07:00
Tao Bao
8fab8f97b7 Merge "Move parse_range() and range_overlaps() into RangeSet." 2017-03-31 19:18:45 +00:00
Tao Bao
8f23757ad4 Move parse_range() and range_overlaps() into RangeSet.
Also move RangeSet into a header file to make it testable, and add unit
tests.

In RangeSet::Parse() (the former parse_range()), use libbase logging to
do assertions. This has the same effect as the previous
exit(EXIT_FAILURE) to terminate the updater process and abort an update.
The difference lies in the exit status code (i.e. WEXITSTATUS(status) in
install.cpp), which changes from 1 (i.e. EXIT_FAILURE) to 0.

Test: recovery_unit_test
Test: Apply an incremental update with the new updater.
Change-Id: Ie8393c78b0d8ae0fd5f0ca0646d871308d71fff0
2017-03-31 00:04:56 -07:00
Tianjie Xu
3958a95f54 Update_verifier should read blocks in EIO mode
Update_verifier will reboot the device if it fails to read some blocks
on the care_map when veritymode=eio. Also make some partition name
changes to match the care_map.txt.

Test: Update_verifier reboots the device after read failures in eio mode.
Change-Id: Icf68e6151dee72f626a9ab72946100cf482a4e6c
2017-03-30 22:11:56 -07:00
Bowgo Tsai
0e728806f3 Merge "recovery: switch to fs_mgr_read_fstab_default()"
am: d0c7ae1fa6

Change-Id: I2afb42ed6b87e3e8d8e8289eb99fa6198d1a7daf
2017-03-31 02:32:48 +00:00
Treehugger Robot
d0c7ae1fa6 Merge "recovery: switch to fs_mgr_read_fstab_default()" 2017-03-31 02:28:31 +00:00
Tao Bao
7ccb4090d1 Merge "updater: Move RangeSinkWrite into RangeSinkState."
am: 65c065b4bb

Change-Id: Ic58d5dc9343840feaf916fdeac556b4191e64dfe
2017-03-31 00:01:46 +00:00
Tao Bao
65c065b4bb Merge "updater: Move RangeSinkWrite into RangeSinkState." 2017-03-30 23:56:14 +00:00
Tao Bao
08224f745c Merge "updater: Don't append newline when calling uiPrint()."
am: 58cb690eac

Change-Id: Ib7f2356c3a519be52c65ebae179c24a138058b37
2017-03-30 19:27:29 +00:00
Tao Bao
58cb690eac Merge "updater: Don't append newline when calling uiPrint()." 2017-03-30 19:22:04 +00:00
Tao Bao
b648a8781f Merge "tests: Remove LOCAL_ADDITIONAL_DEPENDENCIES."
am: 3f0a3a2b1d

Change-Id: I9bad302ba2f047362ac920e92f135098fe32cbeb
2017-03-30 17:52:15 +00:00
Treehugger Robot
3f0a3a2b1d Merge "tests: Remove LOCAL_ADDITIONAL_DEPENDENCIES." 2017-03-30 17:45:48 +00:00
Tao Bao
0bbc764bbe updater: Don't append newline when calling uiPrint().
LOG(INFO) already appends a newline. Don't print redundant newline.

Test: No extra blank lines when calling ui_print(). And on-screen UI
      shows the same.
Change-Id: I74e9a8504a7146a6cb3dae02fe2406d0dd54069b
2017-03-30 10:28:37 -07:00
Dan Shi
b8f33fdf5f Merge "Add test config to minadbd_test"
am: df1a585504

Change-Id: Ib5a65fd6f8e300812cea9aeccf05e31363096a09
2017-03-30 15:44:43 +00:00
Tao Bao
31b6bc5ced tests: Remove LOCAL_ADDITIONAL_DEPENDENCIES.
Per the comment in build/make/core/base_rules.mk:
  Ninja has an implicit dependency on the command being run, and kati will
  regenerate the ninja manifest if any read makefile changes, so there is no
  need to have dependencies on makefiles.

Test: mmma bootable/recovery
Change-Id: I27b97df10d40f39ad966be70b33811175a665439
2017-03-30 08:43:47 -07:00
Treehugger Robot
df1a585504 Merge "Add test config to minadbd_test" 2017-03-30 15:39:21 +00:00
Tom Cherry
8fe39a28b0 Merge "update_verifier: raise priority and ioprio and start with exec_start"
am: 3a8919e813

Change-Id: Ie61669fa42793d0e3620ba20720f1aed1735d49e
2017-03-29 18:44:57 +00:00
Treehugger Robot
3a8919e813 Merge "update_verifier: raise priority and ioprio and start with exec_start" 2017-03-29 18:39:31 +00:00
Tao Bao
60a70afc0a updater: Move RangeSinkWrite into RangeSinkState.
Then rename RangeSinkState to RangeSinkWriter. RangeSinkWriter reads
data from the given FD, and writes them to the desination RangeSet.

Test: Apply an incremental with the new updater.
Change-Id: I5e3ab6fc082efa1726562c55b56e2d418fe4acaf
2017-03-29 11:31:41 -07:00
Bowgo Tsai
84a06485a9 recovery: switch to fs_mgr_read_fstab_default()
fs_mgr_read_fstab_default() is now aware of recovery mode so it's ok to
switch to this new API.

Bug: 35811655
Test: recovery boot sailfish
Change-Id: I1025b606fd96e74a893ae99cefc1da01e4b27a23
2017-03-29 16:31:29 +08:00
Tao Bao
23fe20fb6e Merge "Log the error message when failing to mount/umount."
am: 850f89f198

Change-Id: I5de062307d6a395035cada802fd8fe202418407b
2017-03-29 06:24:41 +00:00
Tao Bao
850f89f198 Merge "Log the error message when failing to mount/umount." 2017-03-29 06:19:03 +00:00
Dan Shi
7368316de1 Add test config to minadbd_test
Design doc:
Generalized Suites & the Unification of APCT & CTS Workflows Design/Roadmap
https://docs.google.com/document/d/1eabK3srlBLouMiBMrNP3xJPiRRdcoCquNxC8gBWPvx8/edit#heading=h.78vup5eivwzo

Details about test configs changes are tracked in doc
https://docs.google.com/document/d/1EWUjJ7fjy8ge_Nk0YQbFdRp8DSHo3z6GU0R8jLgrAcw/edit#

Bug: 35882476
Test: local test
Change-Id: I51e1b410536469d254ae7a353bc61a7df06c8324
2017-03-28 22:13:38 -07:00
Tao Bao
5f85d1fb0a Log the error message when failing to mount/umount.
Test: Observe the error messaage for a umount failure case.
Bug: 36686818
Change-Id: I28e335c2df4454dd0192f95e3909599fcc9dc1c0
2017-03-28 21:21:28 -07:00
Tao Bao
197e49d60c Merge "tests: Construct two bad packages at runtime for VerifierTest."
am: 3f2d35522a

Change-Id: I439b941da099c4b45853b12a9e0f2a190208e2d9
2017-03-29 00:43:48 +00:00
Tao Bao
3f2d35522a Merge "tests: Construct two bad packages at runtime for VerifierTest." 2017-03-29 00:37:05 +00:00