#include #include #include #include #ifdef HAVE_UNISTD_H #include #endif #include #include #ifdef G_OS_WIN32 #include #define sleep(t) Sleep((t) * 1000) #endif #include "test.h" RESULT test_timer () { GTimer *timer; gdouble elapsed1, elapsed2; gulong usec = 0; timer = g_timer_new (); sleep (1); elapsed1 = g_timer_elapsed (timer, NULL); if ((elapsed1 + 0.1) < 1.0) return FAILED ("Elapsed time should be around 1s and was %f", elapsed1); g_timer_stop (timer); elapsed1 = g_timer_elapsed (timer, NULL); elapsed2 = g_timer_elapsed (timer, &usec); if (fabs (elapsed1 - elapsed2) > 0.000001) return FAILED ("The elapsed times are not equal %f - %f.", elapsed1, elapsed2); elapsed2 *= 1000000; while (elapsed2 > 1000000) elapsed2 -= 1000000; if (fabs (usec - elapsed2) > 100.0) return FAILED ("usecs are wrong."); g_timer_destroy (timer); return OK; } static Test timer_tests [] = { {"g_timer", test_timer}, {NULL, NULL} }; DEFINE_TEST_GROUP_INIT(timer_tests_init, timer_tests)