Commit 2c58c27b authored by Markus Armbruster's avatar Markus Armbruster Committed by Thomas Huth
Browse files

tests: Clean up wait for event



We still use hacks like qmp("") to wait for an event, even though we
have qmp_eventwait() since commit 8fe941f7, and qmp_eventwait_ref()
since commit 7ffe3124.  Both commits neglected to convert all the
existing hacks.  Make up what they missed.

Bonus: gets rid of empty format strings.  A step towards compile-time
format string checking without triggering -Wformat-zero-length.

Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: default avatarEric Blake <eblake@redhat.com>
[thuth: dropped the hunks from the usb tests - not needed anymore]
Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
parent bec9c64e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ static void test_a_boot_order(const char *machine,
     * system_reset only requests reset.  We get a RESET event after
     * the actual reset completes.  Need to wait for that.
     */
    qmp_discard_response("");   /* HACK: wait for event */
    qmp_eventwait("RESET");
    actual = read_boot_order();
    g_assert_cmphex(actual, ==, expected_reboot);
    qtest_quit(global_qtest);
+1 −5
Original line number Diff line number Diff line
@@ -173,9 +173,5 @@ void qpci_unplug_acpi_device_test(const char *id, uint8_t slot)

    outb(ACPI_PCIHP_ADDR + PCI_EJ_BASE, 1 << slot);

    response = qmp("");
    g_assert(response);
    g_assert(qdict_haskey(response, "event"));
    g_assert(!strcmp(qdict_get_str(response, "event"), "DEVICE_DELETED"));
    QDECREF(response);
    qmp_eventwait("DEVICE_DELETED");
}
+1 −2
Original line number Diff line number Diff line
@@ -237,9 +237,8 @@ static void test_tco_max_timeout(void)

static QDict *get_watchdog_action(void)
{
    QDict *ev = qmp("");
    QDict *ev = qmp_eventwait_ref("WATCHDOG");
    QDict *data;
    g_assert(!strcmp(qdict_get_str(ev, "event"), "WATCHDOG"));

    data = qdict_get_qdict(ev, "data");
    QINCREF(data);
+10 −25
Original line number Diff line number Diff line
@@ -19,26 +19,10 @@ static void qmp_check_no_event(void)
    QDECREF(resp);
}

static QDict *qmp_get_event(const char *name)
{
    QDict *event = qmp("");
    QDict *data;
    g_assert(qdict_haskey(event, "event"));
    g_assert(!strcmp(qdict_get_str(event, "event"), name));

    if (qdict_haskey(event, "data")) {
        data = qdict_get_qdict(event, "data");
        QINCREF(data);
    } else {
        data = NULL;
    }

    QDECREF(event);
    return data;
}

static QDict *ib700_program_and_wait(QTestState *s)
{
    QDict *event, *data;

    clock_step(NANOSECONDS_PER_SECOND * 40);
    qmp_check_no_event();

@@ -62,7 +46,11 @@ static QDict *ib700_program_and_wait(QTestState *s)
    clock_step(3 * NANOSECONDS_PER_SECOND);
    qmp_check_no_event();
    clock_step(2 * NANOSECONDS_PER_SECOND);
    return qmp_get_event("WATCHDOG");
    event = qmp_eventwait_ref("WATCHDOG");
    data = qdict_get_qdict(event, "data");
    QINCREF(data);
    QDECREF(event);
    return data;
}


@@ -74,8 +62,7 @@ static void ib700_pause(void)
    d = ib700_program_and_wait(s);
    g_assert(!strcmp(qdict_get_str(d, "action"), "pause"));
    QDECREF(d);
    d = qmp_get_event("STOP");
    QDECREF(d);
    qmp_eventwait("STOP");
    qtest_end();
}

@@ -87,8 +74,7 @@ static void ib700_reset(void)
    d = ib700_program_and_wait(s);
    g_assert(!strcmp(qdict_get_str(d, "action"), "reset"));
    QDECREF(d);
    d = qmp_get_event("RESET");
    QDECREF(d);
    qmp_eventwait("RESET");
    qtest_end();
}

@@ -100,8 +86,7 @@ static void ib700_shutdown(void)
    d = ib700_program_and_wait(s);
    g_assert(!strcmp(qdict_get_str(d, "action"), "reset"));
    QDECREF(d);
    d = qmp_get_event("SHUTDOWN");
    QDECREF(d);
    qmp_eventwait("SHUTDOWN");
    qtest_end();
}