Commit Graph

48314 Commits

Author SHA1 Message Date
Treehugger Robot 1be681cf50 Merge "dmctl: return detailed device information" 2019-07-31 23:37:29 +00:00
Treehugger Robot 6f4f7091aa Merge changes from topic "ion-unit-tests"
* changes:
  libion: make tests work with Ion from common kernel.
  libion: Add missing error checks for input parameters to APIs.
2019-07-31 22:32:45 +00:00
Elliott Hughes fc2f5f6728 adb: fix track-devices-l.
Also add a -l to the undocumented `adb track-devices` for easier
testing.

Bug: https://issuetracker.google.com/118470090
Test: manual
Change-Id: I436f6e45b249b98a073aa147ad4ed67d4d87f9bd
2019-07-31 14:14:59 -07:00
Alessio Balsini 4560856e33 libdm: improve ParseStatusText() and test it
Simplify the argument parsing of DmTargetSnapshot::ParseStatusText() and
improve its robustness when dealing with wrong imputs.

Add test for DmTargetSnapshot::ParseStatusText().

Change-Id: I7f078c9ecacb402e71db49e3e7072e37cffbc234
Test: dm_test
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-31 21:23:58 +01:00
Elliott Hughes 690c8c8f25 Merge "Restore default port for `adb connect`." 2019-07-31 19:48:02 +00:00
Treehugger Robot 11295b7f8b Merge "Allow overriding the log path." 2019-07-31 19:44:58 +00:00
Treehugger Robot 51406823c1 Merge "Clarify `adb sync -l` help text." 2019-07-31 19:44:49 +00:00
Wei Wang f7c2bfee08 init: add timing log for oneshot and exec_background services
Bug: 136523746
Bug: 138732985
Test: boot
Change-Id: I713edd2ba8a391d5afbea796c6d58ffac9477436
2019-07-31 11:53:18 -07:00
Treehugger Robot ae898442d1 Merge "Revert "fs_mgt: Fix remount failure in case of non-overlayfs system"" 2019-07-31 18:44:38 +00:00
Daniel Norman c788771da7 Adds new property for service name -> PID.
Bug: 138114550
Test: used in vts_ibase_test
Change-Id: Id21b81aa09b8597d17ad0a132ddd7749fe1182e9
2019-07-31 11:35:32 -07:00
Daniel Norman d19c5a5076 Adds a library to parse service info from init_rc files for use in tests.
Bug: 138114550
Test: used in vts_ibase_test
Change-Id: Ibadc2a76d6112b5778d3a282a1e05ffc74511623
2019-07-31 11:33:47 -07:00
Daniel Norman 8082ba2f77 Adds a visibility rule for init defaults.
Also ran bpfmt on the file.

Test: n/a
Change-Id: I33f6233a031462debe295ab5576dd75c948ae081
2019-07-31 11:33:35 -07:00
Mark Salyzyn 3d85fc6954 Merge changes I96d1acb3,Ief00af72,Idf8f4a0e
* changes:
  adb-remount-test: add /system/priv-app
  adb-remount-test: support devices that do not have verity
  adb-remount-test add --no-wait-screen option
2019-07-31 15:49:39 +00:00
Ryan Savitski 814cbfa10e Revert "fs_mgt: Fix remount failure in case of non-overlayfs system"
This reverts commit 588fe9e8af.

Reason for revert: definite cause for test failure

Test: adb-remount-test.sh
Bug: 138407617
Fixes: 138622072
Change-Id: If2fee8873dd7d4360e7ff5572a0481247beffbca
2019-07-31 15:03:45 +00:00
Elliott Hughes 573e67cbeb Restore default port for `adb connect`.
The default port of 5555 was removed a while back, but the help text was
never updated, and other contexts still allow a default port.

Bug: https://issuetracker.google.com/128561172
Test: manual
Change-Id: I6e5e6edeb2243386a0301c0a6cad569189f9910e
2019-07-30 21:55:56 -07:00
Treehugger Robot 47757e93aa Merge "adb: avoid leaking pty master FDs." 2019-07-31 02:55:35 +00:00
Alessio Balsini 712140ee82 dmctl: return detailed device information
Return detailed information for devices, i.e.:
- active
- access
- activeTable
- inactiveTable
- bufferFull

Bug: 137759376
Test: manual test
Change-Id: I6aa4ae319adbb5c4ca98823f24010e68e6a0b719
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-31 02:54:14 +00:00
Treehugger Robot a3e82da054 Merge "libdm: fetch and present device status flags" 2019-07-31 02:47:35 +00:00
Treehugger Robot 29fc6eafda Merge "OWNERS: add owners to libion" 2019-07-31 01:44:35 +00:00
Alessio Balsini 1b80a23c57 libdm: fetch and present device status flags
Fetch detailed information for devices through its flags and store in
helper Info class, i.e.:
- active
- access
- activeTable
- inactiveTable
- bufferFull

Change-Id: I3241c5bca00e038d19f99390f40710ca7cff8456
Bug: 137759376
Test: manual test
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-31 00:14:30 +01:00
Joshua Gilpatrick 60fa8b8ad2 Merge "Fastdeploy converted to c++ and bin2c on the jar." 2019-07-30 21:51:57 +00:00
Josh Gao 6733b2bf38 adb: avoid leaking pty master FDs.
Reimplement openpty with O_CLOEXEC to avoid accidentally leaking pty
master FDs.

Bug: http://b/138297062
Test: manual
Change-Id: I6d83c909232a95c9f03370f078aec7b0911d7369
2019-07-30 14:48:57 -07:00
Sandeep Patil f7f03c9e32 libion: make tests work with Ion from common kernel.
The tests do not care about legacy ION interface and are intended to
concentrate for kernels 4.14+ (new API). Running these tests
successfully during changes in ION will keep us honest with the upcoming
heap-as-module changes in ION.

Test: ./ion-unit-tests on cuttlefish.
Bug: 133508579

Change-Id: I2a31d09d09deb5be9ae84c4981cdf4b3c2cceb4c
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-07-30 14:40:24 -07:00
Sandeep Patil 21620dc745 OWNERS: add owners to libion
Bug: none
Test: n/a

Change-Id: Ie6c462068acf6b6ad8cd6579feab05c2fa238a94
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-07-30 14:40:24 -07:00
Sandeep Patil 89ea28116a libion: Add missing error checks for input parameters to APIs.
The errors were caught by ion-unit-tests. Make sure we fix them before
we start running the tests in automation etc.

Bug: 133508579
Test: ion-unit-tests

Change-Id: I7ebecfa037767481ee7f2b30e2923c84ebc352bf
Signed-off-by: Sandeep Patil <sspatil@google.com>
2019-07-30 14:40:24 -07:00
Tom Cherry d17c37952d init: ignore ENOENT from fewer builtins
Previously we were ignoring ENOENT from all builtins as
rootdir/init.rc has many legacy commands that we need to keep for
backwards compatibility, but are otherwise no longer relevant.

However, this wasn't catching actual issues, for example chown failing
due to not finding the user or group name.  This change therefore
reduces the scope of ignoring ENOENT to the only the extraneous errors
in builtins.

Test: boot CF and walleye without seeing errors from init.rc
Test: see errors from invalid users/groups in chown
Change-Id: Ia8e14fa2591e083cb1736c313a3e55515bc5d15e
2019-07-30 12:44:35 -07:00
Elliott Hughes 1a9da399cb Allow overriding the log path.
Bug: https://issuetracker.google.com/112588493
Test: manual
Change-Id: Ic273d46544479332b8e031f30feadd1840f2d653
2019-07-30 12:26:31 -07:00
Elliott Hughes 4c8ea89afb Clarify `adb sync -l` help text.
Seems like the bug submitter thought that -l listed the partitions shown
on the line above, rather than the files. Be more explicit.

Bug: https://issuetracker.google.com/73122762
Test: treehugger
Change-Id: I6ed1027639a5b785a5992909430d739958d10ad7
2019-07-30 10:32:53 -07:00
Mark Salyzyn 9daf79f43f adb-remount-test: add /system/priv-app
In 4.19+ kernels not yet patched, /system/priv-app/<file> can
cause EPERM on fstat of the directory, resulting in failure to
access content.

Test: adb-remount-test.sh
Bug: 138649540
Change-Id: I96d1acb3cdb80824c9d2ebce415ea6e1253f9c5b
2019-07-30 09:31:45 -07:00
Mark Salyzyn f6d8a631fa adb-remount-test: support devices that do not have verity
This allows the test to run to completion on cuttlefish

Test: adb-remount-test.sh
Bug: 138649540
Change-Id: Ief00af72af94bf14c1d69499b12ece8cfce2f552
2019-07-30 09:31:37 -07:00
Mark Salyzyn 91eb2c0a25 adb-remount-test add --no-wait-screen option
If the device screen drivers or frameworks are compromised, permit
remount testing without waiting for full boot complete to occur with
the --no-wait-screen option.  In the same vein to support development,
add --wait-adb and --wait-fastboot options to adjust the timeout.

For TreeHugger testing where other (previous) tests demonstrate
framework or screen regressions, it _may_ be advised to switch to the
--no-wait-screen option so that we do not register a false signal.
It should be noted that some of the past issues with overlayfs and
adb remount could introduce boot up, framework or screen regressions,
so it is advised to not use the option if that interlocking logic can
not be set up.

Test: adb-remount-test.sh
Bug: 138649540
Change-Id: Idf8f4a0eb6d7c9139bd4f2c600d14a70dc71902f
2019-07-30 09:31:29 -07:00
Treehugger Robot e1d4e39064 Merge "dmctl: suspend and resume devices" 2019-07-30 03:32:01 +00:00
Treehugger Robot b6c32c9051 Merge "libdm: suspend and resume devices" 2019-07-30 00:09:31 +00:00
David Anderson 687f1c4e8e Merge "liblp: Fix typo in IsRetrofitDynamicPartitionsDevice." 2019-07-29 23:01:18 +00:00
Alessio Balsini 79338406e0 dmctl: suspend and resume devices
Export suspend and resume functionalities of libdm to command line
through dmctl.

Change-Id: I8e1dd7d67d8814631e4174d3ba169e705efc1df6
Bug: 137759376
Test: manual
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-29 20:48:55 +01:00
Alessio Balsini bdc65bf083 libdm: suspend and resume devices
In some cases it would be required to suspend the device to succesfully
complete some operations. An example is the suspension of the origin
device that is necessary to avoid data corruption when merging a
snapshot.

Introduce suspend and resume ioctls in libdm.

Bug: 137759376
Test: libdm_test
Change-Id: Id2ff34e930a8b32e570cb9f49da9cc3f65cb499c
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-29 20:35:56 +01:00
Treehugger Robot 09bbdcb6b3 Merge "fs_mgt: Fix remount failure in case of non-overlayfs system" 2019-07-29 19:30:12 +00:00
David Anderson f01faf2620 liblp: Fix typo in IsRetrofitDynamicPartitionsDevice.
Bug: 138590940
Test: manual test
Change-Id: I58c639e9308d1866d5423c79c00669d27f125d64
2019-07-29 12:20:13 -07:00
Joshua Gilpatrick af3ce0876c Fastdeploy converted to c++ and bin2c on the jar.
Test: Added test for DeployPatchGenerator and PatchUtils cpp files.
Bug: 138130943
Change-Id: I6a128eff4cda00dd05c1bccec71e2678a8b13324
2019-07-29 12:00:09 -07:00
Mark Salyzyn beb6abedcc init: first stage init tie stdout and stderr to /dev/kmsg
It is exceedingly difficult to debug I/O and filesystem corruption
issues during first and selinux initialization stage init.  By
redirecting stderr, and for good measure stdout, to /dev/kmsg in
first stage init before it exec's "/system/bin/init" we can see
the filesystem corruption errors more clearly.

Before this we would see:

init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
Kernel panic - not syncing: Attempted to kill init! exitcode=0x...

and then wonder why?

After this change we can see:

init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
libc: Fatal signal 5 (SIGTRAP), code 128 (SI_KERNEL), fault addr...
Kernel panic - not syncing: Attempted to kill init! exitcode=0x...

-or-

init: Skipped setting INIT_AVB_VERSION (not in recovery mode)
linker: CANNOT LINK EXECUTABLE "/system/bin/init": cannot locate symbol...
Kernel panic - not syncing: Attempted to kill init! exitcode=0x...

(NB: with stutter removed because of stdout and stderr)

Silence from these sources otherwise on successful execution.

Test: boot
Bug: 138459777
Change-Id: I4200b24baeaa6e408a5e0a2c890561bda1e2f1f4
2019-07-29 11:56:51 -07:00
Treehugger Robot 244d9b8fb9 Merge "Use android::base::Result in libnativeloader" 2019-07-27 14:07:44 +00:00
Mark Salyzyn 588fe9e8af fs_mgt: Fix remount failure in case of non-overlayfs system
$ adb remount
W DM_DEV_STATUS failed for scratch: No such device or address
E Can not mount overlayfs for partitions: No such file or directory
/system/bin/remount exited with status 8
remount failed

Bug: 138407617
Test: $ adb remount

Change-Id: I0f359071234b57324ad2324905b5239dbfa44d01
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2019-07-26 13:46:41 -07:00
Victor Chang 7ea6c1691c Move ICU .dat
Move the symlink destination of /system/usr/icu from Runtime APEX to
i18n APEX

Bug: 137009149
Test: Device boots
Change-Id: I86ff83a28d4124892d2b5d84ff09bc539f76c941
2019-07-26 18:40:33 +01:00
Treehugger Robot d11603646a Merge "Don't fail catastrophically on non-existing namespace" 2019-07-26 14:50:33 +00:00
Treehugger Robot 485d024b05 Merge "Include ldd in /system/bin." 2019-07-25 23:34:45 +00:00
Jiyong Park 09db2edb45 Don't fail catastrophically on non-existing namespace
When a new namespace is added to ld.config.txt, it has to be reflected
to native_loader_test.cpp. However, failing to do so crashes the test
instead of showing an error message that the namespace hasn't been
added.

Fixing the issue by not returning nullptr when the namespace isn't
found.

Bug: 138304345
Test: libnativeloader_test
Change-Id: I9eee1293956caac69f95a946604a2e6f665bde89
2019-07-26 08:14:09 +09:00
Jiyong Park 8f4afc8298 Use android::base::Result in libnativeloader
Remove the out parameters for error messages using Result<T>.

Bug: 130388701
Test: libnativeloader_test
Change-Id: Idbaf391c183fb20d5e1d7c96f3a4ccbf9745b7e6
2019-07-26 08:06:46 +09:00
Yifan Hong 37602ed83e Merge changes Ifc4c4540,I4636de85
* changes:
  MetadataBuilder::IsABDevice: make static / use std::optional
  MetadataBuilder::NewForUpdate: check sysprop instead
2019-07-25 22:43:35 +00:00
Treehugger Robot b4b9d21bf9 Merge "VtsKernelMemInfoTest: only enforce on Q+ launching devices" 2019-07-25 22:03:20 +00:00
Elliott Hughes 82033660c0 Include ldd in /system/bin.
Test: `which ldd`
Change-Id: I68a2e5402a82f22e7b715ab3d8ac2c09296b4376
2019-07-25 12:47:34 -07:00