[PATCH RFC v3 06/16] tests: Test qemuMonitorJSONGetThrottleGroup and qemuMonitorJSONUpdateThrottleGroup

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

 



From: Chun Feng Wu <wucf@xxxxxxxxxxxxx>

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

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

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 45cee23798..7e034234c6 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -1853,6 +1853,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\": \"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)
 {
@@ -2899,6 +2984,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.34.1



[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