tests: allow more time for the test_many_bins pipeline to preroll
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Mon, 11 Apr 2011 11:04:34 +0000 (12:04 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Mon, 11 Apr 2011 11:04:34 +0000 (12:04 +0100)
Hopefully makes this test work on the OSX build bot and other
not-so-powerful machines.

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

tests/check/gst/gstbin.c

index ea942a9..bf0d206 100644 (file)
@@ -1137,11 +1137,15 @@ GST_START_TEST (test_many_bins)
   fail_unless (gst_element_link (last_bin, sink));
 
   ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
-  fail_unless (ret == GST_STATE_CHANGE_ASYNC, "did not get state change async");
+  fail_unless_equals_int (ret, GST_STATE_CHANGE_ASYNC);
 
-  ret = gst_element_get_state (pipeline, NULL, NULL, 5 * GST_SECOND);
-  fail_unless (ret == GST_STATE_CHANGE_SUCCESS,
-      "did not get state change success");
+  for (i = 0; i < 15; ++i) {
+    GST_INFO ("waiting for preroll ...");
+    ret = gst_element_get_state (pipeline, NULL, NULL, GST_SECOND);
+    if (ret != GST_STATE_CHANGE_ASYNC)
+      break;
+  }
+  fail_unless_equals_int (ret, GST_STATE_CHANGE_SUCCESS);
 
   gst_element_set_state (pipeline, GST_STATE_NULL);
   gst_object_unref (pipeline);