[PATCH 1/2] test_driver: Implement virNodeGetSecurityModel

Luke Yue lukedyue at gmail.com
Mon Jun 7 07:38:18 UTC 2021


Signed-off-by: Luke Yue <lukedyue at gmail.com>
---
 src/test/test_driver.c | 32 ++++++++++++++++++++++++++++++++
 tests/virshtest.c      |  2 ++
 2 files changed, 34 insertions(+)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index ea5a5005e7..2651301629 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -4963,6 +4963,7 @@ static int testDomainBlockStats(virDomainPtr domain,
 }
 
 
+
 static int
 testDomainInterfaceAddressFromNet(testDriver *driver,
                                   const virDomainNetDef *net,
@@ -5006,6 +5007,36 @@ testDomainInterfaceAddressFromNet(testDriver *driver,
     return ret;
 }
 
+static int
+testNodeGetSecurityModel(virConnectPtr conn,
+                         virSecurityModelPtr secmodel)
+{
+    testDriver *driver = conn->privateData;
+
+    memset(secmodel, 0, sizeof(*secmodel));
+
+    if (driver->caps->host.nsecModels == 0 ||
+        driver->caps->host.secModels[0].model == NULL)
+        return 0;
+
+    if (virStrcpy(secmodel->model, driver->caps->host.secModels[0].model,
+                  VIR_SECURITY_MODEL_BUFLEN) < 0) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("security model string exceeds max %d bytes"),
+                       VIR_SECURITY_MODEL_BUFLEN - 1);
+        return -1;
+    }
+
+    if (virStrcpy(secmodel->doi, driver->caps->host.secModels[0].doi,
+                  VIR_SECURITY_DOI_BUFLEN) < 0) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("security DOI string exceeds max %d bytes"),
+                       VIR_SECURITY_DOI_BUFLEN - 1);
+        return -1;
+    }
+
+    return 0;
+}
 
 static int
 testDomainInterfaceAddresses(virDomainPtr dom,
@@ -9295,6 +9326,7 @@ static virHypervisorDriver testHypervisorDriver = {
     .domainGetVcpus = testDomainGetVcpus, /* 0.7.3 */
     .domainGetVcpuPinInfo = testDomainGetVcpuPinInfo, /* 1.2.18 */
     .domainGetMaxVcpus = testDomainGetMaxVcpus, /* 0.7.3 */
+    .nodeGetSecurityModel = testNodeGetSecurityModel, /* 7.5.0 */
     .domainGetXMLDesc = testDomainGetXMLDesc, /* 0.1.4 */
     .domainSetMemoryParameters = testDomainSetMemoryParameters, /* 5.6.0 */
     .domainGetMemoryParameters = testDomainGetMemoryParameters, /* 5.6.0 */
diff --git a/tests/virshtest.c b/tests/virshtest.c
index add33215b7..119b2ef54d 100644
--- a/tests/virshtest.c
+++ b/tests/virshtest.c
@@ -34,6 +34,8 @@ Used memory:    131072 KiB\n\
 Persistent:     yes\n\
 Autostart:      disable\n\
 Managed save:   no\n\
+Security model: testSecurity\n\
+Security DOI:   \n\
 \n";
 static const char *domuuid_fc4 = DOM_UUID "\n\n";
 static const char *domid_fc4 = "2\n\n";
-- 
2.31.1




More information about the libvir-list mailing list