Signed-off-by: Tomáš Ryšavý <tom.rysavy.0(a)gmail.com>
---
src/test/test_driver.c | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 811bbeb..a55519f 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -63,6 +63,7 @@
#include "virauth.h"
#include "viratomic.h"
#include "virdomainobjlist.h"
+#include "virhostcpu.h"
#define VIR_FROM_THIS VIR_FROM_TEST
@@ -2710,6 +2711,44 @@ static int testNodeGetCellsFreeMemory(virConnectPtr conn,
return ret;
}
+#define TEST_NB_CPU_STATS 4
+
+static int
+testNodeGetCPUStats(virConnectPtr conn ATTRIBUTE_UNUSED,
+ int cpuNum ATTRIBUTE_UNUSED,
+ virNodeCPUStatsPtr params,
+ int *nparams,
+ unsigned int flags)
+{
+ size_t i = 0;
+
+ virCheckFlags(0, -1);
+
+ if (params == NULL) {
+ *nparams = TEST_NB_CPU_STATS;
+ return 0;
+ }
+
+ for (i = 0; i < *nparams && i < 4; i++) {
+ switch (i) {
+ case 0:
+ virHostCPUStatsAssign(¶ms[0], VIR_NODE_CPU_STATS_USER, 9797400000);
+ break;
+ case 1:
+ virHostCPUStatsAssign(¶ms[1], VIR_NODE_CPU_STATS_KERNEL,
34678723400000);
+ break;
+ case 2:
+ virHostCPUStatsAssign(¶ms[2], VIR_NODE_CPU_STATS_IDLE, 87264900000);
+ break;
+ case 3:
+ virHostCPUStatsAssign(¶ms[3], VIR_NODE_CPU_STATS_IOWAIT, 763600000);
+ break;
+ }
+ }
+
+ *nparams = i;
+ return 0;
+}
static int testDomainCreateWithFlags(virDomainPtr domain, unsigned int flags)
{
@@ -6702,6 +6741,7 @@ static virHypervisorDriver testHypervisorDriver = {
.connectGetHostname = testConnectGetHostname, /* 0.6.3 */
.connectGetMaxVcpus = testConnectGetMaxVcpus, /* 0.3.2 */
.nodeGetInfo = testNodeGetInfo, /* 0.1.1 */
+ .nodeGetCPUStats = testNodeGetCPUStats, /* 2.3.0 */
.connectGetCapabilities = testConnectGetCapabilities, /* 0.2.1 */
.connectGetSysinfo = testConnectGetSysinfo, /* 2.3.0 */
.connectGetType = testConnectGetType, /* 2.3.0 */
--
2.9.3