diff options
Diffstat (limited to 'glib/tests/timeout.c')
-rw-r--r-- | glib/tests/timeout.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c index acbb8f3e1..1ae3f3a34 100644 --- a/glib/tests/timeout.c +++ b/glib/tests/timeout.c @@ -20,6 +20,12 @@ unreachable_callback (gpointer data) } static void +unreachable_void_callback (gpointer data) +{ + g_assert_not_reached (); +} + +static void test_seconds (void) { guint id; @@ -52,6 +58,19 @@ test_seconds (void) } static void +test_seconds_once (void) +{ + /* Use the same principle as in test_seconds() */ + loop = g_main_loop_new (NULL, FALSE); + + g_timeout_add_once (2100, stop_waiting, NULL); + g_timeout_add_seconds_once (21475, unreachable_void_callback, NULL); + + g_main_loop_run (loop); + g_main_loop_unref (loop); +} + +static void test_weeks_overflow (void) { guint id; @@ -192,6 +211,7 @@ main (int argc, char *argv[]) g_test_init (&argc, &argv, NULL); g_test_add_func ("/timeout/seconds", test_seconds); + g_test_add_func ("/timeout/seconds-once", test_seconds_once); g_test_add_func ("/timeout/weeks-overflow", test_weeks_overflow); g_test_add_func ("/timeout/far-future-ready-time", test_far_future_ready_time); g_test_add_func ("/timeout/rounding", test_rounding); |