Fix matrix combine logic for AIDL HALs.
Also, add loads of tests for matrix / manifest combine.
Fixes: 140590973
Test: libvintf_test
Test: vintf_object_test
Change-Id: Ifbf5026953d0e350834dc9a055d6528bb4bfcdc4
diff --git a/CompatibilityMatrix.cpp b/CompatibilityMatrix.cpp
index 0ecb82c..1e519e0 100644
--- a/CompatibilityMatrix.cpp
+++ b/CompatibilityMatrix.cpp
@@ -186,6 +186,11 @@
const std::string& interface,
const std::string& instanceOrPattern, bool isRegex) {
for (auto* existingHal : existingHals) {
+ // Ignore HALs with different format.
+ if (halToAdd.format != existingHal->format) {
+ continue;
+ }
+
MatrixHal* splitInstance =
this->splitInstance(existingHal, interface, instanceOrPattern, isRegex);
if (splitInstance != nullptr) {