mirror of https://gitee.com/openkylin/qemu.git
tests: Add test case for aio_disable_external
Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
507306cc8e
commit
c07bc2c165
|
@ -374,6 +374,29 @@ static void test_flush_event_notifier(void)
|
|||
event_notifier_cleanup(&data.e);
|
||||
}
|
||||
|
||||
static void test_aio_external_client(void)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 1; i < 3; i++) {
|
||||
EventNotifierTestData data = { .n = 0, .active = 10, .auto_set = true };
|
||||
event_notifier_init(&data.e, false);
|
||||
aio_set_event_notifier(ctx, &data.e, true, event_ready_cb);
|
||||
event_notifier_set(&data.e);
|
||||
for (j = 0; j < i; j++) {
|
||||
aio_disable_external(ctx);
|
||||
}
|
||||
for (j = 0; j < i; j++) {
|
||||
assert(!aio_poll(ctx, false));
|
||||
assert(event_notifier_test_and_clear(&data.e));
|
||||
event_notifier_set(&data.e);
|
||||
aio_enable_external(ctx);
|
||||
}
|
||||
assert(aio_poll(ctx, false));
|
||||
event_notifier_cleanup(&data.e);
|
||||
}
|
||||
}
|
||||
|
||||
static void test_wait_event_notifier_noflush(void)
|
||||
{
|
||||
EventNotifierTestData data = { .n = 0 };
|
||||
|
@ -832,6 +855,7 @@ int main(int argc, char **argv)
|
|||
g_test_add_func("/aio/event/wait", test_wait_event_notifier);
|
||||
g_test_add_func("/aio/event/wait/no-flush-cb", test_wait_event_notifier_noflush);
|
||||
g_test_add_func("/aio/event/flush", test_flush_event_notifier);
|
||||
g_test_add_func("/aio/external-client", test_aio_external_client);
|
||||
g_test_add_func("/aio/timer/schedule", test_timer_schedule);
|
||||
|
||||
g_test_add_func("/aio-gsource/flush", test_source_flush);
|
||||
|
|
Loading…
Reference in New Issue