From 7064fd6270d2961ce86710a52b7ef6ee133b44b7 Mon Sep 17 00:00:00 2001 From: Ilias Stamatis Date: Tue, 2 Jul 2019 15:49:42 +0200 Subject: [PATCH] test_driver: implement virDomainGetMemoryParameters Signed-off-by: Ilias Stamatis Reviewed-by: Erik Skultety --- src/test/test_driver.c | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 2371581f51..31b58f337e 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -2855,6 +2855,52 @@ static char *testDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) return ret; } + +#define TEST_SET_PARAM(index, name, type, value) \ + if (index < *nparams && \ + virTypedParameterAssign(¶ms[index], name, type, value) < 0) \ + goto cleanup + +static int +testDomainGetMemoryParameters(virDomainPtr dom, + virTypedParameterPtr params, + int *nparams, + unsigned int flags) +{ + int ret = -1; + virDomainObjPtr vm = NULL; + virDomainDefPtr def = NULL; + + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG | + VIR_TYPED_PARAM_STRING_OKAY, -1); + + if ((*nparams) == 0) { + *nparams = 3; + return 0; + } + + if (!(vm = testDomObjFromDomain(dom))) + goto cleanup; + + if (!(def = virDomainObjGetOneDef(vm, flags))) + goto cleanup; + + TEST_SET_PARAM(0, VIR_DOMAIN_MEMORY_HARD_LIMIT, VIR_TYPED_PARAM_ULLONG, def->mem.hard_limit); + TEST_SET_PARAM(1, VIR_DOMAIN_MEMORY_SOFT_LIMIT, VIR_TYPED_PARAM_ULLONG, def->mem.soft_limit); + TEST_SET_PARAM(2, VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT, VIR_TYPED_PARAM_ULLONG, def->mem.swap_hard_limit); + + if (*nparams > 3) + *nparams = 3; + + ret = 0; + cleanup: + virDomainObjEndAPI(&vm); + return ret; +} +#undef TEST_SET_PARAM + + static int testConnectNumOfDefinedDomains(virConnectPtr conn) { testDriverPtr privconn = conn->privateData; @@ -7467,6 +7513,7 @@ static virHypervisorDriver testHypervisorDriver = { .domainGetVcpuPinInfo = testDomainGetVcpuPinInfo, /* 1.2.18 */ .domainGetMaxVcpus = testDomainGetMaxVcpus, /* 0.7.3 */ .domainGetXMLDesc = testDomainGetXMLDesc, /* 0.1.4 */ + .domainGetMemoryParameters = testDomainGetMemoryParameters, /* 5.6.0 */ .connectListDefinedDomains = testConnectListDefinedDomains, /* 0.1.11 */ .connectNumOfDefinedDomains = testConnectNumOfDefinedDomains, /* 0.1.11 */ .domainCreate = testDomainCreate, /* 0.1.11 */