Monday, 18 November
2024
Mon, 18 Nov
'24
7:54 a.m.
From: Chun Feng Wu <danielwuwy(a)163.com>
Within "testQemuMonitorJSONqemuMonitorJSONUpdateThrottleGroup"
* Test qemuMonitorJSONGetThrottleGroup
* Test qemuMonitorJSONUpdateThrottleGroup, which updates limits through
"qom-set"
Signed-off-by: Chun Feng Wu <danielwuwy(a)163.com>
---
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)