tests/drive_del-test: Fix harmless JSON interpolation bug
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 commit2f84a92ec6
. Fix the obvious way. The command now fails because the drive is empty, like it did before commit2f84a92ec6
. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180823164025.12553-55-armbru@redhat.com>
This commit is contained in:
parent
86cdf9ec8d
commit
83273e84d9
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user