Commit graph

5587 commits

Author SHA1 Message Date
Zhomart Mukhamejanov
9882160d8d Merge "sample_updater: create tools/gen_update_config.py"
am: 6bd1d9b8d9

Change-Id: I40f5c3650517bcdc20194fbc7abf0cadaccd9d4f
2018-04-26 12:36:04 -07:00
Zhomart Mukhamejanov
6131d00348 Merge "sample_updater: add tests resources"
am: 7d064166ce

Change-Id: I96ecdfef2f05798c4f072ee21718dbb4c0c640f2
2018-04-26 12:35:44 -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
247821648f Merge "Dump the uncompressed data's SHA1 to debug flaky tests"
am: cc8587b508

Change-Id: Iaca05198698844f1058e625647e545e55ae47ab8
2018-04-26 10:36:43 -07: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)
ce562bacfd Merge "Rename CacheLocation to Paths."
am: 49c7f1cec3

Change-Id: I335f1df6699d8316d41959c21a09cbf944d7554b
2018-04-26 09:38:23 -07: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
23d17302b1 Merge "updater_sample: Use stubs libs for android.test.base / runner."
am: d97b643de4

Change-Id: I65d85eea826232633919a2c91a66b80a1c37e6c6
2018-04-25 17:52:00 -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)
4b52553cbb Merge "Rename the dir for SystemUpdaterSample."
am: a544bfab2b

Change-Id: If6329a0f9a7732b99d11f6233ed56f72db31ac96
2018-04-25 17:22:22 -07: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
a399c289bb Merge "sample_updater: add non-streaming demo"
am: 4816fc1c46

Change-Id: Ide07a80e18a3935c07e020b51d730aa6f557077c
2018-04-25 12:10:50 -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)
76f0edc05e Merge "updater: Remove an unneeded strdup()."
am: ab3c24bd51

Change-Id: I9a5b88f8091a208bc62678711f4ca0564d49538d
2018-04-25 11:06:01 -07: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
Paul Crowley
62fd21b9bb Merge "Wipe the metadata partition when we wipe data."
am: 897385bfe2

Change-Id: I29a83ac2792e5564f83ea7dac13740f5a6052bd0
2018-04-24 19:48:41 -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
943c2057ad Merge "Dump debug information for apply_patch unit tests"
am: fe527cced4

Change-Id: Ife392c1a6a99e8ae0b8d4a46330596f5c742f099
2018-04-24 11:39:05 -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
9bc286dd71 Merge "update_verifier: Move to Soong."
am: ed022fccdf

Change-Id: Icfbef50b7fbfb2acfc0ba3ff47953b39c778356a
2018-04-23 15:42:30 -07:00
Tao Bao
abcac8e1e7 Merge "Make update_verifier generic across verified boot versions."
am: ea63f59469

Change-Id: Ieaad12e638eee94323703d0808b961a1e2efa5ab
2018-04-23 15:42:01 -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
Tao Bao
4cf3bc1875 Merge "applypatch: Drop the SHA_CTX parameter in Apply{BSDiff,Image}Patch."
am: bcb015239c

Change-Id: I63246ae23e5c57d9723d616c5db28e8265fa7c52
2018-04-20 11:11:02 -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
ea70fd7d1d Merge "applypatch: Dump patch info on mismatching patching result."
am: d2c32b281b

Change-Id: Ib43606f5fcd9e238b16b70b6dd519bb38a780dd3
2018-04-19 14:43:48 -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
11e31203a6 Merge "Add sample_updater style check to PREUPLOAD.cfg"
am: 73e6644777

Change-Id: I5acb461de5e0af89ffc903363711d9bb0dc05bc1
2018-04-17 18:02:30 -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
Tao Bao
9adbc572a3 Merge "tests: Move ResourcesTest into component test."
am: 07d0032def

Change-Id: I1e6576ab1ae5eacc70b2cabba8d11b78fbdd88d5
2018-04-16 17:13:38 -07:00
Treehugger Robot
07d0032def Merge "tests: Move ResourcesTest into component test." 2018-04-17 00:00:00 +00:00
Chih-Hung Hsieh
dd2277a9bd Merge "Disable lld where it fails."
am: 0c8eea86f9

Change-Id: I28871cb18da2825e4e6f951fc95debd6dc7225ae
2018-04-16 11:45:09 -07: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