mirror of https://github.com/xemu-project/xemu.git
Revert "tests: qmp-test: add oob test"
This reverts commit d003f7a8f9
.
Enabling OOB caused several iotests failures; due to the imminent
2.12 release, the safest action is to disable OOB, but first we
have to revert tests that rely on OOB.
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180323140821.28957-3-peterx@redhat.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
[eblake: reorder commits, enhance commit message]
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
4c2c101590
commit
4fd78ad793
|
@ -164,70 +164,6 @@ static void test_qmp_protocol(void)
|
||||||
qtest_quit(qts);
|
qtest_quit(qts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tests for Out-Of-Band support. */
|
|
||||||
static void test_qmp_oob(void)
|
|
||||||
{
|
|
||||||
QDict *resp;
|
|
||||||
int acks = 0;
|
|
||||||
const char *cmd_id;
|
|
||||||
|
|
||||||
global_qtest = qtest_init_without_qmp_handshake(common_args);
|
|
||||||
|
|
||||||
/* Ignore the greeting message. */
|
|
||||||
resp = qmp_receive();
|
|
||||||
g_assert(qdict_get_qdict(resp, "QMP"));
|
|
||||||
QDECREF(resp);
|
|
||||||
|
|
||||||
/* Try a fake capability, it should fail. */
|
|
||||||
resp = qmp("{ 'execute': 'qmp_capabilities', "
|
|
||||||
" 'arguments': { 'enable': [ 'cap-does-not-exist' ] } }");
|
|
||||||
g_assert(qdict_haskey(resp, "error"));
|
|
||||||
QDECREF(resp);
|
|
||||||
|
|
||||||
/* Now, enable OOB in current QMP session, it should succeed. */
|
|
||||||
resp = qmp("{ 'execute': 'qmp_capabilities', "
|
|
||||||
" 'arguments': { 'enable': [ 'oob' ] } }");
|
|
||||||
g_assert(qdict_haskey(resp, "return"));
|
|
||||||
QDECREF(resp);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Try any command that does not support OOB but with OOB flag. We
|
|
||||||
* should get failure.
|
|
||||||
*/
|
|
||||||
resp = qmp("{ 'execute': 'query-cpus',"
|
|
||||||
" 'control': { 'run-oob': true } }");
|
|
||||||
g_assert(qdict_haskey(resp, "error"));
|
|
||||||
QDECREF(resp);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* First send the "x-oob-test" command with lock=true and
|
|
||||||
* oob=false, it should hang the dispatcher and main thread;
|
|
||||||
* later, we send another lock=false with oob=true to continue
|
|
||||||
* that thread processing. Finally we should receive replies from
|
|
||||||
* both commands.
|
|
||||||
*/
|
|
||||||
qmp_async("{ 'execute': 'x-oob-test',"
|
|
||||||
" 'arguments': { 'lock': true }, "
|
|
||||||
" 'id': 'lock-cmd'}");
|
|
||||||
qmp_async("{ 'execute': 'x-oob-test', "
|
|
||||||
" 'arguments': { 'lock': false }, "
|
|
||||||
" 'control': { 'run-oob': true }, "
|
|
||||||
" 'id': 'unlock-cmd' }");
|
|
||||||
|
|
||||||
/* Ignore all events. Wait for 2 acks */
|
|
||||||
while (acks < 2) {
|
|
||||||
resp = qmp_receive();
|
|
||||||
cmd_id = qdict_get_str(resp, "id");
|
|
||||||
if (!g_strcmp0(cmd_id, "lock-cmd") ||
|
|
||||||
!g_strcmp0(cmd_id, "unlock-cmd")) {
|
|
||||||
acks++;
|
|
||||||
}
|
|
||||||
QDECREF(resp);
|
|
||||||
}
|
|
||||||
|
|
||||||
qtest_end();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int query_error_class(const char *cmd)
|
static int query_error_class(const char *cmd)
|
||||||
{
|
{
|
||||||
static struct {
|
static struct {
|
||||||
|
@ -412,7 +348,6 @@ int main(int argc, char *argv[])
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
|
|
||||||
qtest_add_func("qmp/protocol", test_qmp_protocol);
|
qtest_add_func("qmp/protocol", test_qmp_protocol);
|
||||||
qtest_add_func("qmp/oob", test_qmp_oob);
|
|
||||||
qmp_schema_init(&schema);
|
qmp_schema_init(&schema);
|
||||||
add_query_tests(&schema);
|
add_query_tests(&schema);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue