kernel32/tests: Test deleting a timer right after creating it.
Francois Gouget
fgouget at codeweavers.com
Mon Nov 28 04:37:23 CST 2011
---
dlls/kernel32/tests/sync.c | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c
index 07bc2ca..0774b9f 100644
--- a/dlls/kernel32/tests/sync.c
+++ b/dlls/kernel32/tests/sync.c
@@ -647,8 +647,8 @@ static void CALLBACK timer_queue_cb6(PVOID p, BOOLEAN timedOut)
static void test_timer_queue(void)
{
- HANDLE q, t1, t2, t3, t4, t5;
- int n1, n2, n3, n4, n5;
+ HANDLE q, t0, t1, t2, t3, t4, t5;
+ int n0, n1, n2, n3, n4, n5;
struct timer_queue_data1 d1, d2, d3, d4;
HANDLE e, et1, et2;
BOOL ret;
@@ -674,6 +674,17 @@ static void test_timer_queue(void)
q = pCreateTimerQueue();
ok(q != NULL, "CreateTimerQueue\n");
+ /* Not called. */
+ t0 = NULL;
+ n0 = 0;
+ ret = pCreateTimerQueueTimer(&t0, q, timer_queue_cb1, &n0, 0,
+ 10000, 0);
+ ok(ret, "CreateTimerQueueTimer\n");
+ ok(t0 != NULL, "CreateTimerQueueTimer\n");
+ ret = pDeleteTimerQueueTimer(q, t0, NULL);
+ ok(!ret && GetLastError() == ERROR_IO_PENDING,
+ "DeleteTimerQueueTimer ret=%d le=%u\n", ret, GetLastError());
+
/* Called once. */
t1 = NULL;
n1 = 0;
@@ -727,6 +738,7 @@ static void test_timer_queue(void)
ret = pDeleteTimerQueueEx(q, INVALID_HANDLE_VALUE);
ok(ret, "DeleteTimerQueueEx\n");
+ ok(n0 == 0, "Timer callback 0\n");
ok(n1 == 1, "Timer callback 1\n");
ok(n2 < n3, "Timer callback 2 should be much slower than 3\n");
ok(n4 == 0, "Timer callback 4\n");
--
1.7.7.1
More information about the wine-patches
mailing list