Instead, print a short message that contains the information
on the row that it should look up.
Test: lshal --debug
Test: lshal debug -E android.hardware.health@2.0::IHealth/default
Test: lshal_test
Fixes: 160745145
Change-Id: I7d5ab9fba097c0fb0b080ec52682084c65ba9f50
Waits for an interface to start (e.g. for scripting certain tests).
Fixes: 135956088
Test: the following
$ adb shell lshal wait android.hardware.nfc@1.0::INfc/foo
Service not found (missing permissions or not in VINTF manifest?).
$ echo $?
128
$ adb shell lshal wait android.hardware.nfc@1.0::INfc/default
$ echo $?
0
Test: lshal_test
Change-Id: I355fc33f9e46bac573a38425205e8db81f19a36e
We could add this to list in the future if it seems useful.
This allows someone to call debug on all registered hal instances
without dumping subclasses multiple times.
Bug: 72123369
Test: w/ bugreport using this and manual
Change-Id: Ib201194a9f81ae1aded7105d123ac6399c847494
Register commands to the controller class Lshal to autogenerate
help messages and select the correct Command.
Test: lshal_test
Change-Id: I846aef13d77bcee328c8410dc61f2e8b4c0e0d69
Add *Command::usage() function for each Command and let
Lshal class to call them.
Suppress output from getopt_long and write our own
error message to customized error stream (for testing).
Test: lshal_test
Test: lshal --help
Change-Id: I8f5847c84a3e01af29fa85871479cab3baeb5312
Support the following commands:
lshal list
lshal list -itrpc
lshal help
lshal help list
lshal list -h
lshal list --help
Test: run these commands
Bug: 37725279
Change-Id: I970fbc8d250d43f57e92f783229e0645d7e8df4e
This calls into live binderized services and logs their "IBase::debug(...)"
output.
Bug: 36520620
Test: make, adb shell lshal, adb shell bugreport
Change-Id: Ida3b0c61eafd9f3de562a5df3af24bbaf383de22
Split the output by three parts according to the source of information.
Describe each part before the table.
--sort will be applied to each table individually.
Bug: 35803917
Test: lshal
Change-Id: Ief0dae21fdeb58ebaed46d2aa68f298b8b75218d
Add an "Arch" column (selected by -r) to lshal
to show whether the HAL runs in 32 bit or 64 bit.
* For binderized services, whether the process
runs in 32bit or 64bit (__LP64__)
* For passthrough libraries (-impl.so), whether
the library is in /{system,vendor,odm}/lib/hw
or /{system,vendor,odm}lib64/hw
Bug: 35803184
Test: lshal -itrpc
Change-Id: I328da4ad9eacbf2959be4ac2e478c16535a89068
Run it as follows:
lshal --init-vintf=/data/a.xml
lshal --init-vintf > /data/a.xml
Test: lshal --init-vintf with and without path argument
Bug: 35852743
Change-Id: Ief9385fc2764a487d1a70644699e01133bdc8a8e
Add -m to arguments of lshal. When this flag is set,
/proc/{pid}/cmdline is printed instead of a plain PID.
If the file doesn't exist, it will be striped out from
the PID column as well (the process is considered died
and won't hold a reference to the binder object.)
Test: lshal -icm
Bug: 35160832
Change-Id: I4345bf06112a1f87ce91bec6f6f787703e46cd17
We need to be able to select columns, sort columns,
and do IPC calls fault-tolerently.
Refactoring lshal.cpp into an Lshal class for more
objective-oriented programming, so that global variables
can be avoided and less parameters will need
to be passed around.
Test: lshal outputs identical output as without this CL, except
with the column merged.
Change-Id: I9668c998da692222aef96ae67bbab8066172543d