[libvirt] [PATCH v2 2/2] tests: qemumonitorjson: Old and empty test case for node name detection

Peter Krempa pkrempa at redhat.com
Fri Jul 28 10:43:45 UTC 2017


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          |   0
 .../qemumonitorjson-nodename-old-blockstats.json   | 160 +++++++++++++++++++++
 .../qemumonitorjson-nodename-old-named-nodes.json  |   2 +
 .../qemumonitorjson-nodename-old.result            |   0
 tests/qemumonitorjsontest.c                        |   2 +
 7 files changed, 168 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..e69de29bb
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..e69de29bb
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index f2090a4ca..df3ef0a93 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -2933,6 +2933,8 @@ mymain(void)
     DO_TEST_BLOCK_NODE_DETECT("blockjob");
     DO_TEST_BLOCK_NODE_DETECT("luks");
     DO_TEST_BLOCK_NODE_DETECT("iscsi");
+    DO_TEST_BLOCK_NODE_DETECT("old");
+    DO_TEST_BLOCK_NODE_DETECT("empty");

 #undef DO_TEST_BLOCK_NODE_DETECT

-- 
2.13.2




More information about the libvir-list mailing list