Signed-off-by: Luke Yue <lukedyue(a)gmail.com>
---
src/test/test_driver.c | 31 +++++++++++++++++++++++++++++++
tests/virshtest.c | 2 ++
2 files changed, 33 insertions(+)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 2651301629..611ec6d7ec 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -5007,6 +5007,36 @@ testDomainInterfaceAddressFromNet(testDriver *driver,
return ret;
}
+static int
+testDomainGetSecurityLabel(virDomainPtr dom,
+ virSecurityLabelPtr seclabel)
+{
+ virDomainObj *vm;
+ int ret = -1;
+
+ memset(seclabel, 0, sizeof(*seclabel));
+
+ if (!(vm = testDomObjFromDomain(dom)))
+ return -1;
+
+ if (virDomainObjIsActive(vm)) {
+ if (virStrcpyStatic(seclabel->label, "libvirt-test") < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("security label exceeds maximum: %zu"),
+ sizeof(seclabel->label) - 1);
+ goto cleanup;
+ }
+
+ seclabel->enforcing = 1;
+ }
+
+ ret = 0;
+
+ cleanup:
+ virDomainObjEndAPI(&vm);
+ return ret;
+}
+
static int
testNodeGetSecurityModel(virConnectPtr conn,
virSecurityModelPtr secmodel)
@@ -9326,6 +9356,7 @@ static virHypervisorDriver testHypervisorDriver = {
.domainGetVcpus = testDomainGetVcpus, /* 0.7.3 */
.domainGetVcpuPinInfo = testDomainGetVcpuPinInfo, /* 1.2.18 */
.domainGetMaxVcpus = testDomainGetMaxVcpus, /* 0.7.3 */
+ .domainGetSecurityLabel = testDomainGetSecurityLabel, /* 7.5.0 */
.nodeGetSecurityModel = testNodeGetSecurityModel, /* 7.5.0 */
.domainGetXMLDesc = testDomainGetXMLDesc, /* 0.1.4 */
.domainSetMemoryParameters = testDomainSetMemoryParameters, /* 5.6.0 */
diff --git a/tests/virshtest.c b/tests/virshtest.c
index 119b2ef54d..c1974c46cb 100644
--- a/tests/virshtest.c
+++ b/tests/virshtest.c
@@ -21,6 +21,7 @@ main(void)
#else
# define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
+# define SECURITY_LABEL "libvirt-test (enforcing)"
static const char *dominfo_fc4 = "\
Id: 2\n\
@@ -36,6 +37,7 @@ Autostart: disable\n\
Managed save: no\n\
Security model: testSecurity\n\
Security DOI: \n\
+Security label: " SECURITY_LABEL "\n\
\n";
static const char *domuuid_fc4 = DOM_UUID "\n\n";
static const char *domid_fc4 = "2\n\n";
--
2.31.1