[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL for-2.1 05/22] test-aio: fix GSource-based timer test
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL for-2.1 05/22] test-aio: fix GSource-based timer test |
Date: |
Thu, 10 Jul 2014 14:35:10 +0200 |
From: Paolo Bonzini <address@hidden>
The current test depends too much on the implementation of the AioContext
GSource. Just iterate on the main loop until the callback has been invoked
the right number of times.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
tests/test-aio.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/tests/test-aio.c b/tests/test-aio.c
index e5f8b55..264dab9 100644
--- a/tests/test-aio.c
+++ b/tests/test-aio.c
@@ -806,17 +806,16 @@ static void test_source_timer_schedule(void)
g_usleep(1 * G_USEC_PER_SEC);
g_assert_cmpint(data.n, ==, 0);
- g_assert(g_main_context_iteration(NULL, false));
+ g_assert(g_main_context_iteration(NULL, true));
g_assert_cmpint(data.n, ==, 1);
+ expiry += data.ns;
- /* The comment above was not kidding when it said this wakes up itself */
- do {
- g_assert(g_main_context_iteration(NULL, true));
- } while (qemu_clock_get_ns(data.clock_type) <= expiry);
- g_usleep(1 * G_USEC_PER_SEC);
- g_main_context_iteration(NULL, false);
+ while (data.n < 2) {
+ g_main_context_iteration(NULL, true);
+ }
g_assert_cmpint(data.n, ==, 2);
+ g_assert(qemu_clock_get_ns(data.clock_type) > expiry);
aio_set_fd_handler(ctx, pipefd[0], NULL, NULL, NULL);
close(pipefd[0]);
--
1.8.3.1
- [Qemu-devel] [PULL for-2.1 00/22] Block patches for 2.1.0-rc2, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 01/22] block/backup: Fix hang for unaligned image size, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 03/22] block: prefer aio_poll to qemu_aio_wait, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 05/22] test-aio: fix GSource-based timer test,
Kevin Wolf <=
- [Qemu-devel] [PULL for-2.1 04/22] block: drop aio functions that operate on the main AioContext, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 02/22] block: Fix bdrv_is_allocated() return value, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 06/22] AioContext: speed up aio_notify, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 09/22] qed: Make qiov match request size until backing file EOF, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 07/22] block: Make qiov match the request size until EOF, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 08/22] qcow2: Make qiov match request size until backing file EOF, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 10/22] block: Assert qiov length matches request length, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 16/22] tests: Fix unterminated string output visitor enum human string, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 11/22] virtio-blk: avoid dataplane VirtIOBlockReq early free, Kevin Wolf, 2014/07/10
- [Qemu-devel] [PULL for-2.1 12/22] dataplane: do not free VirtQueueElement in vring_push(), Kevin Wolf, 2014/07/10