Commit Graph

5534 Commits

Author SHA1 Message Date
android-build-prod (mdb)
ca456f3964 Merge "recovery: Print the actually required battery level." 2018-04-27 04:03:13 +00:00
Tao Bao
f2ea6d7999 recovery: Print the actually required battery level.
It should be one of BATTERY_OK_PERCENTAGE (20) and
BATTERY_WITH_CHARGER_OK_PERCENTAGE (15), depending on the charger state.

Also move the battery level related constants next to their users.

Test: mmma -j bootable/recovery
Test: Build and boot into recovery with a pending OTA. Check the log.
Change-Id: I7513f59c4718ec8e2db16c5266928470c2308648
Merged-In: I7513f59c4718ec8e2db16c5266928470c2308648
2018-04-26 15:21:34 -07:00
Tao Bao
220b531e3d Merge "Mark ui_print with __printflike." 2018-04-26 22:18:17 +00:00
Tao Bao
aae7efd7a2 Mark ui_print with __printflike.
And fix an issue as a result of the change.

Test: mmma -j bootable/recovery
Change-Id: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
Merged-In: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
2018-04-26 13:42:42 -07:00
Zhomart Mukhamejanov
6bd1d9b8d9 Merge "sample_updater: create tools/gen_update_config.py" 2018-04-26 19:21:08 +00:00
Zhomart Mukhamejanov
7d064166ce Merge "sample_updater: add tests resources" 2018-04-26 19:20:56 +00:00
Tianjie Xu
cc8587b508 Merge "Dump the uncompressed data's SHA1 to debug flaky tests" 2018-04-26 17:23:00 +00:00
android-build-prod (mdb)
49c7f1cec3 Merge "Rename CacheLocation to Paths." 2018-04-26 16:24:41 +00:00
Tao Bao
641fa97def Rename CacheLocation to Paths.
We have a general need for overriding more paths (e.g. "/tmp"), mostly
for testing purpose. Rename CacheLocation to Paths, and use that to
manage TEMPORARY_{INSTALL,LOG}_FILE.

Test: mmma -j bootable/recovery
Test: recovery_component_test
Change-Id: Ia8ce8e5695df37ca434f13ac4d3206de1e8e9396
2018-04-25 21:46:00 -07:00
Tianjie Xu
9e1ccd47b4 Dump the uncompressed data's SHA1 to debug flaky tests
Dump the SHA1 of the uncompressed data in applypatch to confirm if we
are at least doing the bspatch part correctly. (I expect so since the actual
length of the uncompressed data matches the expected length).

Also try to decompress the deflate chunk inside the recovery image for
these two flacky tests. In theory, there shouldn't be randomness in
zlib; so we would know if we process the data wrongly if the deflate fails
to decompress.

Bug: 67849209
Test: recovery_component_test
Change-Id: Id947522153b1eeb0d10d161298a96fb045f92018
2018-04-25 20:00:56 -07:00
Zhomart Mukhamejanov
02e912c235 sample_updater: add tests resources
This resource files are used in tests. ota package zip file
contains only text files.
Config files are generated using tools/gen_update_config.py

Test: N/A

Change-Id: I9d3d0f81472dc20db18b32f4a9445a998b68b0e3
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-25 18:18:46 -07:00
Zhomart Mukhamejanov
d5a41822c2 sample_updater: create tools/gen_update_config.py
gen_update_config.py generates JSON config files
from given OTA image zip files.

README.md is updated.

Test: manually

Change-Id: Ifd09b49a73983a42752ee3842a566cecedb9cae0
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-25 17:43:26 -07:00
Zhomart Mukhamejanov
d97b643de4 Merge "updater_sample: Use stubs libs for android.test.base / runner." 2018-04-26 00:39:20 +00:00
android-build-prod (mdb)
a544bfab2b Merge "Rename the dir for SystemUpdaterSample." 2018-04-26 00:10:33 +00:00
Tao Bao
daa65aed99 updater_sample: Use stubs libs for android.test.base / runner.
To address the warning below (which will be disallowed):
bootable/recovery/updater_sample/tests/Android.mk: warning:
SystemUpdaterSampleTests (java:system) should not link to
android.test.runner (java:platform)

(See b/69899800 or the commit message in [1] for detailed discussions.)

[1]: https://android-review.googlesource.com/c/platform/frameworks/ml/+/666428

Test: `mmma -j bootable/recovery` gives no warning.
Test: Install and run SystemUpdaterSampleTests on device.
Change-Id: I12a1556d572d9f332fcf43dc84cbe8fd1b6df89b
2018-04-25 15:59:53 -07:00
Tao Bao
32118f6690 Rename the dir for SystemUpdaterSample.
Also replace the occurrence in README.md and PREUPLOAD.cfg.

Test: mmma -j bootable/recovery
Change-Id: I04c0ef00dd64f49e008ad2a4a2c1e8eaed76bf8d
2018-04-25 15:34:37 -07:00
Zhomart Mukhamejanov
4816fc1c46 Merge "sample_updater: add non-streaming demo" 2018-04-25 18:56:26 +00:00
Zhomart Mukhamejanov
f4d280ce40 sample_updater: add non-streaming demo
SampleUpdater app was tested manually on a device.
There are unit tests for utility classes.

SampleUpdater app demonstrates how to use Android Update Engine to
apply A/B (seamless) update.
This CL contains demo of non-stream update using async update_engine,
which is accessed directly from an activity.
This app also shows logs from update_engine on the UI.
Instructions can be found in `README.md`.

- Create a UI with list of configs, current version, control buttons and a progress bar
- Add PayloadSpec and PayloadSpecs for working with update zip file
- Add UpdateConfig for working with json config files
- Add applying non-streaming update

Test: tested manually and unit tests for utilities
Change-Id: I05d4a46ad9cf8b334c9c60c7dd4da486dac0400a
Signed-off-by: Zhomart Mukhamejanov <zhomart@google.com>
2018-04-25 18:55:25 +00:00
android-build-prod (mdb)
ab3c24bd51 Merge "updater: Remove an unneeded strdup()." 2018-04-25 17:57:12 +00:00
Tao Bao
188f3a5bf8 updater: Remove an unneeded strdup().
StringValue() makes a copy of the arg.

Test: mmma bootable/recovery
Change-Id: I1002994e7496c840aa05c785019bdeca281f467e
2018-04-25 07:16:00 -07:00
Treehugger Robot
897385bfe2 Merge "Wipe the metadata partition when we wipe data." 2018-04-25 02:38:11 +00:00
Paul Crowley
3b4d516151 Wipe the metadata partition when we wipe data.
Bug: 78469201
Test: Wipe from recovery menu, check that wipe is logged correctly
    and boot works as expected.
Change-Id: I5bc8ef1b83d78de8b5edba6cc17882edcc744356
2018-04-24 17:08:22 -07:00
Tianjie Xu
fe527cced4 Merge "Dump debug information for apply_patch unit tests" 2018-04-24 18:30:29 +00:00
Tianjie Xu
ffed57a7a3 Dump debug information for apply_patch unit tests
The apply patch test should have a deterministic way to append patch
data. Add debug logs to dump the length and SHA1 of each step to further
track down the flakiness.

Also redirect the debug logging to stdout in case the logcat becomes too
chatty.

Bug: 67849209
Test: Run recovery_component_test
Change-Id: I42bafef2d9dee599719ae57840b3d8c00d243ebd
2018-04-24 09:56:55 -07:00
Tao Bao
ed022fccdf Merge "update_verifier: Move to Soong." 2018-04-23 22:33:56 +00:00
Tao Bao
ea63f59469 Merge "Make update_verifier generic across verified boot versions." 2018-04-23 22:33:45 +00:00
Tao Bao
afb9fc29a2 update_verifier: Move to Soong.
Test: mmma -j bootable/recovery
Change-Id: I3a3574c89318304231c01f7633d32ece31df098c
2018-04-20 14:26:38 -07:00
Tao Bao
1cc0351915 Make update_verifier generic across verified boot versions.
This allows the update_verifier in a general system image to work across
devices that have different verified boot versions (i.e. not supported /
verified boot 1.0 / verified boot 2.0 / disabled).

Bug: 78283982
Test: Run recovery_component_test on both of marlin and walleye.
Test: Generate an OTA that has this CL. Install this OTA and check the
      update_verifier log during the post-reboot verification, on both
      of marlin (VB 1.0) and walleye (VB 2.0).
Test: Build and flash walleye image with verified boot disabled. Check
      that update_verifier marks the slot as successfully booted.
Change-Id: I828d87d59f911786531f774ffcf9b2ad7c2ca007
2018-04-20 14:26:38 -07:00
Treehugger Robot
bcb015239c Merge "applypatch: Drop the SHA_CTX parameter in Apply{BSDiff,Image}Patch." 2018-04-20 18:03:42 +00:00
Tao Bao
8b0b0f1f02 applypatch: Drop the SHA_CTX parameter in Apply{BSDiff,Image}Patch.
As they're accepting the SinkFn callback, it makes more sense to leave
the work to their callers.

Test: mmma -j bootable/recovery
Test: Run recovery_component_test on marlin.
Test: No other active user of the two functions.
Change-Id: I8d67b38ce037925442296f136b483e0c71983777
2018-04-20 09:27:50 -07:00
Tao Bao
d2c32b281b Merge "applypatch: Dump patch info on mismatching patching result." 2018-04-19 21:33:30 +00:00
Tao Bao
4f83430471 applypatch: Dump patch info on mismatching patching result.
After splitting the previously flaky
ApplyPatchModesTest#PatchModeEmmcTarget tests,
PatchModeEmmcTargetWithMultiplePatches now becomes the sole victim. This
CL dumps additional info to narrow down the cause.

Bug: 67849209
Test: `recovery_component_test` on marlin.
Test: It dumps additional info after using corrupt bonus.file.
Change-Id: Ic5436de457cc882a51d03f49d5cee70077f7d3df
2018-04-19 12:46:22 -07:00
Zhomart Mukhamejanov
73e6644777 Merge "Add sample_updater style check to PREUPLOAD.cfg" 2018-04-18 00:52:20 +00:00
Zhomart Mukhamejanov
0e007e8edc Add sample_updater style check to PREUPLOAD.cfg
Test: N/A
Change-Id: I13f4295a85d50c0a63cac5680e7a3200b0e6c909
2018-04-17 16:09:31 -07:00
Treehugger Robot
07d0032def Merge "tests: Move ResourcesTest into component test." 2018-04-17 00:00:00 +00:00
Tao Bao
6b28f05c5b tests: Move ResourcesTest into component test.
Although the tests were initially written for checking the validity of
the text images, it doesn't hurt to run them continuously as part of the
component test (recovery_manual_test requires reboots during the run,
due to the nature of the tests of recovery-{refresh,persist}). This also
allows detecting breaking changes to libminui or libpng.

There's a catch that the ResourcesTest won't be triggered via `atest`,
as the res-* testdata won't be picked up via AndroidTest.xml. Explored
a few options but not addressing that in this CL:
- `atest` is not fully working in AOSP yet (missing support in
  tools/tradefederation/core/atest/atest.py).
- `atest` doesn't allow specifying the testdata with path in the 'push'
  option.
- It won't fail the test run though, as ResourcesTest will skip the
  tests automatically when it finds no text image file.
- APCT and manual `adb sync data` are not affected, and I don't see an
  active user of `atest` other than a tool for manual test invocation.
- Unrelated to this CL, `atest` doesn't seem to work well with
  recovery_component_test or recovery_unit_test while we have both of
  them in one AndroidTest.xml. It randomly triggers only one of them,
  despite of the given test name. When splitting AndroidTest.xml into
  two, it tends to pick up the wrong testdata subdir and gives wrong
  results.

Test: Run recovery_manual_test and recovery_component_test on marlin.
Change-Id: I3a237499a7770356e14085674bc8b9cb4551db85
2018-04-16 11:29:06 -07:00
Treehugger Robot
0c8eea86f9 Merge "Disable lld where it fails." 2018-04-16 18:25:33 +00:00
Chih-Hung Hsieh
83847e6ed9 Disable lld where it fails.
Bug: 77543887
Test: make checkbuild and boot
Change-Id: I4134a8eec592dac347c84cc7dc3f9f99f27bc50c
2018-04-16 09:39:07 -07:00
Treehugger Robot
3c8fdf3274 Merge "Expose PngHandler via resources.h." 2018-04-14 01:04:35 +00:00
Treehugger Robot
5ac8cfe1ed Merge "minadbd: track signature change of service_to_fd." 2018-04-14 00:43:33 +00:00
Josh Gao
570b08b790 minadbd: track signature change of service_to_fd.
Bug: http://b/37066218
Bug: http://b/71898863
Test: treehugger
Change-Id: I5f2b14c65cff8d41dd3230d78b87e3e27e489bf6
2018-04-13 16:10:34 -07:00
Tao Bao
3d0cd1d036 Expose PngHandler via resources.h.
As a private header for testing purpose. PngHandler additionally loads a
given filename if the one with '/res/images' prefix is not available. It
also provides color_type/bit_depth that are parsed from the PNG file.

This allows reusing the same code for the ResourcesTest (renamed from
ResourceTest).

Test: Run recovery_manual_test on marlin.
Change-Id: I3f939d79a1cb1b83a899847dbe2d51bde15d16d8
2018-04-13 15:25:50 -07:00
Tianjie Xu
0b3e25719d Merge "Remove the old log files if cache space is insufficient for OTA" 2018-04-13 20:23:37 +00:00
Tianjie Xu
d5fbcc1ba9 Remove the old log files if cache space is insufficient for OTA
We set the limit of the max stash size to 80% of cache size. But the
cache space can still be insufficient for the update if the log files
occupy a large chunk of /cache. So remove the old logs for now to make
room for the update.

Bug: 77528881
Test: unit tests pass
Change-Id: Ia8bcb0ace11f8164ad9290bfb360e08e31d282cb
2018-04-13 11:33:47 -07:00
Treehugger Robot
ea8a6a9af2 Merge "install: mkfs.f2fs: specify sector size for target image size" 2018-04-05 06:48:17 +00:00
Jaegeuk Kim
fc66f3fbc6 install: mkfs.f2fs: specify sector size for target image size
The total sectors that we want to format is used in different meanings from
various users. This notifies its size based on 512 bytes explicitly.

Bug: 76407663
Change-Id: I20687b40a1733d3b459a45f8b64a338c37a7bc95
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-04-04 21:16:19 -07:00
Treehugger Robot
81c3c4a319 Merge "mkfs.f2fs: specify sector size for target image size" 2018-04-04 20:44:28 +00:00
Jaegeuk Kim
f139bb4c56 mkfs.f2fs: specify sector size for target image size
The total sectors that we want to format is used in different meanings from
various users. This notifies its size based on 4096 bytes explicitly.

Bug: 76407663
Change-Id: I3392646648264ad1ca78e4b87240edc9385a0cc4
Reported-by: katao@xiaomi.com
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-04-04 09:14:14 -07:00
Treehugger Robot
6b6c21af28 Merge "tests: Pick up testdata with LOCAL_TEST_DATA." 2018-04-03 00:03:34 +00:00
Tianjie Xu
e566168c94 Merge "Do not skip the update installation if it's a retry" 2018-04-02 23:34:22 +00:00