tests:ges: Take TIMEOUT_FACTOR into account
authorThibault Saunier <tsaunier@igalia.com>
Fri, 5 Nov 2021 14:36:11 +0000 (11:36 -0300)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 5 Nov 2021 17:00:25 +0000 (17:00 +0000)
This env var is set in the CI so we grow the timeout as required
(when running in valgrind for example).

See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/15449209

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1315>

subprojects/gst-editing-services/tests/check/ges/mixers.c

index 15f7a4c..2bf57ee 100644 (file)
@@ -96,6 +96,8 @@ GST_START_TEST (simple_audio_mixed_with_pipeline)
   GESTrack *track;
   GESTimeline *timeline;
   GESPipeline *pipeline;
+  GstClockTime timeout = 5 * GST_SECOND;
+  const gchar *timeout_factor_str = g_getenv ("TIMEOUT_FACTOR");
 
   ges_init ();
 
@@ -132,11 +134,16 @@ GST_START_TEST (simple_audio_mixed_with_pipeline)
   g_signal_connect (bus, "message", (GCallback) message_received_cb, pipeline);
   fail_if (gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING)
       == GST_STATE_CHANGE_FAILURE);
-  message = gst_bus_timed_pop_filtered (bus, 5 * GST_SECOND,
+  if (timeout_factor_str) {
+    gint factor = g_ascii_strtoll (timeout_factor_str, NULL, 10);
+    if (factor)
+      timeout *= factor;
+  }
+  message = gst_bus_timed_pop_filtered (bus, timeout,
       GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR);
 
   if (message == NULL) {
-    fail_unless ("No message after 5 seconds" == NULL);
+    fail_unless ("Timed out" == NULL);
     goto done;
   } else if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ERROR)
     fail_error_message (message);