test: qemu: json: Avoid using the now obsolete functions

Use the new single function instead of calling
qemuMonitorJSONGetBlockStatsInfo and
qemuMonitorJSONGetBlockStatsParamsNumber. This will allow to delete the
functions later while still maintaining coverage.
This commit is contained in:
Peter Krempa 2015-03-10 17:11:22 +01:00
parent e045587dda
commit 3a83dcf43e

View File

@ -1435,11 +1435,9 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockStatsInfo(const void *data)
{ {
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data; virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt); qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
virHashTablePtr blockstats = NULL;
qemuBlockStatsPtr stats;
int ret = -1; int ret = -1;
long long rd_req, rd_bytes, rd_total_times;
long long wr_req, wr_bytes, wr_total_times;
long long flush_req, flush_total_times;
int nparams;
unsigned long long extent; unsigned long long extent;
const char *reply = const char *reply =
@ -1535,24 +1533,26 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockStatsInfo(const void *data)
/* fill in seven times - we are gonna ask seven times later on */ /* fill in seven times - we are gonna ask seven times later on */
if (qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 || if (qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 || qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 || qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0 ||
qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0) qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0)
goto cleanup; goto cleanup;
#define CHECK0(var, value) \ #define CHECK0(var, value) \
if (var != value) { \ if (stats->var != value) { \
virReportError(VIR_ERR_INTERNAL_ERROR, \ virReportError(VIR_ERR_INTERNAL_ERROR, \
"Invalid " #var " value: %lld, expected %d", \ "Invalid " #var " value: %lld, expected %d", \
var, value); \ stats->var, value); \
goto cleanup; \ goto cleanup; \
} }
#define CHECK(RD_REQ, RD_BYTES, RD_TOTAL_TIMES, WR_REQ, WR_BYTES, WR_TOTAL_TIMES, \ #define CHECK(NAME, RD_REQ, RD_BYTES, RD_TOTAL_TIMES, WR_REQ, WR_BYTES, \
FLUSH_REQ, FLUSH_TOTAL_TIMES) \ WR_TOTAL_TIMES, FLUSH_REQ, FLUSH_TOTAL_TIMES) \
if (!(stats = virHashLookup(blockstats, NAME))) { \
virReportError(VIR_ERR_INTERNAL_ERROR, \
"block stats for device '%s' is missing", NAME); \
goto cleanup; \
} \
CHECK0(rd_req, RD_REQ) \ CHECK0(rd_req, RD_REQ) \
CHECK0(rd_bytes, RD_BYTES) \ CHECK0(rd_bytes, RD_BYTES) \
CHECK0(rd_total_times, RD_TOTAL_TIMES) \ CHECK0(rd_total_times, RD_TOTAL_TIMES) \
@ -1562,41 +1562,20 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockStatsInfo(const void *data)
CHECK0(flush_req, FLUSH_REQ) \ CHECK0(flush_req, FLUSH_REQ) \
CHECK0(flush_total_times, FLUSH_TOTAL_TIMES) CHECK0(flush_total_times, FLUSH_TOTAL_TIMES)
if (qemuMonitorJSONGetBlockStatsInfo(qemuMonitorTestGetMonitor(test), "virtio-disk0", if (qemuMonitorGetAllBlockStatsInfo(qemuMonitorTestGetMonitor(test),
&rd_req, &rd_bytes, &rd_total_times, &blockstats, false) < 0)
&wr_req, &wr_bytes, &wr_total_times,
&flush_req, &flush_total_times) < 0)
goto cleanup; goto cleanup;
CHECK(1279, 28505088, 640616474, 174, 2845696, 530699221, 0, 0) if (!blockstats) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
if (qemuMonitorJSONGetBlockStatsInfo(qemuMonitorTestGetMonitor(test), "virtio-disk1", "qemuMonitorJSONGetBlockStatsInfo didn't return stats");
&rd_req, &rd_bytes, &rd_total_times,
&wr_req, &wr_bytes, &wr_total_times,
&flush_req, &flush_total_times) < 0)
goto cleanup;
CHECK(85, 348160, 8232156, 0, 0, 0, 0, 0)
if (qemuMonitorJSONGetBlockStatsInfo(qemuMonitorTestGetMonitor(test), "ide0-1-0",
&rd_req, &rd_bytes, &rd_total_times,
&wr_req, &wr_bytes, &wr_total_times,
&flush_req, &flush_total_times) < 0)
goto cleanup;
CHECK(16, 49250, 1004952, 0, 0, 0, 0, 0)
if (qemuMonitorJSONGetBlockStatsParamsNumber(qemuMonitorTestGetMonitor(test),
&nparams) < 0)
goto cleanup;
if (nparams != 8) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"Invalid number of stats: %d, expected 8",
nparams);
goto cleanup; goto cleanup;
} }
CHECK("virtio-disk0", 1279, 28505088, 640616474, 174, 2845696, 530699221, 0, 0)
CHECK("virtio-disk1", 85, 348160, 8232156, 0, 0, 0, 0, 0)
CHECK("ide0-1-0", 16, 49250, 1004952, 0, 0, 0, 0, 0)
if (qemuMonitorJSONGetBlockExtent(qemuMonitorTestGetMonitor(test), "virtio-disk0", if (qemuMonitorJSONGetBlockExtent(qemuMonitorTestGetMonitor(test), "virtio-disk0",
&extent) < 0) &extent) < 0)
goto cleanup; goto cleanup;
@ -1637,6 +1616,7 @@ testQemuMonitorJSONqemuMonitorJSONGetBlockStatsInfo(const void *data)
cleanup: cleanup:
qemuMonitorTestFree(test); qemuMonitorTestFree(test);
virHashFree(blockstats);
return ret; return ret;
} }