/mainloop/timeouts test: Reduce race condition
authorMartin Pitt <martinpitt@gnome.org>
Wed, 27 Jun 2012 09:46:28 +0000 (11:46 +0200)
committerMartin Pitt <martinpitt@gnome.org>
Wed, 27 Jun 2012 13:32:38 +0000 (15:32 +0200)
Due to load, particular traits of the architecture, or other circumstances, the
/mainloop/timeouts sometimes manages to call the "every
100 ms" timer loop only 9 times in 1050 ms.

This is an inherent race-condition in the test; allow it some slack and accept
9 times as well.

https://bugzilla.gnome.org/show_bug.cgi?id=678959

glib/tests/mainloop.c

index 3f0bcee..d064492 100644 (file)
@@ -179,7 +179,10 @@ test_timeouts (void)
 
   g_main_loop_run (loop);
 
-  g_assert_cmpint (a, ==, 10);
+  /* this is a race condition; under some circumstances we might not get 10
+   * 100ms runs in 1050 ms, so consider 9 as "close enough" */
+  g_assert_cmpint (a, >=, 9);
+  g_assert_cmpint (a, <=, 10);
   g_assert_cmpint (b, ==, 4);
   g_assert_cmpint (c, ==, 3);