[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 54/58] tests/drive_del-test: Fix harmless JSON in
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v3 54/58] tests/drive_del-test: Fix harmless JSON interpolation bug |
Date: |
Thu, 23 Aug 2018 18:40:21 +0200 |
test_after_failed_device_add() does this:
response = qmp("{'execute': 'device_add',"
" 'arguments': {"
" 'driver': 'virtio-blk-%s',"
" 'drive': 'drive0'"
"}}", qvirtio_get_dev_type());
Wrong. An interpolation specification must be a JSON token, it
doesn't work within JSON string tokens. The code above doesn't use
the value of qvirtio_get_dev_type(), and sends arguments
{"driver": "virtio-blk-%s", "drive": "drive0"}}
The command fails because there is no driver named "virtio-blk-%".
Harmless, since the test wants the command to fail. Screwed up in
commit 2f84a92ec63.
Fix the obvious way. The command now fails because the drive is
empty, like it did before commit 2f84a92ec63.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
tests/drive_del-test.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/drive_del-test.c b/tests/drive_del-test.c
index 2d0b176b36..673c10140f 100644
--- a/tests/drive_del-test.c
+++ b/tests/drive_del-test.c
@@ -65,9 +65,13 @@ static void test_drive_without_dev(void)
static void test_after_failed_device_add(void)
{
+ char driver[32];
QDict *response;
QDict *error;
+ snprintf(driver, sizeof(driver), "virtio-blk-%s",
+ qvirtio_get_dev_type());
+
qtest_start("-drive if=none,id=drive0");
/* Make device_add fail. If this leaks the virtio-blk device then a
@@ -75,9 +79,9 @@ static void test_after_failed_device_add(void)
*/
response = qmp("{'execute': 'device_add',"
" 'arguments': {"
- " 'driver': 'virtio-blk-%s',"
+ " 'driver': %s,"
" 'drive': 'drive0'"
- "}}", qvirtio_get_dev_type());
+ "}}", driver);
g_assert(response);
error = qdict_get_qdict(response, "error");
g_assert_cmpstr(qdict_get_try_str(error, "class"), ==, "GenericError");
--
2.17.1
- [Qemu-devel] [PATCH v3 49/58] json: Streamline json_message_process_token(), (continued)
- [Qemu-devel] [PATCH v3 49/58] json: Streamline json_message_process_token(), Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 47/58] qjson: Have qobject_from_json() & friends reject empty and blank, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 46/58] json: Assert json_parser_parse() consumes all tokens on success, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 42/58] json: Improve names of lexer states related to numbers, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 51/58] json: Make JSONToken opaque outside json-parser.c, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 43/58] qjson: Fix qobject_from_json() & friends for multiple values, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 48/58] json: Enforce token count and size limits more tightly, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 38/58] json: Treat unwanted interpolation as lexical error, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 57/58] json: Support %% in JSON strings when interpolating, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 53/58] json: Clean up headers, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 54/58] tests/drive_del-test: Fix harmless JSON interpolation bug,
Markus Armbruster <=
- [Qemu-devel] [PATCH v3 58/58] json: Update references to RFC 7159 to RFC 8259, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 52/58] qobject: Drop superfluous includes of qemu-common.h, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 50/58] json: Unbox tokens queue in JSONMessageParser, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 56/58] json: Improve safety of qobject_from_jsonf_nofail() & friends, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 45/58] json: Fix streamer not to ignore trailing unterminated structures, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 55/58] json: Keep interpolation state in JSONParserContext, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 40/58] json: Leave rejecting invalid interpolation to parser, Markus Armbruster, 2018/08/23
- [Qemu-devel] [PATCH v3 41/58] json: Replace %I64d, %I64u by %PRId64, %PRIu64, Markus Armbruster, 2018/08/23