[PATCH 22/24] tests: qemumonitorjson: Old and empty test case for node name detection

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

 



Prior to qemu 2.5 the node names would not be generated, thus would be
missing from 'query-blockstats' and 'query-named-block-nodes'. Test that
the code correctly detects nothing.

Additionally make sure that a VM without disks does not cause problems.

The test case change is necessary as our test file checker does not play
well with empty files.
---
 .../qemumonitorjson-nodename-empty-blockstats.json |   2 +
 ...qemumonitorjson-nodename-empty-named-nodes.json |   2 +
 .../qemumonitorjson-nodename-empty.result          |   1 +
 .../qemumonitorjson-nodename-old-blockstats.json   | 160 +++++++++++++++++++++
 .../qemumonitorjson-nodename-old-named-nodes.json  |   2 +
 .../qemumonitorjson-nodename-old.result            |   1 +
 tests/qemumonitorjsontest.c                        |   5 +
 7 files changed, 173 insertions(+)
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json
 create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result

diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result
new file mode 100644
index 000000000..9dafe9be2
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result
@@ -0,0 +1 @@
+nothing
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json
new file mode 100644
index 000000000..26c14f9f2
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json
@@ -0,0 +1,160 @@
+[
+    {
+      "device": "drive-virtio-disk0",
+      "parent": {
+        "stats": {
+          "flush_total_time_ns": 0,
+          "wr_highest_offset": 32899072,
+          "wr_total_time_ns": 0,
+          "failed_wr_operations": 0,
+          "failed_rd_operations": 0,
+          "wr_merged": 0,
+          "wr_bytes": 0,
+          "timed_stats": [
+
+          ],
+          "failed_flush_operations": 0,
+          "account_invalid": false,
+          "rd_total_time_ns": 0,
+          "flush_operations": 0,
+          "wr_operations": 0,
+          "rd_merged": 0,
+          "rd_bytes": 0,
+          "invalid_flush_operations": 0,
+          "account_failed": false,
+          "rd_operations": 0,
+          "invalid_wr_operations": 0,
+          "invalid_rd_operations": 0
+        }
+      },
+      "stats": {
+        "flush_total_time_ns": 452246313,
+        "wr_highest_offset": 8072282112,
+        "wr_total_time_ns": 4803102521,
+        "failed_wr_operations": 0,
+        "failed_rd_operations": 0,
+        "wr_merged": 8,
+        "wr_bytes": 6517248,
+        "timed_stats": [
+
+        ],
+        "failed_flush_operations": 0,
+        "account_invalid": true,
+        "rd_total_time_ns": 11065169148,
+        "flush_operations": 10,
+        "wr_operations": 129,
+        "rd_merged": 77,
+        "rd_bytes": 76399104,
+        "invalid_flush_operations": 0,
+        "account_failed": true,
+        "idle_time_ns": 22663656304,
+        "rd_operations": 4038,
+        "invalid_wr_operations": 0,
+        "invalid_rd_operations": 0
+      },
+      "backing": {
+        "parent": {
+          "stats": {
+            "flush_total_time_ns": 0,
+            "wr_highest_offset": 0,
+            "wr_total_time_ns": 0,
+            "failed_wr_operations": 0,
+            "failed_rd_operations": 0,
+            "wr_merged": 0,
+            "wr_bytes": 0,
+            "timed_stats": [
+
+            ],
+            "failed_flush_operations": 0,
+            "account_invalid": false,
+            "rd_total_time_ns": 0,
+            "flush_operations": 0,
+            "wr_operations": 0,
+            "rd_merged": 0,
+            "rd_bytes": 0,
+            "invalid_flush_operations": 0,
+            "account_failed": false,
+            "rd_operations": 0,
+            "invalid_wr_operations": 0,
+            "invalid_rd_operations": 0
+          }
+        },
+        "stats": {
+          "flush_total_time_ns": 0,
+          "wr_highest_offset": 0,
+          "wr_total_time_ns": 0,
+          "failed_wr_operations": 0,
+          "failed_rd_operations": 0,
+          "wr_merged": 0,
+          "wr_bytes": 0,
+          "timed_stats": [
+
+          ],
+          "failed_flush_operations": 0,
+          "account_invalid": false,
+          "rd_total_time_ns": 0,
+          "flush_operations": 0,
+          "wr_operations": 0,
+          "rd_merged": 0,
+          "rd_bytes": 0,
+          "invalid_flush_operations": 0,
+          "account_failed": false,
+          "rd_operations": 0,
+          "invalid_wr_operations": 0,
+          "invalid_rd_operations": 0
+        },
+        "backing": {
+          "parent": {
+            "stats": {
+              "flush_total_time_ns": 0,
+              "wr_highest_offset": 0,
+              "wr_total_time_ns": 0,
+              "failed_wr_operations": 0,
+              "failed_rd_operations": 0,
+              "wr_merged": 0,
+              "wr_bytes": 0,
+              "timed_stats": [
+
+              ],
+              "failed_flush_operations": 0,
+              "account_invalid": false,
+              "rd_total_time_ns": 0,
+              "flush_operations": 0,
+              "wr_operations": 0,
+              "rd_merged": 0,
+              "rd_bytes": 0,
+              "invalid_flush_operations": 0,
+              "account_failed": false,
+              "rd_operations": 0,
+              "invalid_wr_operations": 0,
+              "invalid_rd_operations": 0
+            }
+          },
+          "stats": {
+            "flush_total_time_ns": 0,
+            "wr_highest_offset": 0,
+            "wr_total_time_ns": 0,
+            "failed_wr_operations": 0,
+            "failed_rd_operations": 0,
+            "wr_merged": 0,
+            "wr_bytes": 0,
+            "timed_stats": [
+
+            ],
+            "failed_flush_operations": 0,
+            "account_invalid": false,
+            "rd_total_time_ns": 0,
+            "flush_operations": 0,
+            "wr_operations": 0,
+            "rd_merged": 0,
+            "rd_bytes": 0,
+            "invalid_flush_operations": 0,
+            "account_failed": false,
+            "rd_operations": 0,
+            "invalid_wr_operations": 0,
+            "invalid_rd_operations": 0
+          }
+        }
+      }
+    }
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json
new file mode 100644
index 000000000..0d4f101c7
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json
@@ -0,0 +1,2 @@
+[
+]
diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result
new file mode 100644
index 000000000..9dafe9be2
--- /dev/null
+++ b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result
@@ -0,0 +1 @@
+nothing
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 0601c1188..06d97989e 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2763,6 +2763,9 @@ testBlockNodeNameDetect(const void *opaque)

     virBufferTrim(&buf, "\n", -1);

+    if (virBufferUse(&buf) == 0)
+        virBufferAddLit(&buf, "nothing\n");
+
     if (virBufferCheckError(&buf) < 0)
         goto cleanup;

@@ -2931,6 +2934,8 @@ mymain(void)
     DO_TEST_BLOCK_NODE_DETECT("relative");
     DO_TEST_BLOCK_NODE_DETECT("gluster");
     DO_TEST_BLOCK_NODE_DETECT("blockjob");
+    DO_TEST_BLOCK_NODE_DETECT("old");
+    DO_TEST_BLOCK_NODE_DETECT("empty");

 #undef DO_TEST_BLOCK_NODE_DETECT

-- 
2.13.2

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[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