]> xenbits.xensource.com Git - libvirt.git/commitdiff
test driver: Implement testNodeGetFreeMemory
authorTomáš Ryšavý <tom.rysavy.0@gmail.com>
Thu, 15 Sep 2016 08:27:07 +0000 (10:27 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 15 Sep 2016 13:28:22 +0000 (15:28 +0200)
Signed-off-by: Tomáš Ryšavý <tom.rysavy.0@gmail.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/test/test_driver.c

index 7ff8e28cdb894f611d0192ae9cce219c78fe9d35..310f2ee180c490219435c84ea88aa799da2ff789 100644 (file)
@@ -74,6 +74,7 @@ VIR_LOG_INIT("test.test_driver");
 
 struct _testCell {
     unsigned long mem;
+    unsigned long freeMem;
     int numCpus;
     virCapsHostNUMACellCPU cpus[MAX_CPUS];
 };
@@ -1268,6 +1269,7 @@ testOpenDefault(virConnectPtr conn)
     for (u = 0; u < privconn->numCells; ++u) {
         privconn->cells[u].numCpus = 8;
         privconn->cells[u].mem = (u + 1) * 2048 * 1024;
+        privconn->cells[u].freeMem = (u + 1) * 1024 * 1024;
     }
     for (u = 0; u < 16; u++) {
         virBitmapPtr siblings = virBitmapNew(16);
@@ -2756,6 +2758,22 @@ testNodeGetCPUStats(virConnectPtr conn ATTRIBUTE_UNUSED,
     return 0;
 }
 
+static unsigned long long
+testNodeGetFreeMemory(virConnectPtr conn)
+{
+    testDriverPtr privconn = conn->privateData;
+    unsigned int freeMem = 0;
+    size_t i;
+
+    testDriverLock(privconn);
+
+    for (i = 0; i < privconn->numCells; i++)
+        freeMem += privconn->cells[i].freeMem;
+
+    testDriverUnlock(privconn);
+    return freeMem;
+}
+
 static int testDomainCreateWithFlags(virDomainPtr domain, unsigned int flags)
 {
     testDriverPtr privconn = domain->conn->privateData;
@@ -6748,6 +6766,7 @@ static virHypervisorDriver testHypervisorDriver = {
     .connectGetMaxVcpus = testConnectGetMaxVcpus, /* 0.3.2 */
     .nodeGetInfo = testNodeGetInfo, /* 0.1.1 */
     .nodeGetCPUStats = testNodeGetCPUStats, /* 2.3.0 */
+    .nodeGetFreeMemory = testNodeGetFreeMemory, /* 2.3.0 */
     .connectGetCapabilities = testConnectGetCapabilities, /* 0.2.1 */
     .connectGetSysinfo = testConnectGetSysinfo, /* 2.3.0 */
     .connectGetType = testConnectGetType, /* 2.3.0 */