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
diff --git a/test/main.cpp b/test/main.cpp
index 7b7182c..def1ac8 100644
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -43,6 +43,9 @@
bool add(VendorManifest &vm, ManifestHal &&hal) {
return vm.add(std::move(hal));
}
+ void set(CompatibilityMatrix &cm, Sepolicy &&sepolicy) {
+ cm.sepolicy = sepolicy;
+ }
const ManifestHal *getHal(VendorManifest &vm, const std::string &name) {
return vm.getHal(name);
}
@@ -233,6 +236,7 @@
{KernelConfig{"CONFIG_FOO", Tristate::YES}, KernelConfig{"CONFIG_BAR", "stringvalue"}}}));
EXPECT_TRUE(add(cm, MatrixKernel{KernelVersion(4, 4, 1),
{KernelConfig{"CONFIG_BAZ", 20}, KernelConfig{"CONFIG_BAR", KernelConfigRangeValue{3, 5} }}}));
+ set(cm, Sepolicy(30, {1, 3}));
std::string xml = gCompatibilityMatrixConverter(cm);
EXPECT_EQ(xml,
"<compatibility-matrix version=\"1.0\">\n"
@@ -266,7 +270,10 @@
" <value type=\"range\">3-5</value>\n"
" </config>\n"
" </kernel>\n"
- " <sepolicy/>\n"
+ " <sepolicy>\n"
+ " <kernel-sepolicy-version>30</kernel-sepolicy-version>\n"
+ " <sepolicy-version>1-3</sepolicy-version>\n"
+ " </sepolicy>\n"
"</compatibility-matrix>\n");
CompatibilityMatrix cm2;
EXPECT_TRUE(gCompatibilityMatrixConverter(&cm2, xml));