[PATCH v5 06/18] tests: Test qemuMonitorJSONGetThrottleGroup and qemuMonitorJSONUpdateThrottleGroup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Chun Feng Wu <danielwuwy@xxxxxxx>

Within "testQemuMonitorJSONqemuMonitorJSONUpdateThrottleGroup"
* Test qemuMonitorJSONGetThrottleGroup
* Test qemuMonitorJSONUpdateThrottleGroup, which updates limits through "qom-set"

Signed-off-by: Chun Feng Wu <danielwuwy@xxxxxxx>
---
 tests/qemumonitorjsontest.c | 86 +++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index f7fe0fb6f4..cf6fce3d77 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -1884,6 +1884,91 @@ testQemuMonitorJSONqemuMonitorJSONSetBlockIoThrottle(const void *opaque)
     return ret;
 }
 
+
+static int
+testQemuMonitorJSONqemuMonitorJSONUpdateThrottleGroup(const void *opaque)
+{
+    const testGenericData *data = opaque;
+    virDomainXMLOption *xmlopt = data->xmlopt;
+    virDomainBlockIoTuneInfo info, expectedInfo;
+    g_autoptr(qemuMonitorTest) test = NULL;
+
+    if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
+        return -1;
+
+    expectedInfo = (virDomainBlockIoTuneInfo) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NULL, 15, 16, 17, 18, 19, 20};
+    expectedInfo.group_name = g_strdup("limit0");
+
+    if (qemuMonitorTestAddItem(test, "qom-get",
+                               "{"
+                               "    \"return\": {"
+                               "           \"bps-total\": 1,"
+                               "           \"bps-read\": 2,"
+                               "           \"bps-write\": 3,"
+                               "           \"iops-total\": 4,"
+                               "           \"iops-read\": 5,"
+                               "           \"iops-write\": 6,"
+                               "           \"bps-total-max\": 7,"
+                               "           \"bps-read-max\": 8,"
+                               "           \"bps-write-max\": 9,"
+                               "           \"iops-total-max\": 10,"
+                               "           \"iops-read-max\": 11,"
+                               "           \"iops-write-max\": 12,"
+                               "           \"iops-size\": 13,"
+                               "           \"bps-total-max-length\": 15,"
+                               "           \"bps-read-max-length\": 16,"
+                               "           \"bps-write-max-length\": 17,"
+                               "           \"iops-total-max-length\": 18,"
+                               "           \"iops-read-max-length\": 19,"
+                               "           \"iops-write-max-length\": 20"
+                               "        },"
+                               "    \"id\": \"libvirt-12\""
+                               "}") < 0)
+        return -1;
+
+    if (qemuMonitorTestAddItemVerbatim(test,
+                                       "{\"execute\":\"qom-set\","
+                                       " \"arguments\":{\"property\": \"limits\","
+                                       "                \"path\": \"throttle-limit1\","
+                                       "                \"value\":{\"bps-total\": 1,"
+                                       "                           \"bps-read\": 2,"
+                                       "                           \"bps-write\": 3,"
+                                       "                           \"iops-total\": 4,"
+                                       "                           \"iops-read\": 5,"
+                                       "                           \"iops-write\": 6,"
+                                       "                           \"bps-total-max\": 7,"
+                                       "                           \"bps-read-max\": 8,"
+                                       "                           \"bps-write-max\": 9,"
+                                       "                           \"iops-total-max\": 10,"
+                                       "                           \"iops-read-max\": 11,"
+                                       "                           \"iops-write-max\": 12,"
+                                       "                           \"iops-size\": 13,"
+                                       "                           \"bps-total-max-length\": 15,"
+                                       "                           \"bps-read-max-length\": 16,"
+                                       "                           \"bps-write-max-length\": 17,"
+                                       "                           \"iops-total-max-length\": 18,"
+                                       "                           \"iops-read-max-length\": 19,"
+                                       "                           \"iops-write-max-length\": 20}},"
+                                       " \"id\":\"libvirt-2\"}",
+                                       NULL,
+                                       "{ \"return\" : {}}") < 0)
+        return -1;
+
+    if (qemuMonitorJSONGetThrottleGroup(qemuMonitorTestGetMonitor(test),
+                                          "limit0", &info) < 0)
+        return -1;
+
+    if (testValidateGetBlockIoThrottle(&info, &expectedInfo) < 0)
+        return -1;
+
+    if (qemuMonitorJSONUpdateThrottleGroup(qemuMonitorTestGetMonitor(test),
+                                          "limit1", &info) < 0)
+        return -1;
+
+    return 0;
+}
+
+
 static int
 testQemuMonitorJSONqemuMonitorJSONGetTargetArch(const void *opaque)
 {
@@ -2981,6 +3066,7 @@ mymain(void)
     DO_TEST(qemuMonitorJSONGetMigrationStats);
     DO_TEST(qemuMonitorJSONGetChardevInfo);
     DO_TEST(qemuMonitorJSONSetBlockIoThrottle);
+    DO_TEST(qemuMonitorJSONUpdateThrottleGroup);
     DO_TEST(qemuMonitorJSONGetTargetArch);
     DO_TEST(qemuMonitorJSONGetMigrationCapabilities);
     DO_TEST(qemuMonitorJSONQueryCPUsFast);
-- 
2.39.5 (Apple Git-154)



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux