guix/gnu/packages/patches/glib-tests-timer.patch
Eric Bavier ca9ea1a849 gnu: glib: Fix build on i686.
* gnu/packages/patches/glib-tests-timer.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm: Use it.
2014-07-10 17:03:42 -05:00

27 lines
1.0 KiB
Diff

* On i686 floating-point roundoff errors could sometimes cause this check to
fail depending on the elapsed microseconds. Improve rounding by adding a
fractional bit.
* The /timer/stop test fails if compiler optimizations are enabled, which they
are by default. Disable that test.
--- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600
+++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500
@@ -35,7 +35,7 @@
elapsed = g_timer_elapsed (timer, &micros);
g_assert_cmpfloat (elapsed, <, 1.0);
- g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6)) % 1000000);
+ g_assert_cmpuint (micros, ==, ((guint64)(elapsed * 1e6 + 0.5)) % 1000000);
g_timer_destroy (timer);
}
@@ -204,7 +204,6 @@
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/timer/basic", test_timer_basic);
- g_test_add_func ("/timer/stop", test_timer_stop);
g_test_add_func ("/timer/continue", test_timer_continue);
g_test_add_func ("/timer/reset", test_timer_reset);
g_test_add_func ("/timeval/add", test_timeval_add);