Blame SOURCES/kvm-nbd-Add-some-error-case-testing-to-iotests-223.patch

383d26
From 0237c861ddbb4584443c45436c53e0282ecc10fd Mon Sep 17 00:00:00 2001
383d26
From: John Snow <jsnow@redhat.com>
383d26
Date: Wed, 27 Mar 2019 17:22:26 +0100
383d26
Subject: [PATCH 087/163] nbd: Add some error case testing to iotests 223
383d26
383d26
RH-Author: John Snow <jsnow@redhat.com>
383d26
Message-id: <20190327172308.31077-14-jsnow@redhat.com>
383d26
Patchwork-id: 85175
383d26
O-Subject: [RHEL-7.7 qemu-kvm-rhev PATCH 13/55] nbd: Add some error case testing to iotests 223
383d26
Bugzilla: 1691009
383d26
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
383d26
RH-Acked-by: Max Reitz <mreitz@redhat.com>
383d26
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
383d26
383d26
From: Eric Blake <eblake@redhat.com>
383d26
383d26
Testing success paths is important, but it's also nice to highlight
383d26
expected failure handling, to show that we don't crash, and so that
383d26
upcoming tests that change behavior can demonstrate the resulting
383d26
effects on error paths.
383d26
383d26
Add the following errors:
383d26
Attempting to export without a running server
383d26
Attempting to start a second server
383d26
Attempting to export a bad node name
383d26
Attempting to export a name that is already exported
383d26
Attempting to export an enabled bitmap
383d26
Attempting to remove an already removed export
383d26
Attempting to quit server a second time
383d26
383d26
All of these properly complain except for a second server-stop,
383d26
which will be fixed next.
383d26
383d26
Signed-off-by: Eric Blake <eblake@redhat.com>
383d26
Message-Id: <20190111194720.15671-2-eblake@redhat.com>
383d26
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
383d26
(cherry picked from commit 2d2fd67428f0cfbffea16969d2635af3e2d78d3d)
383d26
Signed-off-by: John Snow <jsnow@redhat.com>
383d26
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
383d26
---
383d26
 tests/qemu-iotests/223     | 19 +++++++++++++++++--
383d26
 tests/qemu-iotests/223.out |  7 +++++++
383d26
 2 files changed, 24 insertions(+), 2 deletions(-)
383d26
383d26
diff --git a/tests/qemu-iotests/223 b/tests/qemu-iotests/223
383d26
index 5513dc6..61b46a2 100755
383d26
--- a/tests/qemu-iotests/223
383d26
+++ b/tests/qemu-iotests/223
383d26
@@ -107,6 +107,7 @@ echo
383d26
 
383d26
 _launch_qemu 2> >(_filter_nbd)
383d26
 
383d26
+# Intentionally provoke some errors as well, to check error handling
383d26
 silent=
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"qmp_capabilities"}' "return"
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"blockdev-add",
383d26
@@ -114,18 +115,29 @@ _send_qemu_cmd $QEMU_HANDLE '{"execute":"blockdev-add",
383d26
     "file":{"driver":"file", "filename":"'"$TEST_IMG"'"}}}' "return"
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"block-dirty-bitmap-disable",
383d26
   "arguments":{"node":"n", "name":"b"}}' "return"
383d26
-_send_qemu_cmd $QEMU_HANDLE '{"execute":"block-dirty-bitmap-disable",
383d26
-  "arguments":{"node":"n", "name":"b2"}}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
383d26
+  "arguments":{"device":"n"}}' "error" # Attempt add without server
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-start",
383d26
   "arguments":{"addr":{"type":"unix",
383d26
     "data":{"path":"'"$TEST_DIR/nbd"'"}}}}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-start",
383d26
+  "arguments":{"addr":{"type":"unix",
383d26
+    "data":{"path":"'"$TEST_DIR/nbd"1'"}}}}' "error" # Attempt second server
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
383d26
   "arguments":{"device":"n"}}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
383d26
+  "arguments":{"device":"nosuch"}}' "error" # Attempt to export missing node
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
383d26
+  "arguments":{"device":"n"}}' "error" # Attempt to export same name twice
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"x-nbd-server-add-bitmap",
383d26
   "arguments":{"name":"n", "bitmap":"b"}}' "return"
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-add",
383d26
   "arguments":{"device":"n", "name":"n2"}}' "return"
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"x-nbd-server-add-bitmap",
383d26
+  "arguments":{"name":"n2", "bitmap":"b2"}}' "error" # Attempt enabled bitmap
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"block-dirty-bitmap-disable",
383d26
+  "arguments":{"node":"n", "name":"b2"}}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"x-nbd-server-add-bitmap",
383d26
   "arguments":{"name":"n2", "bitmap":"b2"}}' "return"
383d26
 
383d26
 echo
383d26
@@ -157,7 +169,10 @@ _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-remove",
383d26
   "arguments":{"name":"n"}}' "return"
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-remove",
383d26
   "arguments":{"name":"n2"}}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-remove",
383d26
+  "arguments":{"name":"n2"}}' "error" # Attempt duplicate clean
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-stop"}' "return"
383d26
+_send_qemu_cmd $QEMU_HANDLE '{"execute":"nbd-server-stop"}' "return" # Oops
383d26
 _send_qemu_cmd $QEMU_HANDLE '{"execute":"quit"}' "return"
383d26
 
383d26
 # success, all done
383d26
diff --git a/tests/qemu-iotests/223.out b/tests/qemu-iotests/223.out
383d26
index de41747..c1eed62 100644
383d26
--- a/tests/qemu-iotests/223.out
383d26
+++ b/tests/qemu-iotests/223.out
383d26
@@ -27,10 +27,15 @@ wrote 2097152/2097152 bytes at offset 2097152
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
+{"error": {"class": "GenericError", "desc": "NBD server not running"}}
383d26
 {"return": {}}
383d26
+{"error": {"class": "GenericError", "desc": "NBD server already running"}}
383d26
 {"return": {}}
383d26
+{"error": {"class": "GenericError", "desc": "Cannot find device=nosuch nor node_name=nosuch"}}
383d26
+{"error": {"class": "GenericError", "desc": "NBD server already has export named 'n'"}}
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
+{"error": {"class": "GenericError", "desc": "Bitmap 'b2' is enabled"}}
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
 
383d26
@@ -62,6 +67,8 @@ read 2097152/2097152 bytes at offset 2097152
383d26
 
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
+{"error": {"class": "GenericError", "desc": "Export 'n2' is not found"}}
383d26
+{"return": {}}
383d26
 {"return": {}}
383d26
 {"return": {}}
383d26
 *** done
383d26
-- 
383d26
1.8.3.1
383d26