History log of /system/libvintf/test/main.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
66444507bb258a895059544855be2f47cc523f1c 11-Sep-2017 Yifan Hong <elsk@google.com> Allow to disable certain checks in VintfObject::CheckCompatibility

Allow to disable AVB version checks.
Test: builds
Test: vintf_object_test
Test: libvintf_test

Bug: 38325029
Bug: 65270190
Change-Id: Iadc2408f635a5487a5af4e19f516147930f4bc4b
Merged-In: Iadc2408f635a5487a5af4e19f516147930f4bc4b
/system/libvintf/test/main.cpp
45e5f72a1433f385afcda5ebf28c38a4010f8fda 23-Aug-2017 Yifan Hong <elsk@google.com> Add tests for kernel config fragments in fwk comp mat.

Test: libvintf_test
Bug: 64124223
Change-Id: I04f3332c84ec9e9c025079f6f83e2573dab27a81
Merged-In: I04f3332c84ec9e9c025079f6f83e2573dab27a81
/system/libvintf/test/main.cpp
cef6437c31623647ec2200d46272f7ac5485aeb1 16-Aug-2017 Yifan Hong <elsk@google.com> Add hardcoded version checks for netutils-wrapper

Each version bump of netutils-wrapper lose some functionality,
and hence only the major version is bumped. Also, vendor code
should only depend on a single version of netutils-wrapper.
Hardcode this requirement in host-side libvintf to check
compatibility when framework manifest and device compatibility
matrix is built.

Test: host libvintf_test
Test: target libvintf_test
Test: host vintf_object_test
Test: target vintf_object_test
Test: m system_manifest.xml compatibility_matrix.xml
Test: boots

Bug: 64447338
Change-Id: I75c28f3e021d16860e4577c3ecfaec2bd89d8a3d
/system/libvintf/test/main.cpp
41ca2a824cb5ecf101091bc2212812985c3f0034 07-Aug-2017 Yifan Hong <elsk@google.com> Native HALs don't require <transport>.

This is stated in go/android-treble-vintf-object but the code
was not well tested. Fortunately, native HALs are not used (until now),
so we need to conform to the documentation here.

Test: libvintf_test
Bug: 64447338
Change-Id: I00d96137d4052d9da50f696ef665a73d09d818a7
Merged-In: I00d96137d4052d9da50f696ef665a73d09d818a7
/system/libvintf/test/main.cpp
02e94004a6d35d20af7df1ea9c66c5b65e4bd9c6 11-Jul-2017 Yifan Hong <elsk@google.com> Do not use regex to parse /proc/config.gz.

During boot, a compatibility check is performed and
/proc/config.gz is parsed. /proc/config.gz has
a well defined format:

# CONFIG_FOO is not set
CONFIG_BAR=y

with no trailing / leading spaces, spaces around
'=', or trailing comments. Using regex is slow
and unnecessary, hence a normal string search
is performed instead.

On the other hand, for assemble_vintf that needs to parse
android-base.cfg, because the file is maintained by
humans, free format is accepted, and regex is used.

Test: boots (boot time compat check passes)
Test: boot time regression no longer happens (~120ms vs. ~90ms)
Test: libvintf_test
Bug: 63537988
Change-Id: If6ab207d40459689386aaf40cd835effc5597886
/system/libvintf/test/main.cpp
c188972e09d81c36c5a2946dc015adec36819583 08-Jul-2017 Yifan Hong <elsk@google.com> Allow KernelConfigParser to be less restrictive

Rewrite KernelConfigParser::processRemaining() to allow
the following text:

# CONFIG_NOT_SET is not set
CONFIG_ONE=1 # 'tis a one!
CONFIG_TWO=2 #'tis a two!
CONFIG_THREE=3#'tis a three!
CONFIG_233=233#'tis a three!
CONFIG_Y=y
CONFIG_YES=y#YES!
CONFIG_STR=string
CONFIG_HELLO=hello world! #still works
CONFIG_WORLD=hello world!
CONFIG_GOOD = good morning! #comments here
CONFIG_MORNING = good morning!

Test: libvintf_test
Bug: 38324908
Change-Id: I1e8112b8cbf1f1d8a2b6b34daa9a593eff69cff2
/system/libvintf/test/main.cpp
6209d174da66ac6d4755e4dc0779379573ea06e9 08-Jul-2017 Yifan Hong <elsk@google.com> Fix libvintf_test KernelParserConfig tests

Tests should check the return value of process(...). Return it
from processData for further checks.

Test: libvintf_test
Bug: 38324908
Change-Id: I8acdaa9ea25c9451263a929e5009e41714a24262
/system/libvintf/test/main.cpp
d8cee08fbf406ffc8b273b49d2c6ff1588ecd864 06-Jul-2017 Yifan Hong <elsk@google.com> Add tests for KernelConfigParser.

Test: libvintf_test
Bug: 38324908
Change-Id: I7b345b59cf252e71ca8962683585084cede0ce0b
/system/libvintf/test/main.cpp
bbfff3032efa6fccd6a4d975980ef8922f2c81d7 07-Jun-2017 Yifan Hong <elsk@google.com> Add getXmlFilePath for manifest / matrix.

Return <path> or if it doesn't exist,
/{system,vendor}/etc/<name>_V<major>_<minor>.<format>

Test: libvintf_test
Test: vintf_object_test

Bug: 38359330

Change-Id: I80eff960a5dea91521e99e628e1af7cf52dad195
/system/libvintf/test/main.cpp
d48579083ce6d35949444801a9c34e20f4eae254 13-Jun-2017 Yifan Hong <elsk@google.com> Add <xmlfile> to manifest / comp mat.

manifest.xml is allowed to contain <xmlfile> that is similar to:
<xmlfile>
<name>media_profile</name>
<version>1.0</version>
<path>/path/to/media_profile_v1_0.xml</path>
</xmlfile>

For compatibility-matrix.xml
<xmlfile format="dtd" optional="false">
<name>media_profile</name>
<version>1.0-1</version>
<path>/path/to/media_profile_v1_1.dtd</path>
</xmlfile>

The <path> tag is optional. See test/main.cpp for examples.

Test: libvintf_test
Test: vintf_object_test

Bug: 38359330

Change-Id: I0a921f32d023e1ba9c54ea6e898bb385fc7abd4f
/system/libvintf/test/main.cpp
d5cd048c72cedd7da94c9ef38a89887ef6d4bc7c 19-Jun-2017 Yifan Hong <elsk@google.com> Add Arch::operator| and operator|=

The OR operator for Arch stacks bitness information.

Test: libvintf_test
Test: lshal --init-vintf

Bug: 62675393
Change-Id: I3fc56b3a39e48c8a2d452f2796123fca3fc1d4a4
Merged-In: I3fc56b3a39e48c8a2d452f2796123fca3fc1d4a4
/system/libvintf/test/main.cpp
b423316ccf3d609c66bab3bfa83e7cd3b425bca9 25-May-2017 Yifan Hong <elsk@google.com> Fix tests for disabled avb check

<avb> entry is not checked until injected by assemble_vintf.

Bug: 38325029
Test: libvintf_test
Change-Id: I8c4d53de331b41b15aa63b467e2f9aba620fb1bf
/system/libvintf/test/main.cpp
79dcc1fcecf4b9b6ff775914f19e6bd7de1d331c 22-May-2017 Yifan Hong <elsk@google.com> Do not allow duplicated major version across <hal> in manifests

<hal> entries has to be grouped by versions. Otherwise, if
<transport> is different in two <hal> entries with the same
<name> and <version>, getTransport always return the first match.

As a side effect, fixes an incorrect behavior in
HalManifest::isCompatible that test for <instance> tags across two
<hal>'s with the same name and version (because it shouldn't occur
at all). This incorrect behavior is hidden under an
EXPECT_FALSE in libvintf_test. Now that this is never allowed,
the test is changed to EXPECT_TRUE.

Test: libvintf_test
Change-Id: I10d4619f3828bf695485938c315c73a924ba6340
Merged-In: I10d4619f3828bf695485938c315c73a924ba6340
Fixes: 38502835
/system/libvintf/test/main.cpp
08e984cdca85894b0f223314a5ae7ecbdfaf23ed 18-May-2017 Yifan Hong <elsk@google.com> Rework compat check of ManifestHal vs. MatrixHal

<interface> and <instance> in a compatibility-matrix.hal
also needs to be checked in a manifest.hal. Specifically,
all instances specified in compatibility-matrix.hal
must be present in manifest.hal, although they can span
across different tag elements. See tests for samples.

For details, see:

go/android-treble-vintf-object

Test: libvintf_test
Test: vintf_object_test
Bug: 38395193
Change-Id: Ia009c5a1d779818594efc4c7f485d9fe4f23ed55
Merged-In: Ia009c5a1d779818594efc4c7f485d9fe4f23ed55
/system/libvintf/test/main.cpp
9cd9eb0f06e77347beaf141c011fb1989af82475 18-May-2017 Yifan Hong <elsk@google.com> Add HalInterface to compatibility matrix

Test: libvintf_test
Test: vintf_object_test

Bug: 38395193
Change-Id: I6dfc21bbfb63b575558405e441f3926ff3813eb8
Merged-In: I6dfc21bbfb63b575558405e441f3926ff3813eb8
/system/libvintf/test/main.cpp
cc519864dbd810eb7267e07c744ea4220e8db48e 17-May-2017 Yifan Hong <elsk@google.com> Add more vintf_object_test

* Fix duplicated Compat2 test in libvintf_test
The test is duplicated in libvintf_test and vintf_object_test;
it also fails because details::CheckCompatibility doesn't take
GetXCompatibilityMatrix functions.

* Add PartitionMounter that allows mocking on mount
procedures

* Fix duplicated mount and unmount in checkCompatibility

Test: libvintf_test
Test: vintf_object_test

Change-Id: I07be537696efe64f084fdbed77a781b26e971784
Merged-In: I07be537696efe64f084fdbed77a781b26e971784
/system/libvintf/test/main.cpp
5cfbc92dbc3972c793e9c793b7dd4977a63f5faf 08-May-2017 Michael Schwartz <schwartzmi@google.com> Improve error message for AVB failures

Bug: 38131335
Test: `m -j libvintf_test` and run test.
Change-Id: I952da9d08cfb0e16855bf63167e6067716abe777
/system/libvintf/test/main.cpp
881a9e45aa1666dd0ef105e92cab5f73c1eb6f1e 28-Apr-2017 Yifan Hong <elsk@google.com> Renamed avb version variables in RuntimeInfo.

Old variable names are confusing.

Test: pass
Change-Id: I21d43b0615f52443fcda8c067507d2d7207ec3e7
/system/libvintf/test/main.cpp
19e0a2a660d69377a32e52084858e5162a34f154 15-Apr-2017 Yifan Hong <elsk@google.com> Allow avb.vbmeta-version to be missing from compat mat

For non verified boot devices, vbmeta-version doesn't
make sense. So allow it to be missing from compatibility
matrix.

Test: libvintf_test
Bug: 35322304
Change-Id: I6583c65c28441dec5f7f5f4520fd18a2a22f89e0
/system/libvintf/test/main.cpp
65cc7224494d2d470d8b2ff82cdd87f2e2df4666 15-Apr-2017 Yifan Hong <elsk@google.com> Add VintfObjectRecovery

A special VintfObject for recovery. CheckCompatibility
knows how to mount /system and /vendor if necessary.

Test: testing with a test CL that replaces graphics test
into calling android::vintf::details::mountSystem
/ mountVendor, and the partitions are actually
mounted.

Bug: 36814503
Change-Id: Ie6a8e533841a128a411134973006ac4afb17a78e
/system/libvintf/test/main.cpp
398f4c7744018f763eb84d7d290793966e2e41b9 14-Apr-2017 Yifan Hong <elsk@google.com> Implement VintfObject::CheckCompatibility.

Test: libvintf_test

Bug: 36814503 libvintf Java API
Bug: 36126928 create tests for HalManifest::checkIncompatibility

Change-Id: I1ea9b6030a068623742d23f38d287b01946f2fc8
/system/libvintf/test/main.cpp
d0cbf1f067bc308aacd1ace4ccfc1f27123a0d83 13-Apr-2017 Yifan Hong <elsk@google.com> HalManifest check against CompatibilityMatrix

Add test for framework compatibility matrix check against
device hal manifest.

Bug: 36126928 VINTF: create tests for HalManifest::checkIncompatibility
Test: libvintf_test

Change-Id: I8ebf3a2891aa0f8f24c68930499047652309e36c
/system/libvintf/test/main.cpp
9bbdb28228c67e3fe31de0b7c93749a99224c63c 13-Apr-2017 Yifan Hong <elsk@google.com> Allow multiple hal entries with the same name.

Also remove "default" from HalManifest::getInstances.

Bug: 36570950 VINTF: should not assume "default" service names
Bug: 37294247 VINTF: allow multiple entries in <manifest> and
<compatibility-matrix> to have the same name

Test: libvintf_test

Change-Id: I9c288ef2a530db800220a303ca7ca39a7ea5a3df
/system/libvintf/test/main.cpp
f302930a51397aa422355644b5de31439056eb51 13-Apr-2017 Yifan Hong <elsk@google.com> Add avb.vbmeta-version to CompatibilityMatrix and RuntimeInfo

RuntimeInfo fetch avb vbmeta version by reading the following two sysprops:
- ro.boot.vbmeta.avb_version
- ro.boot.avb_version
If the sysprop does not exist, 0.0 is set.

Test: libvintf_test
Test: adb shell vintf (shows 0.0 because CLs
for sysprops are not merged yet)

Bug: 35322304
Change-Id: I345bc792d1a7ceb585d246ec657707814b42ceff
/system/libvintf/test/main.cpp
9a36158780229984f6d46ad9c1a80d41c1f64d9e 13-Apr-2017 Yifan Hong <elsk@google.com> compatibility-matrix.sepolicy.sepolicy-version format

should be 25.0 or 26.0-3; also there can be multiple
sepolicy-version entries. Change the code to reflect these.

Test: libvintf_test
Bug: 36456394 VINTF: add sepolicy version
Bug: 36737087 We need a way to identify which "platform version"
Change-Id: Iaf660c6326fb42a21b16e8b8129005053a28f01b
/system/libvintf/test/main.cpp
03d2d4a8fa16418a2f54dc78a7e909f40a26ec1b 13-Apr-2017 Yifan Hong <elsk@google.com> Include Vndk version to compatibility matrix XML.

Serialization code is missing before. Also added tests
for converting device compatibility matrices.

Test: libvintf_test
Bug: 36400653
Change-Id: I57aabafdf71f7e9ce05f30e0b14c3d83dc1c183f
/system/libvintf/test/main.cpp
fb7469c6958c961986cf78223fb19cf2651e5092 06-Apr-2017 Yifan Hong <elsk@google.com> Add operator==

To compatibilityMatrix, HalManfiest, Vndk, Sepolicy.
This is much easier for testing.

Test: libvintf_test
Change-Id: I6ca64b2ddcb6c14c200ba0348863266c078a29c3
/system/libvintf/test/main.cpp
a04e147eab32ad60196c9c297801823c3687d622 05-Apr-2017 Yifan Hong <elsk@google.com> Add <vndk> entry to framework manifest and device comp-mat.

Bug: 36400653

Test: libvintf_test
Change-Id: Ie727d4806ad74a72511354a901fca09ea9ae67c4
/system/libvintf/test/main.cpp
2a3dd08f63fdca2919421b4fd6bb359d41b38ebc 05-Apr-2017 Yifan Hong <elsk@google.com> Add <sepolicy> tag to HalManifest.

Test: libvintf_test

Bug: 36456394

Change-Id: If85aabc87c42d5afbe3b230dde8b3cbe8fbd8eb6
/system/libvintf/test/main.cpp
7c7d7063d09e7a06339b6aa71a045990b50b5168 05-Apr-2017 Yifan Hong <elsk@google.com> Add manifest/compatibility-matrix.type attribute

to distinguish device and framework HAL manifest, and
device and framework compatibility matrix.

Add .device / .framework entries to HalManifest and
CompatibilityMatrix class for device-only / fwk-only
entries. Access to these fields should be guarded with
a check to mType.

Test: libvintf_test
Test: boots
Change-Id: Id9c93c1e6bb585234a9ae6d9296f5a10582ef58f
/system/libvintf/test/main.cpp
974ad9c96731801919214b73af52fe3fc3a59658 05-Apr-2017 Yifan Hong <elsk@google.com> Remove <impl> tag from ManifestHal.

It is deprecated as suggested by documentation.
Test: libvintf_test

Bug: 36602724

Change-Id: Ifc847f87f654b0c62dba6106ae5b19c9c2d87f30
/system/libvintf/test/main.cpp
d014394222455eae21d9805b6b4c6c0c6d42304e 25-Mar-2017 Tri Vo <trong@google.com> Add getHalNames and getInterfaceNames functions to HalManifest.

getHalNames returns all hal names in vintf.
getInterfaceNames returns all interface names of a given hal.

Test: mmma system/libvintf
Change-Id: I83147179eecbea299304305b68f119eb18f096a6
/system/libvintf/test/main.cpp
c54d32cb0b20308a0ecea7864016a2a5dc512f71 08-Mar-2017 Yifan Hong <elsk@google.com> Add bitness info to <transport>.

Only valid for transport == passthrough or toggled.
Example:
<transport>hwbinder</transport>
<transport arch="64">passthrough</transport>
<transport arch="32+64">passthrough</transport>
<transport arch="32">passthrough</transport>

Allow transport tag to be missing (for native HALs like GLES).

Bug: 35966597
Test: libvintf_test
Change-Id: I80928a5d46f3097ed18f2894e46762127b29bd4c
/system/libvintf/test/main.cpp
037f12a8b5cabf45a8f69f41e886f017b33ce21e 07-Mar-2017 Yifan Hong <elsk@google.com> Do not attach <impl> tag if level is empty.

<impl level=""></impl> used to be emitted for hal.format=native and for
framework HAL manifest. This is misleading. Hence, drop the element if
level is empty.

Test: libvintf_test
Change-Id: I4135e562ea9db57e2d7b41778eb6a9d9b3b9b8b0
/system/libvintf/test/main.cpp
8e9c669c47a9b59bc49d5c95922c17f1d75a6620 28-Feb-2017 Yifan Hong <elsk@google.com> Allow optional elements and attributes.

Per the document, allowed optional elements and attributes are:

* compatibility-matrix.hal.format
* compatibility-matrix.hal.optional
* manifest.hal.format
* manifest.hal.impl

This change is needed to support system/manifest.xml because
manifest.hal.impl is missing.

Test: `adb shell vintf` correctly shows system/manifest.xml
Test: libvintf
Change-Id: Ia54842d128ba1bc614c29f3b364642393d800086
/system/libvintf/test/main.cpp
ec3b9b7cf729c8cc47421dcc316d7b2d1f37c2ff 23-Feb-2017 Yifan Hong <elsk@google.com> Add manifest.hal.interface entry

that looks like follows:

<interface>
<name>IBluetooth</name>
<instance>legacy/0</instance>
<instance>default</instance>
</interface>

If an entry doesn't exist it is default to "default" instance.

HalManfiest.getInstances and hasInstance is the API
to query these elements.

Test: libvintf_test
Bug: 35219444
Change-Id: Ic4402152c6d44c2c57c7ef1ba6ab6194ad7842f2
/system/libvintf/test/main.cpp
c3066898a725859cc2a6d4c0d3dce88284807e76 24-Feb-2017 Yifan Hong <elsk@google.com> Change compatibility-matrix.kernel.minlts to version

Remove the original version attribute. It is simply duplicated
information.

Test: libvintf_test
Change-Id: I3a284ff88e4c60d8070a47581e5b8e4245145a79
/system/libvintf/test/main.cpp
2059ffc47cd339081b76b5d6f0ca6d68e51f22fb 24-Feb-2017 Yifan Hong <elsk@google.com> Clean up ManifestHal's public convenience constructor.

Bug: 34620633
Test: libvintf_test
Change-Id: I43571d7d5a56d60e43a1b75a683f0f41d470bfbf
/system/libvintf/test/main.cpp
d2b7e64894cd739da60f129ac38d0cf035238206 17-Feb-2017 Yifan Hong <elsk@google.com> vintf: VendorManifest -> HalManifest

VendorManifest is an old name and is changed
to HalManifest long ago in relavant documentation.
It merely consist of a list of "HALs" and doesn't
contain any runtime collectible information.

Test: mma
Test: libvintf_test

Change-Id: Iba78128c194a3efc34371b686943266829d8e33c
/system/libvintf/test/main.cpp
a7201e77e0c5221ada625ba5fcf89b25af45c10a 17-Feb-2017 Yifan Hong <elsk@google.com> vintf: KernelInfo -> RuntimeInfo.

There are more runtime information to report to the
OTA server besides kernel information (like avb.meta-version).
Renaming this class to reflect this.

Test: mma
Test: libvintf_test

Change-Id: Ie5863508bdac7a1a378c00528c8fd9853c6c50aa
/system/libvintf/test/main.cpp
4a5eb7ba6b9474aec95c3aa79a606f0b7a6b31b2 17-Feb-2017 Yifan Hong <elsk@google.com> Remove unused and move global XmlConverters.

Test: mma
Test: libvintf_test

Bug: 34620633
Change-Id: Ie2cbbd43e1f719c672be2145ba8778db8679a87c
/system/libvintf/test/main.cpp
f1af75256f3daea4089dae7e4abc124e35ea7de8 17-Feb-2017 Yifan Hong <elsk@google.com> vintf: Cleanup private members fields of KernelInfo.

Test: mma
Test: libvintf_test

Bug: 34620633
Change-Id: I34ac16815d4b3e812d695f67feb18e50484e0bc5
/system/libvintf/test/main.cpp
ec342866b23d096cb16bcdd770ed2b28f5aea1a1 17-Feb-2017 Yifan Hong <elsk@google.com> vintf: Clean up private member fields for CompatibilityMatrix.

Test: mma
Test: libvintf_test

Bug: 34620633
Change-Id: Id606442e087b6a0c00e6ecf712754d9e520b3e17
/system/libvintf/test/main.cpp
c66ad1e825894b7e1c2999913338c2a3f5936fa0 09-Feb-2017 Yifan Hong <elsk@google.com> Implement compatibility check

So that VendorManifest and KernelInfo can check against
a certain CompatibilityMatrix.

* VendorManifest::checkIncompatibility: return component
names that doesn't work with the given compatibility
matrix.
* KernelInfo::checkCompatibility: check security_policyvers()
and config items from /proc/config.gz.

Bug: 34633352
Test: libvintf_test

Change-Id: I88de1a89c23581330d50b4285ac4dfc2b6714e29
/system/libvintf/test/main.cpp
558380a7b95de37f6c74de683102f78e97e4fbf0 10-Feb-2017 Yifan Hong <elsk@google.com> Implement sepolicy section in compatibility-matrix.

* kernel-sepolicy-version will be checked against
security_policyvers().
* sepolicy-version is not yet defined; put a placeholder
entry so that it parses the compatibility matrix XML
file correctly.

Test: libvintf_test
Change-Id: I41f69623728deedd00c511e6b99f43697c9eeda8
/system/libvintf/test/main.cpp
3f5489a519f5f1a7eb8bd7873a3170057502d93b 08-Feb-2017 Yifan Hong <elsk@google.com> Complete definition for CompatibilityMatrix

* Add KernelConfigTypedValue to CompatibilityMatrix
to support KV pair in kernel information. config items
in /proc/config.gz are more than just a string; they have
the format:
CONFIG_FOO=y
CONFIG_BAR=""
CONFIG_BAZ=0x99
etc. Compatibility matrix needs to match the value part
as well.

* Added minlts to each kernel entry. This allows
KernelInfo::checkCompatibility to check if the current
LTS version can support the framework.

Test: libvintf_test

Change-Id: I859829dee8fdee0d856c33c1f5836d8c9c94099a
/system/libvintf/test/main.cpp
5a06ef717dbc3e417c35dc08543144386a277a6c 25-Jan-2017 Yifan Hong <elsk@google.com> Remove isValid() from public API.

* Remove isValid() from VendorManifest; rather,
add(ManifestHal &&) will do the check.
* Make ManifestHal::isValid() private; its XML Converter
and string parser will do the check.

Test: libvintf_test
Bug: 34620633
Change-Id: I3c8164e5856ac06eb6d79bb34e092ec2dec4e68e
/system/libvintf/test/main.cpp
a9993574bc1fb7a99ebf05cdc69d99cd208b8cf5 25-Jan-2017 Yifan Hong <elsk@google.com> Hide some public API in VendorManifest and CompatibilityMatrix.

Also changes:
* class -> struct for some classes
* LibVintfTest -> ::android::vintf::LibVintfTest
* VendorManifest::getSupportedVersions uses the new getHal method.

Bug: 34620633
Test: libvintf_test
Change-Id: Icf797676ea5c943b64ac6cf7f6f369e662996de2
/system/libvintf/test/main.cpp
ef6d4d3854b9d41ce70a6330fa5a3e19138fa641 23-Jan-2017 Yifan Hong <elsk@google.com> Add getHal and getHals to VendorManifest.

Part of the effort to hide implementation details in libvintf.

Bug: 34620633

Test: libvintf_test
Change-Id: I673fa29be833f023ffe29ece0b3295cec2203e19
/system/libvintf/test/main.cpp
676447acd00ebf93d1023f79fc02b5cbbb86dda2 15-Nov-2016 Yifan Hong <elsk@google.com> VendorManifest and CompatibilityMatrix from and to XML.

Usage:

#include <vintf/VendorManifest.h>
#include <vintf/parse_xml.h>
VendorManifest vm;
// ...
std::string xml = gVendorManifestConverter(vm);
VendorManifest vm2;
bool success = gVendorManifestConverter(&vm2, xml);
if (!success)
ALOGW("%s", gVendorManifestConverter.lastError());

See Vendor Interface Object and Compatibility Matrix Design
document and libvintf_test (test/main.cpp) for details.
(Up to commit 4468534)

Test: libvintf_test

Bug: 32648352

Change-Id: I7e8ee8d2b9e61bf036e77a390712480cbbd452b4
/system/libvintf/test/main.cpp