diff options
Diffstat (limited to 'glib/tests/timer.c')
-rw-r--r-- | glib/tests/timer.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/glib/tests/timer.c b/glib/tests/timer.c index 3a2d1019c..be4cb957b 100644 --- a/glib/tests/timer.c +++ b/glib/tests/timer.c @@ -346,6 +346,29 @@ test_timeval_to_iso8601_overflow (void) g_assert_null (out); } +static void +test_usleep_with_zero_wait (void) +{ + GTimer *timer; + gdouble elapsed0, elapsed1; + + timer = g_timer_new (); + + g_timer_start (timer); + g_usleep (0); + elapsed0 = g_timer_elapsed (timer, NULL); + g_timer_stop (timer); + + g_timer_start (timer); + g_usleep (1); + elapsed1 = g_timer_elapsed (timer, NULL); + g_timer_stop (timer); + + g_assert_cmpfloat (elapsed0, <=, elapsed1); + + g_clear_pointer (&timer, g_timer_destroy); +} + int main (int argc, char *argv[]) { @@ -360,6 +383,7 @@ main (int argc, char *argv[]) g_test_add_func ("/timeval/from-iso8601", test_timeval_from_iso8601); g_test_add_func ("/timeval/to-iso8601", test_timeval_to_iso8601); g_test_add_func ("/timeval/to-iso8601/overflow", test_timeval_to_iso8601_overflow); + g_test_add_func ("/usleep/with-zero-wait", test_usleep_with_zero_wait); return g_test_run (); } |